stella 0.8.8.001 → 2.0.1.001

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/CHANGES.txt +9 -1
  2. data/Gemfile +19 -0
  3. data/Gemfile.lock +50 -0
  4. data/README.md +5 -79
  5. data/Rakefile +10 -7
  6. data/Rudyfile +1 -1
  7. data/TODO +31 -0
  8. data/VERSION.yml +3 -4
  9. data/bin/stella +23 -81
  10. data/certs/README.txt +17 -0
  11. data/certs/cacerts.pem +1529 -0
  12. data/certs/gd-class2-root.crt +24 -0
  13. data/certs/gd_bundle.crt +76 -0
  14. data/certs/gd_intermediate.crt +29 -0
  15. data/certs/startssl-ca.pem +44 -0
  16. data/certs/startssl-sub.class1.server.ca.pem +36 -0
  17. data/certs/stella-master.crt +1738 -0
  18. data/lib/stella.rb +191 -123
  19. data/lib/stella/cli.rb +47 -67
  20. data/lib/stella/client.rb +424 -360
  21. data/lib/stella/core_ext.rb +527 -0
  22. data/lib/stella/engine.rb +126 -419
  23. data/lib/stella/report.rb +391 -0
  24. data/lib/stella/testplan.rb +432 -306
  25. data/lib/stella/utils.rb +227 -2
  26. data/stella.gemspec +56 -55
  27. data/try/00_basics_try.rb +29 -0
  28. data/try/01_selectable_try.rb +25 -0
  29. data/try/09_utils_try.rb +67 -0
  30. data/try/10_stella_object_try.rb +49 -0
  31. data/try/40_report_try.rb +133 -0
  32. data/try/90_class_syntax_try.rb +13 -0
  33. data/try/emhttp.rb +62 -0
  34. data/try/rubyroute.rb +70 -0
  35. data/try/support/file.bmp +0 -0
  36. data/try/support/file.gif +0 -0
  37. data/try/support/file.ico +0 -0
  38. data/try/support/file.jpeg +0 -0
  39. data/try/support/file.jpg +0 -0
  40. data/try/support/file.png +0 -0
  41. data/try/traceviz.rb +60 -0
  42. data/vendor/httpclient-2.1.5.2/httpclient/session.rb +5 -2
  43. metadata +81 -53
  44. data/examples/cookies/plan.rb +0 -49
  45. data/examples/csvdata/plan.rb +0 -32
  46. data/examples/csvdata/search_terms.csv +0 -14
  47. data/examples/dynamic/plan.rb +0 -60
  48. data/examples/essentials/logo.png +0 -0
  49. data/examples/essentials/plan.rb +0 -248
  50. data/examples/essentials/search_terms.txt +0 -19
  51. data/examples/exceptions/plan.rb +0 -20
  52. data/examples/httpauth/plan.rb +0 -33
  53. data/examples/timeout/plan.rb +0 -18
  54. data/examples/variables/plan.rb +0 -41
  55. data/lib/stella/client/container.rb +0 -378
  56. data/lib/stella/common.rb +0 -363
  57. data/lib/stella/data.rb +0 -59
  58. data/lib/stella/data/http.rb +0 -189
  59. data/lib/stella/engine/functional.rb +0 -156
  60. data/lib/stella/engine/load.rb +0 -516
  61. data/lib/stella/guidelines.rb +0 -18
  62. data/lib/stella/logger.rb +0 -150
  63. data/lib/stella/utils/httputil.rb +0 -266
  64. data/try/01_numeric_mixins_tryouts.rb +0 -40
  65. data/try/12_digest_tryouts.rb +0 -42
  66. data/try/70_module_usage.rb +0 -21
  67. data/try/api/10_functional.rb +0 -20
  68. data/try/configs/failed_requests.rb +0 -31
  69. data/try/configs/global_sequential.rb +0 -18
  70. data/try/proofs/thread_queue.rb +0 -21
data/CHANGES.txt CHANGED
@@ -1,7 +1,15 @@
1
1
  STELLA, CHANGES
2
2
 
3
+ #### 2.0.1 (2011-06-08) ###############################
4
+
5
+ NOTE: First release of 2.x.
6
+
7
+
3
8
  #### 0.8.X (XXXX-XX-XX) ###############################
4
9
 
10
+ NOTE: We're now focusing our effort on 2.0, so these features are still
11
+ outstanding for a 1.x release (they probably won't be worked on).
12
+
5
13
  * TODO: Force response block content type.
6
14
  * TODO: Add option to dump full request/response output to a file by client
7
15
  * TODO: review cookie handling. Not always sent automatically.
@@ -60,7 +68,7 @@ STELLA, CHANGES
60
68
  * FIXED: There was no response body in Stella::Engine::Log objects
61
69
  * CHANGE: Store URIs as strings in Stella::Engine::Log objects
62
70
  * CHANGE: Stella::Data::HTTP now uses @header instead of @headers
63
- * ADDED: Testrun#end_time, Testrun#running?
71
+ * ADDED: Testrun#etime, Testrun#running?
64
72
  * ADDED: Testrun.elapsed_seconds
65
73
  * ADDED: Testrun.granularity which replaces Load::ROTATE_TIMELINE
66
74
 
data/Gemfile ADDED
@@ -0,0 +1,19 @@
1
+ source "http://production.s3.rubygems.org.s3.amazonaws.com"
2
+
3
+ gem 'SystemTimer', :platforms => :mri_18
4
+
5
+ gem 'familia', '0.7.1'
6
+ gem 'gibbler', '0.8.9'
7
+ gem 'drydock', '0.6.9'
8
+ gem 'benelux', '0.6.1'
9
+ gem 'sysinfo'
10
+ gem 'storable', '>= 0.8.8'
11
+ gem 'nokogiri', '1.4.4'
12
+ gem 'yajl-ruby'
13
+ gem 'multi_json'
14
+ gem 'public_suffix_service', '0.8.1'
15
+ gem 'whois', '1.6.6'
16
+ gem 'ipaddress', '0.7.0'
17
+ gem 'addressable', '2.2.2'
18
+ gem 'redis', '2.2.0'
19
+
data/Gemfile.lock ADDED
@@ -0,0 +1,50 @@
1
+ GEM
2
+ remote: http://production.s3.rubygems.org.s3.amazonaws.com/
3
+ specs:
4
+ SystemTimer (1.2.3)
5
+ addressable (2.2.2)
6
+ attic (0.5.3)
7
+ benelux (0.6.1)
8
+ attic (>= 0.5.3)
9
+ storable (>= 0.8.6)
10
+ drydock (0.6.9)
11
+ familia (0.7.1)
12
+ gibbler (>= 0.8.6)
13
+ multi_json (>= 0.0.5)
14
+ redis (>= 2.1.0)
15
+ storable (>= 0.8.6)
16
+ uri-redis (>= 0.4.2)
17
+ gibbler (0.8.9)
18
+ attic (>= 0.4.0)
19
+ ipaddress (0.7.0)
20
+ multi_json (0.0.5)
21
+ nokogiri (1.4.4)
22
+ public_suffix_service (0.8.1)
23
+ redis (2.2.0)
24
+ storable (0.8.8)
25
+ sysinfo (0.7.3)
26
+ drydock
27
+ storable
28
+ uri-redis (0.4.2)
29
+ whois (1.6.6)
30
+ yajl-ruby (0.7.9)
31
+
32
+ PLATFORMS
33
+ ruby
34
+
35
+ DEPENDENCIES
36
+ SystemTimer
37
+ addressable (= 2.2.2)
38
+ benelux (= 0.6.1)
39
+ drydock (= 0.6.9)
40
+ familia (= 0.7.1)
41
+ gibbler (= 0.8.9)
42
+ ipaddress (= 0.7.0)
43
+ multi_json
44
+ nokogiri (= 1.4.4)
45
+ public_suffix_service (= 0.8.1)
46
+ redis (= 2.2.0)
47
+ storable (>= 0.8.8)
48
+ sysinfo
49
+ whois (= 1.6.6)
50
+ yajl-ruby
data/README.md CHANGED
@@ -1,96 +1,21 @@
1
- # Stella - 0.8 BETA
1
+ # Stella - 2.0-RC1
2
2
 
3
- **Blame Stella for breaking your web application!**
4
-
5
- Stella is an integration and load testing tool. It fits well into an agile development process because the configuration syntax is simple yet powerful and a single config can be used for both kinds of tests (integration and load). Stella runs at the protocol-level which means it generates HTTP requests and parses the responses but does not perform any browser simulation (see Caveats).
6
-
7
- ### Important Information Regarding Your Testplans
8
-
9
- *The testplan configuration syntax changed a little in 0.8. Most configs will not be affected. See "News" below for more info.*
3
+ **Define realistic testplans and run them against your webapps**
10
4
 
11
5
  ## Features
12
6
 
13
- * Support for simulating multiple usecases at the same time
14
- * Sophisticated response handling
15
- * Automatic parsing of HTML, XML, XHTML, YAML, and JSON response bodies
16
- * Dynamic variable replacement
17
- * Support for testing multiple sites simultaneously
18
-
19
-
20
- ## Caveats
21
-
22
- There are a few known limitations:
23
-
24
- * *POSSIBLE SHOW-STOPPER*: An upper limit of around 200-300 concurrent virtual HTTP clients. There is a threading issue in the HTTPClient library which appears under high load.
25
- * *POSSIBLE SHOW-STOPPER*: No support for browser or UI based tests (a la Watir or Selenium). If this is a show stopper for you, check out [WatirGrid](http://github.com/90kts/watirgrid)
26
- * *ANNOYING*: File uploads do not work with some HTTP servers (WEBrick)
27
- * *ANNOYING*: Lack of documentation (see examples/ directory)
28
- * *ANNOYING*: Reporting is limited to log files and command-line output. You need to make your own graphs.
29
-
30
-
31
7
  ## Examples
32
8
 
33
-
34
9
  ### Testplan Configuration
35
10
 
36
- Every load testing tool worth its salt allows you to control the logical flow with some form of programming language. One of the advantages that open source tools have over commercial ones is that the languages used are generally well known whereas most commercial tools use proprietary languages. This makes it possible to define sophisticated and realistic tests.
37
-
38
- Stella test plans are defined in subset of the Ruby programming language. They also typically contain more than one usecase which is important when simulating realistic load.
39
-
40
- usecase "An Example Usecase" do
41
- get '/some/path' do
42
- param :what => 'food'
43
- param :where => 'iowa'
44
- response 200 do
45
- # code executed when the server returns a 200 response.
46
- end
47
- end
48
-
49
- get '/a/dynamic/:path' do
50
- param :path => random(4) # => http://host/a/dynamic/jrr1
51
- end
52
- end
53
-
54
-
55
- See the [examples/](http://github.com/solutious/stella/tree/0.8/examples/) directory and [Getting Started](http://solutious.com/projects/stella/getting-started/) for more information.
56
-
57
-
58
11
  ### Running Tests
59
12
 
60
- Stella is a command-line tool with two main commands: "verify" for integration tests and "generate" for load tests.
61
-
62
- # Verify a test plan is defined correctly
63
- # by running a single user functional test.
64
- $ stella verify -p examples/essentials/plan.rb http://stellaaahhhh.com/
65
-
66
- # Generate load using the same test plan.
67
- $ stella generate -p examples/essentials/plan.rb -c 50 -d 10m http://stellaaahhhh.com/
68
-
69
-
70
- See <tt>$ stella -h</tt> and <tt>$ stella example</tt> for more info.
71
-
72
- ## News
73
-
74
- ### 2010-01-16: sequential, random, rsequential etc... methods now return ERB-style templates instead of Procs
75
-
76
- Pre-0.8 would return a Proc that would be evaluated at request time:
77
-
78
- get "/" do
79
- param :salt => random(8) # => "#<Proc0x13423c0 ...>"
80
- end
81
-
82
- In 0.8 and beyond, the same configuration will return a String:
83
-
84
- get "/" do
85
- param :salt => random(8) # => "<%= random(8) %>"
86
- end
87
-
88
13
  ## Installation
89
14
 
90
15
  Get it in one of the following ways:
91
16
 
92
- $ gem install stella --source=http://gemcutter.org/
93
- $ sudo gem install stella --source=http://gemcutter.org/
17
+ $ gem install stella
18
+ $ sudo gem install stella
94
19
  $ git clone git://github.com/solutious/stella.git
95
20
 
96
21
  You can also download via [tarball](http://github.com/solutious/stella/tarball/latest) or [zip](http://github.com/solutious/stella/zipball/latest).
@@ -113,6 +38,7 @@ NOTE: If you get errors about libxml2 or libxslt on Ubuntu, you need to install
113
38
  ## Credits
114
39
 
115
40
  * [Delano Mandelbaum](http://solutious.com)
41
+ * [Daniel J. Berger] for file logic borrowed from ptools[http://raa.ruby-lang.org/project/ptools/]
116
42
 
117
43
 
118
44
  ## Thanks
data/Rakefile CHANGED
@@ -20,17 +20,20 @@ begin
20
20
  gem.version = "#{config[:MAJOR]}.#{config[:MINOR]}.#{config[:PATCH]}.#{config[:BUILD]}"
21
21
  gem.name = "stella"
22
22
  gem.rubyforge_project = gem.name
23
- gem.summary = "Blame Stella for breaking your web application!"
24
- gem.description = "Blame Stella for breaking your web application!"
23
+ gem.summary = "Define realistic testplans and run them against your webapps"
24
+ gem.description = "Define realistic testplans and run them against your webapps"
25
25
  gem.email = "delano@solutious.com"
26
- gem.homepage = "http://blamestella.com/"
26
+ gem.homepage = "http://github.com/solutious/stella"
27
27
  gem.authors = ["Delano Mandelbaum"]
28
- gem.add_dependency("gibbler", ">= 0.8.1")
28
+ gem.add_dependency('familia', '>= 0.7.1')
29
+ gem.add_dependency("gibbler", ">= 0.8.9")
29
30
  gem.add_dependency("drydock", ">= 0.6.9")
30
- gem.add_dependency("benelux", "= 0.5.17")
31
+ gem.add_dependency("benelux", ">= 0.6.1")
31
32
  gem.add_dependency('sysinfo', '>= 0.7.3')
32
- gem.add_dependency('storable', '>= 0.7.3')
33
- gem.add_dependency("nokogiri")
33
+ gem.add_dependency('storable', '>= 0.8.8')
34
+ gem.add_dependency("nokogiri", ">= 1.4.4")
35
+ gem.add_dependency("public_suffix_service", ">= 0.8.1")
36
+ gem.add_dependency("whois", ">= 1.6.6")
34
37
 
35
38
  #gem.add_development_dependency("rspec", ">= 1.2.9")
36
39
  #gem.add_development_dependency("mocha", ">= 0.9.8")
data/Rudyfile CHANGED
@@ -1,4 +1,4 @@
1
- require 'stella'
1
+ require 'stella'
2
2
 
3
3
  machines do
4
4
 
data/TODO ADDED
@@ -0,0 +1,31 @@
1
+ getaddrinfo: Temporary failure in name resolution (http://bccurrencyexchange.com:80)
2
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient/session.rb:680:in `initialize'
3
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient/session.rb:680:in `new'
4
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient/session.rb:680:in `create_socket'
5
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient/session.rb:637:in `block in connect'
6
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient/timeout.rb:128:in `timeout'
7
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient/session.rb:636:in `connect'
8
+ /usr/local/lib/ruby/gems/1.9.1/gems/benelux-0.5.16/lib/benelux/packer.rb:101:in `connect'
9
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient/session.rb:526:in `query'
10
+ /usr/local/lib/ruby/gems/1.9.1/gems/benelux-0.5.16/lib/benelux/packer.rb:101:in `query'
11
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient/session.rb:147:in `query'
12
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient.rb:956:in `do_get_block'
13
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient.rb:766:in `block in do_request'
14
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient.rb:851:in `protect_keep_alive_disconnected'
15
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient.rb:765:in `do_request'
16
+ /usr/local/lib/ruby/gems/1.9.1/gems/benelux-0.5.16/lib/benelux/packer.rb:101:in `do_request'
17
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient.rb:667:in `request'
18
+ /home/stella/stella/vendor/httpclient-2.1.5.2/httpclient.rb:592:in `get'
19
+ /home/stella/stella/lib/stella/client.rb:54:in `block in execute'
20
+ /home/stella/stella/lib/stella/client.rb:44:in `each'
21
+ /home/stella/stella/lib/stella/client.rb:44:in `each_with_index'
22
+ /home/stella/stella/lib/stella/client.rb:44:in `execute'
23
+ /home/stella/stella/lib/stella/engine.rb:46:in `block (4 levels) in run'
24
+ /home/stella/stella/lib/stella.rb:123:in `call'
25
+ /home/stella/stella/lib/stella.rb:123:in `rescue'
26
+ /home/stella/stella/lib/stella/engine.rb:46:in `block (3 levels) in run'
27
+ /home/stella/stella/lib/stella/engine.rb:44:in `each'
28
+ /home/stella/stella/lib/stella/engine.rb:44:in `each_with_index'
29
+ /home/stella/stella/lib/stella/engine.rb:44:in `block (2 levels) in run'
30
+ /home/stella/stella/lib/stella/engine.rb:43:in `times'
31
+ /home/stella/stella/lib/stella/engine.rb:43:in `block in run'
data/VERSION.yml CHANGED
@@ -1,5 +1,4 @@
1
- ---
2
- :MAJOR: 0
3
- :MINOR: 8
4
- :PATCH: 8
1
+ :MAJOR: 2
2
+ :MINOR: 0
3
+ :PATCH: 1
5
4
  :BUILD: '001'
data/bin/stella CHANGED
@@ -12,9 +12,7 @@
12
12
  # Usage:
13
13
  #
14
14
  # $ stella -h
15
- # $ stella verify -p plans/basic.rb http://test.example.com/
16
- # $ stella generate -u 10 -t 60 http://test.example.com/
17
- # $ stella generate -u 10 -r 40 -p plans/basic.rb http://test.example.com/
15
+ # $ stella checkup -p plans/basic.rb http://stellaaahhhh.com/
18
16
  #
19
17
  #--
20
18
 
@@ -23,8 +21,8 @@ BASE_PATH = File.expand_path File.join(File.dirname(__FILE__), '..')
23
21
  lib_dir = File.join(BASE_PATH, 'lib')
24
22
  $:.unshift lib_dir
25
23
 
26
- require 'drydock'
27
24
  require 'stella'
25
+ require 'drydock'
28
26
  require 'stella/cli'
29
27
 
30
28
  # Command-line interface for bin/stella
@@ -40,32 +38,23 @@ class Stella::CLI::Definition
40
38
  #global :S, :secret, String, "Secret Key"
41
39
  global :D, :debug, "Enable debug mode" do
42
40
  Drydock.debug true
43
- Stella.enable_debug
41
+ Stella.debug = true
44
42
  end
45
- global :W, :wait, Integer, "Seconds to wait before starting test"
46
- global :H, :withheader, "Include X-Stella-ID request header"
47
- global :P, :withparam, "Include __stella query parameter header"
43
+ global :P, :pause, Integer, "Seconds to wait before starting test"
44
+ #global :H, :withheader, "Include X-Stella-ID request header"
45
+ #global :P, :withparam, "Include __stella query parameter header"
48
46
  global :T, :timeout, Float, "HTTP request timeout (default: unlimited)"
49
- global :o, :output, String, "Write output to the given file" do |v|
50
- String.disable_color
51
- Stella.log.output = v
52
- end
53
- global :var, Array, 'Set an arbitrary variable (--var "name=v")'
54
- global :f, :format, String, "Output format (partial support)"
47
+ global :F, :format, String, "Output format (partial support)"
48
+ global :f, :filter, String, "Only run usecases that match this filter"
49
+ global :p, :testplan, String, "Path to testplan"
55
50
  global :n, :nocolor, "Disable output colors" do
56
51
  String.disable_color
57
52
  end
58
53
  global :q, :quiet, "Be quiet!" do
59
- Stella.enable_quiet
54
+ Stella.quiet = true
60
55
  end
61
56
  global :v, :verbose, "Increase verbosity of output (e.g. -v or -vv or -vvv)" do
62
- Stella.stdout.lev += 1
63
- end
64
- global :nostats, "Disable stat collection" do
65
- true
66
- end
67
- global :notemplates, "Disable template parsing" do
68
- true
57
+ Stella.noise += 1
69
58
  end
70
59
  global :V, :version, "Display version number" do
71
60
  puts "Stella version: #{Stella::VERSION.inspect}"
@@ -79,64 +68,17 @@ class Stella::CLI::Definition
79
68
  usage "stella example"
80
69
  command :example => Stella::CLI
81
70
 
82
- about "View Stella configuration"
83
- usage "stella config"
84
- command :config => Stella::CLI
85
-
86
- about "Preview a test plan"
87
- usage "stella preview [-p path/2/testplan.rb] "
88
- option :c, :clients, Integer, "Maximum number of virtual clients (ignored)"
89
- option :a, :arrival, Float, "Arrival rate (ignored)"
90
- option :r, :repetitions, Integer, "Number of times to repeat the testplan (ignored)"
91
- option :d, :duration, String, "Max duration to run test (ignored)"
92
- option :W, :nowait, "Ignore wait times (ignored)"
93
- option :w, :wait, Float, "Wait time (in seconds) between client requests (ignored if testplan supplied)"
94
- option :p, :testplan, String, "Path to testplan"
95
- option :g, :granularity, Integer, "Amount of time (in seconds) between timeline rotations"
96
- command :preview => Stella::CLI
97
-
98
- about "Verify a test plan"
99
- usage "stella verify [-p path/2/testplan.rb] URI"
100
- usage "e.g."
101
- usage " $ stella verify -p path/2/testplan.rb http://stellaaahhhh.com/"
102
- option :c, :clients, Integer, "Maximum number of virtual clients (ignored)"
103
- option :a, :arrival, Float, "Arrival rate (ignored)"
104
- option :r, :repetitions, Integer, "Number of times to repeat the testplan (ignored)"
105
- option :d, :duration, String, "Max duration to run test (ignored)"
106
- option :W, :nowait, "Ignore wait times"
107
- option :w, :wait, Float, "Wait time (in seconds) between client requests (ignored if testplan supplied)"
108
- option :p, :testplan, String, "Path to testplan"
109
- option :g, :granularity, Integer, "Amount of time (in seconds) between timeline rotations"
110
- command :verify => Stella::CLI
111
-
112
- about "Generate requests"
113
- usage "stella generate [options] URI"
114
- #usage "stella load [options] URI"
115
- #usage "stella stress [options] URI"
71
+ about "Run a checkup"
72
+ usage "stella checkup [options] URI"
116
73
  usage "e.g. "
117
- usage " $ stella generate -p path/2/testplan.rb -u 100 -r 50 http://stellaaahhhh.com:3114/"
118
- #usage " $ stella stress --clients=50 --repetitions=20 http://stellaaahhhh.com/"
119
- option :c, :clients, Integer, "Maximum number of virtual clients"
120
- option :a, :arrival, Float, "Arrival rate (new clients per second)"
74
+ usage " $ stella checkup -p path/2/testplan.rb http://stellaaahhhh.com/"
75
+ option :c, :concurrency, Integer, "Maximum number of virtual clients"
76
+ #option :a, :arrival, Float, "Arrival rate (new clients per second)"
121
77
  option :r, :repetitions, Integer, "Number of times to repeat the testplan (per vclient)"
122
- option :d, :duration, String, "Max duration to run test"
123
78
  option :W, :nowait, "Ignore wait times"
124
- option :w, :wait, Float, "Wait time (in seconds) between client requests (ignored if testplan supplied)"
125
- option :p, :testplan, String, "Path to testplan"
126
- option :g, :granularity, Integer, "Amount of time (in seconds) between timeline rotations"
127
- command :generate => Stella::CLI
79
+ #option :w, :wait, Float, "Wait time (in seconds) between client requests (ignored if testplan supplied)
80
+ command :checkup => Stella::CLI
128
81
 
129
- about "Initialize Stella configuration"
130
- command :init do
131
- Stella::Config.init
132
- end
133
-
134
- if Drydock.debug?
135
- about "Blast away all Stella config assets"
136
- command :blast do
137
- Stella::Config.blast
138
- end
139
- end
140
82
 
141
83
 
142
84
  # ---------------------------------- STELLA MISCELLANEOUS --------
@@ -155,8 +97,8 @@ class Stella::CLI::Definition
155
97
 
156
98
  after do |obj|
157
99
  @elapsed = Time.now - @start
158
- if @elapsed > 0.1
159
- Stella.stdout.puts 2, "#{$/}Elapsed: %.2f seconds" % @elapsed.to_f
100
+ if @elapsed > 0.1 && Stella.noise > 1
101
+ Stella.li "#{$/}Elapsed: %.2f seconds" % @elapsed.to_f
160
102
  end
161
103
  code = obj.exit_code if obj.respond_to? :exit_code
162
104
  exit code ||= 0
@@ -173,13 +115,13 @@ rescue Drydock::InvalidArgument => ex
173
115
  STDERR.puts ex.message
174
116
  rescue Drydock::UnknownCommand => ex
175
117
  STDERR.puts "Unknown command: %s" % ex.name
176
- rescue Stella::Error => ex
118
+ rescue StellaError => ex
177
119
  STDERR.puts ex.message
178
- STDERR.puts ex.backtrace if Stella.stdout.lev > 2 || Stella.debug?
120
+ STDERR.puts ex.backtrace if Stella.debug?
179
121
  rescue Interrupt
180
122
  puts $/, "Exiting... "
181
123
  exit 1
182
124
  rescue => ex
183
125
  STDERR.puts "ERROR (#{ex.class.to_s}): #{ex.message}"
184
- STDERR.puts ex.backtrace if Stella.stdout.lev > 2 || Stella.debug?
126
+ STDERR.puts ex.backtrace if Stella.debug?
185
127
  end
data/certs/README.txt ADDED
@@ -0,0 +1,17 @@
1
+ 2011-04-08
2
+
3
+ cert/stella-master.crt is a combination of the following:
4
+
5
+ ## CERTIFICATE ORIGINS ##
6
+
7
+ - cacerts.pem:
8
+ https://github.com/nahi/httpclient/blob/78519746cc417/dist_key/cacerts.pem
9
+
10
+ - gd*.crt:
11
+ https://certs.godaddy.com/anonymous/repository.seam
12
+
13
+ - startssl-sub.class1.server.ca.pem
14
+ https://www.startssl.com/certs/sub.class1.server.ca.pem
15
+
16
+ - startssl-ca.pem
17
+ https://www.startssl.com/certs/ca.pem