rumai 3.2.2 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CREDITS +27 -5
- data/bin/rumai +12 -37
- data/lib/rumai/inochi.rb +8 -17
- data/lib/rumai/irb.rb +21 -0
- data/man.html +914 -0
- data/man/man1/rumai.1.gz +0 -0
- metadata +19 -94
- data/HISTORY +0 -350
- data/INSTALL +0 -33
- data/MANUAL +0 -26
- data/README +0 -92
- data/USAGE +0 -297
- data/doc/ann.xml +0 -61
- data/doc/api/IO.html +0 -119
- data/doc/api/Integer.html +0 -171
- data/doc/api/Rumai.html +0 -1540
- data/doc/api/Rumai/Area.html +0 -1485
- data/doc/api/Rumai/Chain.html +0 -301
- data/doc/api/Rumai/Client.html +0 -2451
- data/doc/api/Rumai/ClientContainer.html +0 -301
- data/doc/api/Rumai/ExportInstanceMethods.html +0 -103
- data/doc/api/Rumai/IXP.html +0 -94
- data/doc/api/Rumai/IXP/Agent.html +0 -1625
- data/doc/api/Rumai/IXP/Agent/FidStream.html +0 -959
- data/doc/api/Rumai/IXP/Agent/RangedPool.html +0 -381
- data/doc/api/Rumai/IXP/Error.html +0 -110
- data/doc/api/Rumai/IXP/Fcall.html +0 -503
- data/doc/api/Rumai/IXP/Qid.html +0 -207
- data/doc/api/Rumai/IXP/Rattach.html +0 -148
- data/doc/api/Rumai/IXP/Rauth.html +0 -148
- data/doc/api/Rumai/IXP/Rclunk.html +0 -148
- data/doc/api/Rumai/IXP/Rcreate.html +0 -148
- data/doc/api/Rumai/IXP/Rerror.html +0 -148
- data/doc/api/Rumai/IXP/Rflush.html +0 -148
- data/doc/api/Rumai/IXP/Ropen.html +0 -148
- data/doc/api/Rumai/IXP/Rread.html +0 -148
- data/doc/api/Rumai/IXP/Rremove.html +0 -148
- data/doc/api/Rumai/IXP/Rstat.html +0 -148
- data/doc/api/Rumai/IXP/Rversion.html +0 -148
- data/doc/api/Rumai/IXP/Rwalk.html +0 -148
- data/doc/api/Rumai/IXP/Rwrite.html +0 -148
- data/doc/api/Rumai/IXP/Rwstat.html +0 -148
- data/doc/api/Rumai/IXP/Stat.html +0 -335
- data/doc/api/Rumai/IXP/Stream.html +0 -194
- data/doc/api/Rumai/IXP/Struct.html +0 -586
- data/doc/api/Rumai/IXP/Struct/ClassField.html +0 -242
- data/doc/api/Rumai/IXP/Struct/Field.html +0 -782
- data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +0 -227
- data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +0 -153
- data/doc/api/Rumai/IXP/Struct/Integer8Field.html +0 -242
- data/doc/api/Rumai/IXP/Struct/StringField.html +0 -206
- data/doc/api/Rumai/IXP/Tattach.html +0 -148
- data/doc/api/Rumai/IXP/Tauth.html +0 -148
- data/doc/api/Rumai/IXP/Tclunk.html +0 -148
- data/doc/api/Rumai/IXP/Tcreate.html +0 -148
- data/doc/api/Rumai/IXP/Terror.html +0 -231
- data/doc/api/Rumai/IXP/Tflush.html +0 -148
- data/doc/api/Rumai/IXP/Topen.html +0 -240
- data/doc/api/Rumai/IXP/Tread.html +0 -148
- data/doc/api/Rumai/IXP/Tremove.html +0 -148
- data/doc/api/Rumai/IXP/Tstat.html +0 -148
- data/doc/api/Rumai/IXP/Tversion.html +0 -162
- data/doc/api/Rumai/IXP/Twalk.html +0 -148
- data/doc/api/Rumai/IXP/Twrite.html +0 -148
- data/doc/api/Rumai/IXP/Twstat.html +0 -148
- data/doc/api/Rumai/Node.html +0 -1406
- data/doc/api/Rumai/View.html +0 -1587
- data/doc/api/Rumai/WidgetImpl.html +0 -333
- data/doc/api/Rumai/WidgetNode.html +0 -246
- data/doc/api/String.html +0 -258
- data/doc/api/StringIO.html +0 -119
- data/doc/api/Time.html +0 -247
- data/doc/api/_index.html +0 -581
- data/doc/api/class_list.html +0 -36
- data/doc/api/css/common.css +0 -1
- data/doc/api/css/full_list.css +0 -50
- data/doc/api/css/style.css +0 -273
- data/doc/api/file.LICENSE.html +0 -73
- data/doc/api/file_list.html +0 -38
- data/doc/api/frames.html +0 -13
- data/doc/api/index.html +0 -73
- data/doc/api/js/app.js +0 -111
- data/doc/api/js/full_list.js +0 -117
- data/doc/api/js/jquery.js +0 -19
- data/doc/api/method_list.html +0 -1491
- data/doc/api/top-level-namespace.html +0 -89
- data/doc/index.html +0 -2655
- data/inochi.opts +0 -31
- data/test/rumai/ixp/message_test.rb +0 -245
- data/test/runner +0 -25
- data/test/test_helper.rb +0 -1
data/inochi.opts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
##
|
|
2
|
-
# Location where project documentation will be uploaded by `inochi pub:doc`.
|
|
3
|
-
# This value can utilize any remote/destination syntax supported by `rsync`.
|
|
4
|
-
#
|
|
5
|
-
:pub_doc_target: ~/www/lib/rumai
|
|
6
|
-
|
|
7
|
-
##
|
|
8
|
-
# Options for the `rsync` command used to upload this project's documentation.
|
|
9
|
-
#
|
|
10
|
-
:pub_doc_options: --verbose --compress --archive --update --delete
|
|
11
|
-
|
|
12
|
-
##
|
|
13
|
-
# Arbitrary Ruby code that will configure this project's RubyGem before it
|
|
14
|
-
# is built by `inochi gem`. This code has access to a local variable named
|
|
15
|
-
# `gem` which holds a Gem::Specification object representing this project.
|
|
16
|
-
#
|
|
17
|
-
# @example
|
|
18
|
-
#
|
|
19
|
-
# :gem_spec_logic: |
|
|
20
|
-
# # show the Inochi-provided specification for this project's RubyGem
|
|
21
|
-
# puts gem
|
|
22
|
-
#
|
|
23
|
-
# # add files that are outside this project directory to the RubyGem
|
|
24
|
-
# gem.files += FileList['/some/outside/**/*.files']
|
|
25
|
-
#
|
|
26
|
-
# # omit some files in this project's directory from the RubyGem
|
|
27
|
-
# gem.files.exclude '{some*files,in_this,project/**/directory}'
|
|
28
|
-
#
|
|
29
|
-
# # and so on... anything is possible! use your imagination!
|
|
30
|
-
#
|
|
31
|
-
:gem_spec_logic: |
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
require 'rumai/fs'
|
|
2
|
-
require 'pp' if $DEBUG
|
|
3
|
-
|
|
4
|
-
D 'IXP' do
|
|
5
|
-
extend Rumai::IXP
|
|
6
|
-
|
|
7
|
-
D .<< do
|
|
8
|
-
# connect to the wmii IXP server
|
|
9
|
-
@conn = UNIXSocket.new(Rumai::IXP_SOCK_ADDR)
|
|
10
|
-
|
|
11
|
-
# at_exit do
|
|
12
|
-
# puts "just making sure there is no more data in the pipe"
|
|
13
|
-
# while c = @conn.getc
|
|
14
|
-
# puts c
|
|
15
|
-
# end
|
|
16
|
-
# end
|
|
17
|
-
|
|
18
|
-
D 'establish a new session' do
|
|
19
|
-
request, response = talk(Tversion,
|
|
20
|
-
:tag => Fcall::NOTAG,
|
|
21
|
-
:msize => Tversion::MSIZE,
|
|
22
|
-
:version => Tversion::VERSION
|
|
23
|
-
)
|
|
24
|
-
T { response.type == Rversion.type }
|
|
25
|
-
T { response.version == request.version }
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
D 'can read a directory' do
|
|
30
|
-
D 'attach to FS root' do
|
|
31
|
-
request, response = talk(Tattach,
|
|
32
|
-
:tag => 0,
|
|
33
|
-
:fid => 0,
|
|
34
|
-
:afid => Fcall::NOFID,
|
|
35
|
-
:uname => ENV['USER'],
|
|
36
|
-
:aname => ''
|
|
37
|
-
)
|
|
38
|
-
T { response.type == Rattach.type }
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
D 'stat FS root' do
|
|
42
|
-
request, response = talk(Tstat,
|
|
43
|
-
:tag => 0,
|
|
44
|
-
:fid => 0
|
|
45
|
-
)
|
|
46
|
-
T { response.type == Rstat.type }
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
D 'open the FS root for reading' do
|
|
50
|
-
request, response = talk(Topen,
|
|
51
|
-
:tag => 0,
|
|
52
|
-
:fid => 0,
|
|
53
|
-
:mode => Topen::OREAD
|
|
54
|
-
)
|
|
55
|
-
T { response.type == Ropen.type }
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
D 'fetch a Stat for every file in FS root' do
|
|
59
|
-
request, response = talk(Tread,
|
|
60
|
-
:tag => 0,
|
|
61
|
-
:fid => 0,
|
|
62
|
-
:offset => 0,
|
|
63
|
-
:count => Tversion::MSIZE
|
|
64
|
-
)
|
|
65
|
-
T { response.type == Rread.type }
|
|
66
|
-
|
|
67
|
-
if $DEBUG
|
|
68
|
-
s = StringIO.new(response.data, 'r')
|
|
69
|
-
a = []
|
|
70
|
-
|
|
71
|
-
until s.eof?
|
|
72
|
-
t = Stat.from_9p(s)
|
|
73
|
-
a << t
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
pp a
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
D 'close the fid for FS root' do
|
|
81
|
-
request, response = talk(Tclunk,
|
|
82
|
-
:tag => 0,
|
|
83
|
-
:fid => 0
|
|
84
|
-
)
|
|
85
|
-
T { response.type == Rclunk.type }
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
D 'closed fid should not be readable' do
|
|
89
|
-
request, response = talk(Tread,
|
|
90
|
-
:tag => 0,
|
|
91
|
-
:fid => 0,
|
|
92
|
-
:offset => 0,
|
|
93
|
-
:count => Tversion::MSIZE
|
|
94
|
-
)
|
|
95
|
-
T { response.type == Rerror.type }
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
D 'can read & write a file' do
|
|
100
|
-
D 'attach to /' do
|
|
101
|
-
request, response = talk(Tattach,
|
|
102
|
-
:tag => 0,
|
|
103
|
-
:fid => 0,
|
|
104
|
-
:afid => Fcall::NOFID,
|
|
105
|
-
:uname => ENV['USER'],
|
|
106
|
-
:aname => ''
|
|
107
|
-
)
|
|
108
|
-
T { response.type == Rattach.type }
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
file = %W[rbar temp#{$$}]
|
|
112
|
-
root = file[0..-2]
|
|
113
|
-
leaf = file.last
|
|
114
|
-
|
|
115
|
-
D "walk to #{root.inspect}" do
|
|
116
|
-
request, response = talk(Twalk,
|
|
117
|
-
:tag => 0,
|
|
118
|
-
:fid => 0,
|
|
119
|
-
:newfid => 1,
|
|
120
|
-
:wname => root
|
|
121
|
-
)
|
|
122
|
-
T { response.type == Rwalk.type }
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
D "create #{leaf.inspect}" do
|
|
126
|
-
request, response = talk(Tcreate,
|
|
127
|
-
:tag => 0,
|
|
128
|
-
:fid => 1,
|
|
129
|
-
:name => leaf,
|
|
130
|
-
:perm => 0644,
|
|
131
|
-
:mode => Topen::ORDWR
|
|
132
|
-
)
|
|
133
|
-
T { response.type == Rcreate.type }
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
D "close the fid for #{root.inspect}" do
|
|
137
|
-
request, response = talk(Tclunk,
|
|
138
|
-
:tag => 0,
|
|
139
|
-
:fid => 1
|
|
140
|
-
)
|
|
141
|
-
T { response.type == Rclunk.type }
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
D "walk to #{file.inspect} from /" do
|
|
145
|
-
request, response = talk(Twalk,
|
|
146
|
-
:tag => 0,
|
|
147
|
-
:fid => 0,
|
|
148
|
-
:newfid => 1,
|
|
149
|
-
:wname => file
|
|
150
|
-
)
|
|
151
|
-
T { response.type == Rwalk.type }
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
D 'close the fid for /' do
|
|
155
|
-
request, response = talk(Tclunk,
|
|
156
|
-
:tag => 0,
|
|
157
|
-
:fid => 0
|
|
158
|
-
)
|
|
159
|
-
T { response.type == Rclunk.type }
|
|
160
|
-
end
|
|
161
|
-
|
|
162
|
-
D "open #{file.inspect} for writing" do
|
|
163
|
-
request, response = talk(Topen,
|
|
164
|
-
:tag => 0,
|
|
165
|
-
:fid => 1,
|
|
166
|
-
:mode => Topen::ORDWR
|
|
167
|
-
)
|
|
168
|
-
T { response.type == Ropen.type }
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
D "write to #{file.inspect}" do
|
|
172
|
-
write_request, write_response = talk(Twrite,
|
|
173
|
-
:tag => 0,
|
|
174
|
-
:fid => 1,
|
|
175
|
-
:offset => 0,
|
|
176
|
-
:data => "#a1a2a3 #b1b2b3 #c1c2c3 hello world!!!"
|
|
177
|
-
)
|
|
178
|
-
T { write_response.type == Rwrite.type }
|
|
179
|
-
T { write_response.count == write_request.data.length }
|
|
180
|
-
|
|
181
|
-
D "verify the write" do
|
|
182
|
-
read_request, read_response = talk(Tread,
|
|
183
|
-
:tag => 0,
|
|
184
|
-
:fid => 1,
|
|
185
|
-
:offset => 0,
|
|
186
|
-
:count => write_response.count
|
|
187
|
-
)
|
|
188
|
-
T { read_response.type == Rread.type }
|
|
189
|
-
T { read_response.data == write_request.data }
|
|
190
|
-
end
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
D "remove #{file.inspect}" do
|
|
194
|
-
request, response = talk(Tremove,
|
|
195
|
-
:tag => 0,
|
|
196
|
-
:fid => 1
|
|
197
|
-
)
|
|
198
|
-
T { response.type == Rremove.type }
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
D "fid for #{file.inspect} should have been closed by Tremove" do
|
|
202
|
-
request, response = talk(Tclunk,
|
|
203
|
-
:tag => 0,
|
|
204
|
-
:fid => 1
|
|
205
|
-
)
|
|
206
|
-
T { response.type == Rerror.type }
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
|
|
210
|
-
##
|
|
211
|
-
# Transmits the given request and returns the received response.
|
|
212
|
-
#
|
|
213
|
-
def talk request_type, request_options
|
|
214
|
-
request = request_type.new(request_options)
|
|
215
|
-
|
|
216
|
-
# send the request
|
|
217
|
-
if $DEBUG
|
|
218
|
-
puts
|
|
219
|
-
pp request
|
|
220
|
-
pp request.to_9p
|
|
221
|
-
end
|
|
222
|
-
|
|
223
|
-
@conn << request.to_9p
|
|
224
|
-
|
|
225
|
-
# receive the response
|
|
226
|
-
response = Fcall.from_9p(@conn)
|
|
227
|
-
|
|
228
|
-
if $DEBUG
|
|
229
|
-
puts
|
|
230
|
-
pp response
|
|
231
|
-
pp response.to_9p
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
if response.type == Rerror.type
|
|
235
|
-
T { response.kind_of? Rerror }
|
|
236
|
-
else
|
|
237
|
-
T { response.type == request.type + 1 }
|
|
238
|
-
end
|
|
239
|
-
|
|
240
|
-
T { response.tag == request.tag }
|
|
241
|
-
|
|
242
|
-
# return the conversation
|
|
243
|
-
[request, response]
|
|
244
|
-
end
|
|
245
|
-
end
|
data/test/runner
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
#
|
|
3
|
-
# Adds the project library directory
|
|
4
|
-
# and this test directory to Ruby's
|
|
5
|
-
# load path and runs the given tests.
|
|
6
|
-
#
|
|
7
|
-
# Usage: ruby test/runner [TESTS_TO_RUN]
|
|
8
|
-
#
|
|
9
|
-
# Where: TESTS_TO_RUN is a list of files
|
|
10
|
-
# or file globbing patterns that
|
|
11
|
-
# describe a set of files to run.
|
|
12
|
-
#
|
|
13
|
-
# If this parameter is not given,
|
|
14
|
-
# all *_test.rb files within or
|
|
15
|
-
# beneath this directory are run.
|
|
16
|
-
|
|
17
|
-
lib_dir = File.expand_path('../../lib', __FILE__)
|
|
18
|
-
test_dir = File.expand_path('..', __FILE__)
|
|
19
|
-
$LOAD_PATH.unshift lib_dir, test_dir
|
|
20
|
-
|
|
21
|
-
require 'rumai/inochi'
|
|
22
|
-
require 'test_helper'
|
|
23
|
-
|
|
24
|
-
ARGV << "#{test_dir}/**/*_test.rb" if ARGV.empty?
|
|
25
|
-
ARGV.each {|glob| Dir[glob].each {|test| load test } }
|
data/test/test_helper.rb
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Rumai.require 'dfect/auto'
|