stella 0.5.5 → 0.6.0

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.
Files changed (110) hide show
  1. data/CHANGES.txt +73 -0
  2. data/LICENSE.txt +19 -0
  3. data/README.rdoc +85 -0
  4. data/Rakefile +54 -59
  5. data/bin/example_test.rb +82 -0
  6. data/bin/example_webapp.rb +63 -0
  7. data/lib/{stella/logger.rb → logger.rb} +6 -11
  8. data/lib/stella.rb +76 -58
  9. data/lib/stella/clients.rb +161 -0
  10. data/lib/stella/command/base.rb +4 -24
  11. data/lib/stella/command/form.rb +36 -0
  12. data/lib/stella/command/get.rb +44 -0
  13. data/lib/stella/common.rb +53 -0
  14. data/lib/stella/crypto.rb +88 -0
  15. data/lib/stella/data/domain.rb +2 -2
  16. data/lib/stella/data/http.rb +155 -27
  17. data/lib/stella/environment.rb +66 -0
  18. data/lib/stella/functest.rb +105 -0
  19. data/lib/stella/loadtest.rb +186 -0
  20. data/lib/{utils → stella}/stats.rb +16 -20
  21. data/lib/stella/testplan.rb +237 -0
  22. data/lib/stella/testrunner.rb +64 -0
  23. data/lib/storable.rb +280 -0
  24. data/lib/threadify.rb +171 -0
  25. data/lib/timeunits.rb +65 -0
  26. data/lib/util/httputil.rb +266 -0
  27. data/stella.gemspec +69 -0
  28. data/tryouts/drb/drb_test.rb +65 -0
  29. data/tryouts/drb/open4.rb +19 -0
  30. data/tryouts/drb/slave.rb +27 -0
  31. data/tryouts/oo_tryout.rb +30 -0
  32. metadata +44 -138
  33. data/README.textile +0 -162
  34. data/bin/stella +0 -12
  35. data/bin/stella.bat +0 -12
  36. data/lib/daemonize.rb +0 -56
  37. data/lib/pcaplet.rb +0 -180
  38. data/lib/stella/adapter/ab.rb +0 -337
  39. data/lib/stella/adapter/base.rb +0 -106
  40. data/lib/stella/adapter/httperf.rb +0 -305
  41. data/lib/stella/adapter/pcap_watcher.rb +0 -221
  42. data/lib/stella/adapter/proxy_watcher.rb +0 -76
  43. data/lib/stella/adapter/siege.rb +0 -341
  44. data/lib/stella/cli.rb +0 -258
  45. data/lib/stella/cli/agents.rb +0 -73
  46. data/lib/stella/cli/base.rb +0 -55
  47. data/lib/stella/cli/language.rb +0 -18
  48. data/lib/stella/cli/localtest.rb +0 -78
  49. data/lib/stella/cli/sysinfo.rb +0 -16
  50. data/lib/stella/cli/watch.rb +0 -278
  51. data/lib/stella/command/localtest.rb +0 -358
  52. data/lib/stella/response.rb +0 -85
  53. data/lib/stella/storable.rb +0 -204
  54. data/lib/stella/support.rb +0 -276
  55. data/lib/stella/sysinfo.rb +0 -257
  56. data/lib/stella/test/definition.rb +0 -79
  57. data/lib/stella/test/run/summary.rb +0 -70
  58. data/lib/stella/test/stats.rb +0 -114
  59. data/lib/stella/text.rb +0 -64
  60. data/lib/stella/text/resource.rb +0 -38
  61. data/lib/utils/crypto-key.rb +0 -84
  62. data/lib/utils/domainutil.rb +0 -47
  63. data/lib/utils/escape.rb +0 -302
  64. data/lib/utils/fileutil.rb +0 -78
  65. data/lib/utils/httputil.rb +0 -266
  66. data/lib/utils/mathutil.rb +0 -15
  67. data/lib/utils/textgraph.rb +0 -267
  68. data/lib/utils/timerutil.rb +0 -58
  69. data/lib/win32/Console.rb +0 -970
  70. data/lib/win32/Console/ANSI.rb +0 -305
  71. data/support/kvm.h +0 -91
  72. data/support/ruby-pcap-takuma-notes.txt +0 -19
  73. data/support/ruby-pcap-takuma-patch.txt +0 -30
  74. data/support/text/en.yaml +0 -80
  75. data/support/text/nl.yaml +0 -7
  76. data/support/useragents.txt +0 -75
  77. data/tests/01-util_test.rb +0 -0
  78. data/tests/02-stella-util_test.rb +0 -42
  79. data/tests/10-stella_test.rb +0 -104
  80. data/tests/11-stella-storable_test.rb +0 -68
  81. data/tests/60-stella-command_test.rb +0 -248
  82. data/tests/80-stella-cli_test.rb +0 -45
  83. data/tests/spec-helper.rb +0 -31
  84. data/vendor/drydock/LICENSE.txt +0 -22
  85. data/vendor/drydock/README.textile +0 -57
  86. data/vendor/drydock/bin/example +0 -170
  87. data/vendor/drydock/drydock.gemspec +0 -18
  88. data/vendor/drydock/lib/drydock.rb +0 -232
  89. data/vendor/drydock/lib/drydock/exceptions.rb +0 -24
  90. data/vendor/drydock/test/command_test.rb +0 -33
  91. data/vendor/useragent/MIT-LICENSE +0 -20
  92. data/vendor/useragent/README +0 -21
  93. data/vendor/useragent/init.rb +0 -1
  94. data/vendor/useragent/lib/user_agent.rb +0 -83
  95. data/vendor/useragent/lib/user_agent/browsers.rb +0 -24
  96. data/vendor/useragent/lib/user_agent/browsers/all.rb +0 -69
  97. data/vendor/useragent/lib/user_agent/browsers/gecko.rb +0 -43
  98. data/vendor/useragent/lib/user_agent/browsers/internet_explorer.rb +0 -40
  99. data/vendor/useragent/lib/user_agent/browsers/opera.rb +0 -49
  100. data/vendor/useragent/lib/user_agent/browsers/webkit.rb +0 -94
  101. data/vendor/useragent/lib/user_agent/comparable.rb +0 -25
  102. data/vendor/useragent/lib/user_agent/operating_systems.rb +0 -19
  103. data/vendor/useragent/spec/browsers/gecko_user_agent_spec.rb +0 -209
  104. data/vendor/useragent/spec/browsers/internet_explorer_user_agent_spec.rb +0 -99
  105. data/vendor/useragent/spec/browsers/opera_user_agent_spec.rb +0 -59
  106. data/vendor/useragent/spec/browsers/other_user_agent_spec.rb +0 -19
  107. data/vendor/useragent/spec/browsers/webkit_user_agent_spec.rb +0 -373
  108. data/vendor/useragent/spec/spec_helper.rb +0 -1
  109. data/vendor/useragent/spec/user_agent_spec.rb +0 -331
  110. data/vendor/useragent/useragent.gemspec +0 -12
@@ -1 +0,0 @@
1
- require File.dirname(__FILE__) + '/../init.rb'
@@ -1,331 +0,0 @@
1
- require File.dirname(__FILE__) + '/spec_helper.rb'
2
-
3
- describe UserAgent do
4
- it "should require a product" do
5
- lambda { UserAgent.new(nil) }.should raise_error(ArgumentError, "expected a value for product")
6
- end
7
-
8
- it "should split comment to any array if a string is passed in" do
9
- useragent = UserAgent.new("Mozilla", "5.0", "Macintosh; U; Intel Mac OS X 10_5_3; en-us")
10
- useragent.comment.should == ["Macintosh", "U", "Intel Mac OS X 10_5_3", "en-us"]
11
- end
12
-
13
- it "should set version to nil if it is blank" do
14
- UserAgent.new("Mozilla", "").version.should be_nil
15
- end
16
-
17
- it "should only output product when coerced to a string" do
18
- UserAgent.new("Mozilla").to_str.should == "Mozilla"
19
- end
20
-
21
- it "should output product and version when coerced to a string" do
22
- UserAgent.new("Mozilla", "5.0").to_str.should == "Mozilla/5.0"
23
- end
24
-
25
- it "should output product, version and comment when coerced to a string" do
26
- useragent = UserAgent.new("Mozilla", "5.0", ["Macintosh", "U", "Intel Mac OS X 10_5_3", "en-us"])
27
- useragent.to_str.should == "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_3; en-us)"
28
- end
29
-
30
- it "should output product and comment when coerced to a string" do
31
- useragent = UserAgent.new("Mozilla", nil, ["Macintosh"])
32
- useragent.to_str.should == "Mozilla (Macintosh)"
33
- end
34
-
35
- it "should be eql if both products are the same" do
36
- UserAgent.new("Mozilla").should eql(UserAgent.new("Mozilla"))
37
- end
38
-
39
- it "should not be eql if both products are the same" do
40
- UserAgent.new("Mozilla").should_not eql(UserAgent.new("Opera"))
41
- end
42
-
43
- it "should be eql if both products and versions are the same" do
44
- UserAgent.new("Mozilla", "5.0").should eql(UserAgent.new("Mozilla", "5.0"))
45
- end
46
-
47
- it "should not be eql if both products and versions are not the same" do
48
- UserAgent.new("Mozilla", "5.0").should_not eql(UserAgent.new("Mozilla", "4.0"))
49
- end
50
-
51
- it "should be eql if both products, versions and comments are the same" do
52
- UserAgent.new("Mozilla", "5.0", ["Macintosh"]).should eql(UserAgent.new("Mozilla", "5.0", ["Macintosh"]))
53
- end
54
-
55
- it "should not be eql if both products, versions and comments are not the same" do
56
- UserAgent.new("Mozilla", "5.0", ["Macintosh"]).should_not eql(UserAgent.new("Mozilla", "5.0", ["Windows"]))
57
- end
58
-
59
- it "should not be eql if both products, versions and comments are not the same" do
60
- UserAgent.new("Mozilla", "5.0", ["Macintosh"]).should_not eql(UserAgent.new("Mozilla", "4.0", ["Macintosh"]))
61
- end
62
-
63
- it "should not be equal? if both products are the same" do
64
- UserAgent.new("Mozilla").should_not equal(UserAgent.new("Mozilla"))
65
- end
66
-
67
- it "should be == if products are the same" do
68
- UserAgent.new("Mozilla").should == UserAgent.new("Mozilla")
69
- end
70
-
71
- it "should be == if products and versions are the same" do
72
- UserAgent.new("Mozilla", "5.0").should == UserAgent.new("Mozilla", "5.0")
73
- end
74
-
75
- it "should not be == if products and versions are the different" do
76
- UserAgent.new("Mozilla", "5.0").should_not == UserAgent.new("Mozilla", "4.0")
77
- end
78
-
79
- it "should return false if comparing different products" do
80
- UserAgent.new("Mozilla").should_not <= UserAgent.new("Opera")
81
- end
82
-
83
- it "should not be > if products are the same" do
84
- UserAgent.new("Mozilla").should_not > UserAgent.new("Mozilla")
85
- end
86
-
87
- it "should not be < if products are the same" do
88
- UserAgent.new("Mozilla").should_not < UserAgent.new("Mozilla")
89
- end
90
-
91
- it "should be >= if products are the same" do
92
- UserAgent.new("Mozilla").should >= UserAgent.new("Mozilla")
93
- end
94
-
95
- it "should be <= if products are the same" do
96
- UserAgent.new("Mozilla").should <= UserAgent.new("Mozilla")
97
- end
98
-
99
- it "should be > if products are the same and version is greater" do
100
- UserAgent.new("Mozilla", "5.0").should > UserAgent.new("Mozilla", "4.0")
101
- end
102
-
103
- it "should not be > if products are the same and version is less" do
104
- UserAgent.new("Mozilla", "4.0").should_not > UserAgent.new("Mozilla", "5.0")
105
- end
106
-
107
- it "should be < if products are the same and version is less" do
108
- UserAgent.new("Mozilla", "4.0").should < UserAgent.new("Mozilla", "5.0")
109
- end
110
-
111
- it "should not be < if products are the same and version is greater" do
112
- UserAgent.new("Mozilla", "5.0").should_not < UserAgent.new("Mozilla", "4.0")
113
- end
114
-
115
- it "should be >= if products are the same and version is greater" do
116
- UserAgent.new("Mozilla", "5.0").should >= UserAgent.new("Mozilla", "4.0")
117
- end
118
-
119
- it "should not be >= if products are the same and version is less" do
120
- UserAgent.new("Mozilla", "4.0").should_not >= UserAgent.new("Mozilla", "5.0")
121
- end
122
-
123
- it "should be <= if products are the same and version is less" do
124
- UserAgent.new("Mozilla", "4.0").should <= UserAgent.new("Mozilla", "5.0")
125
- end
126
-
127
- it "should not be <= if products are the same and version is greater" do
128
- UserAgent.new("Mozilla", "5.0").should_not <= UserAgent.new("Mozilla", "4.0")
129
- end
130
-
131
- it "should be >= if products are the same and version is the same" do
132
- UserAgent.new("Mozilla", "5.0").should >= UserAgent.new("Mozilla", "5.0")
133
- end
134
-
135
- it "should be <= if products are the same and version is the same" do
136
- UserAgent.new("Mozilla", "5.0").should <= UserAgent.new("Mozilla", "5.0")
137
- end
138
- end
139
-
140
- describe UserAgent, "::MATCHER" do
141
- it "should not match a blank line" do
142
- UserAgent::MATCHER.should_not =~ ""
143
- end
144
-
145
- it "should match a single product" do
146
- UserAgent::MATCHER.should =~ "Mozilla"
147
- end
148
-
149
- it "should match a product and version" do
150
- UserAgent::MATCHER.should =~ "Mozilla/5.0"
151
- end
152
-
153
- it "should match a product, version, and comment" do
154
- UserAgent::MATCHER.should =~ "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_3; en-us)"
155
- end
156
-
157
- it "should match a product, and comment" do
158
- UserAgent::MATCHER.should =~ "Mozilla (Macintosh; U; Intel Mac OS X 10_5_3; en-us)"
159
- end
160
- end
161
-
162
- describe UserAgent, ".parse" do
163
- it "should concatenate user agents when coerced to a string" do
164
- string = UserAgent.parse("Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_3; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.18")
165
- string.to_str.should == "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_3; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.18"
166
- end
167
-
168
- it "should parse an empty string" do
169
- UserAgent.parse("").should be_empty
170
- end
171
-
172
- it "should parse a single product" do
173
- useragent = UserAgent.new("Mozilla")
174
- UserAgent.parse("Mozilla").application.should == useragent
175
- end
176
-
177
- it "should parse a single product with version" do
178
- useragent = UserAgent.new("Mozilla", "5.0")
179
- UserAgent.parse("Mozilla/5.0").application.should == useragent
180
- end
181
-
182
- it "should parse a single product, version, and comment" do
183
- useragent = UserAgent.new("Mozilla", "5.0", ["Macintosh", "U", "Intel Mac OS X 10_5_3", "en-us"])
184
- UserAgent.parse("Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_3; en-us)").application.should == useragent
185
- end
186
-
187
- it "should parse a single product and comment" do
188
- useragent = UserAgent.new("Mozilla", nil, ["Macintosh"])
189
- UserAgent.parse("Mozilla (Macintosh)").application.should == useragent
190
- end
191
- end
192
-
193
- describe UserAgent::Browsers::All, "#<" do
194
- before do
195
- @ie_7 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)")
196
- @ie_6 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)")
197
- @firefox = UserAgent.parse("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14")
198
- end
199
-
200
- it "should not be < if user agent does not have a browser" do
201
- @ie_7.should_not < "Mozilla"
202
- end
203
-
204
- it "should not be < if user agent does not have the same browser" do
205
- @ie_7.should_not < @firefox
206
- end
207
-
208
- it "should be < if version is less than its version" do
209
- @ie_6.should < @ie_7
210
- end
211
-
212
- it "should not be < if version is the same as its version" do
213
- @ie_6.should_not < @ie_6
214
- end
215
-
216
- it "should not be < if version is greater than its version" do
217
- @ie_7.should_not < @ie_6
218
- end
219
- end
220
-
221
- describe UserAgent::Browsers::All, "#<=" do
222
- before do
223
- @ie_7 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)")
224
- @ie_6 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)")
225
- @firefox = UserAgent.parse("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14")
226
- end
227
-
228
- it "should not be <= if user agent does not have a browser" do
229
- @ie_7.should_not <= "Mozilla"
230
- end
231
-
232
- it "should not be <= if user agent does not have the same browser" do
233
- @ie_7.should_not <= @firefox
234
- end
235
-
236
- it "should be <= if version is less than its version" do
237
- @ie_6.should <= @ie_7
238
- end
239
-
240
- it "should be <= if version is the same as its version" do
241
- @ie_6.should <= @ie_6
242
- end
243
-
244
- it "should not be <= if version is greater than its version" do
245
- @ie_7.should_not <= @ie_6
246
- end
247
- end
248
-
249
- describe UserAgent::Browsers::All, "#==" do
250
- before do
251
- @ie_7 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)")
252
- @ie_6 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)")
253
- @firefox = UserAgent.parse("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14")
254
- end
255
-
256
- it "should not be == if user agent does not have a browser" do
257
- @ie_7.should_not == "Mozilla"
258
- end
259
-
260
- it "should not be == if user agent does not have the same browser" do
261
- @ie_7.should_not == @firefox
262
- end
263
-
264
- it "should not be == if version is less than its version" do
265
- @ie_6.should_not == @ie_7
266
- end
267
-
268
- it "should be == if version is the same as its version" do
269
- @ie_6.should == @ie_6
270
- end
271
-
272
- it "should not be == if version is greater than its version" do
273
- @ie_7.should_not == @ie_6
274
- end
275
- end
276
-
277
- describe UserAgent::Browsers::All, "#>" do
278
- before do
279
- @ie_7 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)")
280
- @ie_6 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)")
281
- @firefox = UserAgent.parse("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14")
282
- end
283
-
284
- it "should not be > if user agent does not have a browser" do
285
- @ie_7.should_not > "Mozilla"
286
- end
287
-
288
- it "should not be > if user agent does not have the same browser" do
289
- @ie_7.should_not > @firefox
290
- end
291
-
292
- it "should not be > if version is less than its version" do
293
- @ie_6.should_not > @ie_7
294
- end
295
-
296
- it "should not be > if version is the same as its version" do
297
- @ie_6.should_not > @ie_6
298
- end
299
-
300
- it "should be > if version is greater than its version" do
301
- @ie_7.should > @ie_6
302
- end
303
- end
304
-
305
- describe UserAgent::Browsers::All, "#>=" do
306
- before do
307
- @ie_7 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)")
308
- @ie_6 = UserAgent.parse("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)")
309
- @firefox = UserAgent.parse("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14")
310
- end
311
-
312
- it "should not be >= if user agent does not have a browser" do
313
- @ie_7.should_not >= "Mozilla"
314
- end
315
-
316
- it "should not be >= if user agent does not have the same browser" do
317
- @ie_7.should_not >= @firefox
318
- end
319
-
320
- it "should not be >= if version is less than its version" do
321
- @ie_6.should_not >= @ie_7
322
- end
323
-
324
- it "should be >= if version is the same as its version" do
325
- @ie_6.should >= @ie_6
326
- end
327
-
328
- it "should be >= if version is greater than its version" do
329
- @ie_7.should >= @ie_6
330
- end
331
- end
@@ -1,12 +0,0 @@
1
- Gem::Specification.new do |s|
2
- s.name = "useragent"
3
- s.version = "0.0.1"
4
- s.date = "2008-07-27"
5
- s.summary = "HTTP User Agent parser"
6
- s.email = "josh@joshpeek.com"
7
- s.homepage = "http://github.com/josh/useragent"
8
- s.description = "UserAgent is a Ruby library that parses and compares HTTP User Agents."
9
- s.has_rdoc = false
10
- s.authors = ["Joshua Peek"]
11
- s.files = Dir["README", "MIT-LICENSE", "lib/**/*"]
12
- end