solutious-stella 0.5.5

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 (60) hide show
  1. data/CHANGES.txt +36 -0
  2. data/README.textile +162 -0
  3. data/Rakefile +88 -0
  4. data/bin/stella +12 -0
  5. data/bin/stella.bat +12 -0
  6. data/lib/daemonize.rb +56 -0
  7. data/lib/pcaplet.rb +180 -0
  8. data/lib/stella.rb +101 -0
  9. data/lib/stella/adapter/ab.rb +337 -0
  10. data/lib/stella/adapter/base.rb +106 -0
  11. data/lib/stella/adapter/httperf.rb +305 -0
  12. data/lib/stella/adapter/pcap_watcher.rb +221 -0
  13. data/lib/stella/adapter/proxy_watcher.rb +76 -0
  14. data/lib/stella/adapter/siege.rb +341 -0
  15. data/lib/stella/cli.rb +258 -0
  16. data/lib/stella/cli/agents.rb +73 -0
  17. data/lib/stella/cli/base.rb +55 -0
  18. data/lib/stella/cli/language.rb +18 -0
  19. data/lib/stella/cli/localtest.rb +78 -0
  20. data/lib/stella/cli/sysinfo.rb +16 -0
  21. data/lib/stella/cli/watch.rb +278 -0
  22. data/lib/stella/command/base.rb +40 -0
  23. data/lib/stella/command/localtest.rb +358 -0
  24. data/lib/stella/data/domain.rb +82 -0
  25. data/lib/stella/data/http.rb +131 -0
  26. data/lib/stella/logger.rb +84 -0
  27. data/lib/stella/response.rb +85 -0
  28. data/lib/stella/storable.rb +201 -0
  29. data/lib/stella/support.rb +276 -0
  30. data/lib/stella/sysinfo.rb +257 -0
  31. data/lib/stella/test/definition.rb +79 -0
  32. data/lib/stella/test/run/summary.rb +70 -0
  33. data/lib/stella/test/stats.rb +114 -0
  34. data/lib/stella/text.rb +64 -0
  35. data/lib/stella/text/resource.rb +38 -0
  36. data/lib/utils/crypto-key.rb +84 -0
  37. data/lib/utils/domainutil.rb +47 -0
  38. data/lib/utils/escape.rb +302 -0
  39. data/lib/utils/fileutil.rb +78 -0
  40. data/lib/utils/httputil.rb +266 -0
  41. data/lib/utils/mathutil.rb +15 -0
  42. data/lib/utils/stats.rb +88 -0
  43. data/lib/utils/textgraph.rb +267 -0
  44. data/lib/utils/timerutil.rb +58 -0
  45. data/lib/win32/Console.rb +970 -0
  46. data/lib/win32/Console/ANSI.rb +305 -0
  47. data/support/kvm.h +91 -0
  48. data/support/ruby-pcap-takuma-notes.txt +19 -0
  49. data/support/ruby-pcap-takuma-patch.txt +30 -0
  50. data/support/text/en.yaml +80 -0
  51. data/support/text/nl.yaml +7 -0
  52. data/support/useragents.txt +75 -0
  53. data/tests/01-util_test.rb +0 -0
  54. data/tests/02-stella-util_test.rb +42 -0
  55. data/tests/10-stella_test.rb +104 -0
  56. data/tests/11-stella-storable_test.rb +68 -0
  57. data/tests/60-stella-command_test.rb +248 -0
  58. data/tests/80-stella-cli_test.rb +45 -0
  59. data/tests/spec-helper.rb +31 -0
  60. metadata +165 -0
@@ -0,0 +1,45 @@
1
+ $: << File.dirname(__FILE__)
2
+ require 'spec-helper'
3
+
4
+ #require 'stella/cli'
5
+
6
+ describe "Stella::CLI" do
7
+
8
+ before(:all) do
9
+ Stella.debug = false
10
+ end
11
+
12
+ before(:each) do
13
+ ARGV.clear
14
+ end
15
+
16
+ it "auto-require CLI classes" do
17
+ cli_count = Dir.glob(File.join(STELLA_HOME, 'lib', 'stella', 'cli', "*.rb")).size - 1 # Minus base class
18
+ app = Stella::CLI.new(ARGV, STDIN)
19
+ app.commands.size.should.be >= cli_count # There can be multiple command aliases per class
20
+ end
21
+
22
+ xit "process STDIN"
23
+
24
+ it "split ARGV into global options, command name, and command-specific arguments" do
25
+ ARGV.push *%w{ -vv sysinfo -h --list localhost}
26
+ app = Stella::CLI.new(ARGV, STDIN)
27
+ app.should.be.kind_of Stella::CLI
28
+ app.options.verbose.should.equal 2
29
+ app.command_name.should.equal "sysinfo"
30
+ app.command_arguments.size.should.equal 3
31
+ end
32
+
33
+ it "run command and write to STDOUT" do
34
+ ARGV << "lang"
35
+ words = capture(:stdout) do
36
+ app = Stella::CLI.new(ARGV, STDIN)
37
+ app.should.be.kind_of Stella::CLI
38
+ app.command_name.should.equal "lang"
39
+ app.run
40
+ end
41
+ words.should.be.kind_of String
42
+ words.should.match "Available languages"
43
+ end
44
+
45
+ end
@@ -0,0 +1,31 @@
1
+
2
+ require 'rubygems'
3
+ require 'test/spec'
4
+ require 'fileutils'
5
+
6
+ unless defined? STELLA_HOME
7
+ STELLA_HOME = File.expand_path(File.join(File.dirname(__FILE__), '..'))
8
+ $:.unshift(File.join(STELLA_HOME, 'lib')) # Make sure our local lib is first in line
9
+ end
10
+
11
+ # Stolen from http://github.com/wycats/thor
12
+ def capture(stream)
13
+ begin
14
+ stream = stream.to_s
15
+ eval "$#{stream} = StringIO.new"
16
+ yield
17
+ result = eval("$#{stream}").string
18
+ ensure
19
+ eval("$#{stream} = #{stream.upcase}")
20
+ end
21
+
22
+ result
23
+ end
24
+
25
+ begin
26
+ require 'json'
27
+ rescue LoadError
28
+ ::HAS_JSON = false
29
+ else
30
+ ::HAS_JSON = true
31
+ end
metadata ADDED
@@ -0,0 +1,165 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: solutious-stella
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.5
5
+ platform: ruby
6
+ authors:
7
+ - Delano Mandelbaum
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-01-14 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: net-dns
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: "0"
23
+ version:
24
+ - !ruby/object:Gem::Dependency
25
+ name: mongrel
26
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: "0"
32
+ version:
33
+ description: Your friend in performance testing.
34
+ email:
35
+ executables:
36
+ - stella
37
+ - stella.bat
38
+ extensions: []
39
+
40
+ extra_rdoc_files:
41
+ - README.textile
42
+ - LICENSE
43
+ files:
44
+ - README.textile
45
+ - CHANGES.txt
46
+ - LICENCE.txt
47
+ - Rakefile
48
+ - bin/stella
49
+ - bin/stella.bat
50
+ - lib/daemonize.rb
51
+ - lib/pcaplet.rb
52
+ - lib/stella/adapter/ab.rb
53
+ - lib/stella/adapter/base.rb
54
+ - lib/stella/adapter/httperf.rb
55
+ - lib/stella/adapter/pcap_watcher.rb
56
+ - lib/stella/adapter/proxy_watcher.rb
57
+ - lib/stella/adapter/siege.rb
58
+ - lib/stella/cli/agents.rb
59
+ - lib/stella/cli/base.rb
60
+ - lib/stella/cli/language.rb
61
+ - lib/stella/cli/localtest.rb
62
+ - lib/stella/cli/sysinfo.rb
63
+ - lib/stella/cli/watch.rb
64
+ - lib/stella/cli.rb
65
+ - lib/stella/command/base.rb
66
+ - lib/stella/command/localtest.rb
67
+ - lib/stella/data/domain.rb
68
+ - lib/stella/data/http.rb
69
+ - lib/stella/logger.rb
70
+ - lib/stella/response.rb
71
+ - lib/stella/storable.rb
72
+ - lib/stella/support.rb
73
+ - lib/stella/sysinfo.rb
74
+ - lib/stella/test/definition.rb
75
+ - lib/stella/test/run/summary.rb
76
+ - lib/stella/test/stats.rb
77
+ - lib/stella/text/resource.rb
78
+ - lib/stella/text.rb
79
+ - lib/stella.rb
80
+ - lib/utils/crypto-key.rb
81
+ - lib/utils/domainutil.rb
82
+ - lib/utils/escape.rb
83
+ - lib/utils/fileutil.rb
84
+ - lib/utils/httputil.rb
85
+ - lib/utils/mathutil.rb
86
+ - lib/utils/stats.rb
87
+ - lib/utils/textgraph.rb
88
+ - lib/utils/timerutil.rb
89
+ - lib/win32/Console/ANSI.rb
90
+ - lib/win32/Console.rb
91
+ - tests/01-util_test.rb
92
+ - tests/02-stella-util_test.rb
93
+ - tests/10-stella_test.rb
94
+ - tests/11-stella-storable_test.rb
95
+ - tests/60-stella-command_test.rb
96
+ - tests/80-stella-cli_test.rb
97
+ - tests/spec-helper.rb
98
+ - support/kvm.h
99
+ - support/ruby-pcap-takuma-notes.txt
100
+ - support/ruby-pcap-takuma-patch.txt
101
+ - support/text/en.yaml
102
+ - support/text/nl.yaml
103
+ - support/useragents.txt
104
+ - vendor/drydock/bin/example
105
+ - vendor/drydock/drydock.gemspec
106
+ - vendor/drydock/lib/drydock/exceptions.rb
107
+ - vendor/drydock/lib/drydock.rb
108
+ - vendor/drydock/LICENSE.txt
109
+ - vendor/drydock/README.textile
110
+ - vendor/drydock/test/command_test.rb
111
+ - vendor/useragent/init.rb
112
+ - vendor/useragent/lib/user_agent/browsers/all.rb
113
+ - vendor/useragent/lib/user_agent/browsers/gecko.rb
114
+ - vendor/useragent/lib/user_agent/browsers/internet_explorer.rb
115
+ - vendor/useragent/lib/user_agent/browsers/opera.rb
116
+ - vendor/useragent/lib/user_agent/browsers/webkit.rb
117
+ - vendor/useragent/lib/user_agent/browsers.rb
118
+ - vendor/useragent/lib/user_agent/comparable.rb
119
+ - vendor/useragent/lib/user_agent/operating_systems.rb
120
+ - vendor/useragent/lib/user_agent.rb
121
+ - vendor/useragent/MIT-LICENSE
122
+ - vendor/useragent/README
123
+ - vendor/useragent/spec/browsers/gecko_user_agent_spec.rb
124
+ - vendor/useragent/spec/browsers/internet_explorer_user_agent_spec.rb
125
+ - vendor/useragent/spec/browsers/opera_user_agent_spec.rb
126
+ - vendor/useragent/spec/browsers/other_user_agent_spec.rb
127
+ - vendor/useragent/spec/browsers/webkit_user_agent_spec.rb
128
+ - vendor/useragent/spec/spec_helper.rb
129
+ - vendor/useragent/spec/user_agent_spec.rb
130
+ - vendor/useragent/useragent.gemspec
131
+ - LICENSE
132
+ has_rdoc: true
133
+ homepage: http://github.com/solutious/stella
134
+ post_install_message:
135
+ rdoc_options:
136
+ - --line-numbers
137
+ - --inline-source
138
+ - --title
139
+ - Stella
140
+ - --main
141
+ - README.textile
142
+ require_paths:
143
+ - lib
144
+ - vendor
145
+ required_ruby_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: "0"
150
+ version:
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: "0"
156
+ version:
157
+ requirements: []
158
+
159
+ rubyforge_project: stella
160
+ rubygems_version: 1.2.0
161
+ signing_key:
162
+ specification_version: 2
163
+ summary: Run Apache Bench, Siege, or httperf tests in batches and aggregate results.
164
+ test_files: []
165
+