stella 0.5.5 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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