daemon-kit 0.3.0.rc1 → 0.3.0.rc2

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +2 -0
  3. data/.travis.yml +2 -0
  4. data/README.md +2 -1
  5. data/Upgrading.md +11 -0
  6. data/daemon-kit.gemspec +1 -1
  7. data/features/app_generator.feature +5 -0
  8. data/features/step_definitions/daemon_steps.rb +17 -0
  9. data/features/support/env.rb +10 -0
  10. data/features/support/fixtures.rb +21 -0
  11. data/features/upgrades.feature +11 -0
  12. data/gemfiles/Gemfile.ci +8 -0
  13. data/lib/daemon_kit/abstract_logger.rb +0 -1
  14. data/lib/daemon_kit/initializer.rb +21 -11
  15. data/lib/daemon_kit/ruote_participants.rb +11 -1
  16. data/lib/daemon_kit/tasks/framework.rake +17 -98
  17. data/lib/daemon_kit/version.rb +3 -1
  18. data/lib/daemon_kit/xmpp.rb +14 -5
  19. data/lib/generators/daemon_kit/app/app_generator.rb +8 -2
  20. data/lib/generators/daemon_kit/app/templates/Gemfile.tt +25 -0
  21. data/lib/generators/daemon_kit/app/templates/README.tt +1 -1
  22. data/lib/generators/daemon_kit/app/templates/config/boot.rb +1 -15
  23. data/lib/generators/daemon_kit/capistrano/templates/config/deploy.rb.tt +0 -5
  24. data/lib/generators/daemon_kit/xmpp/templates/config/xmpp.yml +7 -3
  25. data/lib/generators/daemon_kit/xmpp/xmpp_generator.rb +1 -1
  26. data/{lib/generators/daemon_kit/app/templates → spec/fixtures/zero_two_three}/Gemfile +4 -0
  27. data/spec/fixtures/zero_two_three/README +65 -0
  28. data/spec/fixtures/zero_two_three/Rakefile +6 -0
  29. data/spec/fixtures/zero_two_three/bin/zero_two_three +8 -0
  30. data/spec/fixtures/zero_two_three/config/arguments.rb +12 -0
  31. data/spec/fixtures/zero_two_three/config/boot.rb +64 -0
  32. data/spec/fixtures/zero_two_three/config/environment.rb +22 -0
  33. data/spec/fixtures/zero_two_three/config/environments/development.rb +2 -0
  34. data/spec/fixtures/zero_two_three/config/post-daemonize/readme +5 -0
  35. data/spec/fixtures/zero_two_three/config/pre-daemonize/readme +12 -0
  36. data/spec/fixtures/zero_two_three/config/pre-daemonize/safely.rb +13 -0
  37. data/spec/fixtures/zero_two_three/lib/zero_two_three.rb +2 -0
  38. data/spec/fixtures/zero_two_three/libexec/zero_two_three-daemon.rb +18 -0
  39. data/spec/fixtures/zero_two_three/script/console +4 -0
  40. data/spec/fixtures/zero_two_three/script/destroy +4 -0
  41. data/spec/fixtures/zero_two_three/script/generate +4 -0
  42. data/spec/{spec.opts → fixtures/zero_two_three/spec/spec.opts} +0 -0
  43. data/spec/fixtures/zero_two_three/spec/spec_helper.rb +22 -0
  44. data/spec/fixtures/zero_two_three/spec/zero_two_three_spec.rb +11 -0
  45. data/spec/fixtures/zero_two_three/tasks/rspec.rake +13 -0
  46. data/spec/initializer_spec.rb +59 -7
  47. data/spec/spec_helper.rb +8 -0
  48. data/tasks/ci.rake +8 -0
  49. data/tasks/rspec.rake +1 -1
  50. metadata +62 -17
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ # Time to add your specs!
4
+ # http://rspec.info/
5
+ describe "Place your specs here" do
6
+
7
+ it "find this spec in spec directory" do
8
+ violated "Be sure to write your specs"
9
+ end
10
+
11
+ end
@@ -0,0 +1,13 @@
1
+ if ['test', 'development'].include?(DAEMON_ENV)
2
+ require 'rspec'
3
+ require 'rspec/core/rake_task'
4
+
5
+ desc "Run the specs under spec/"
6
+ RSpec::Core::RakeTask.new do |t|
7
+ t.rspec_opts = ['--options', "spec/spec.opts"]
8
+ end
9
+
10
+ # Want other tests/tasks run by default?
11
+ # Add them to the list
12
+ task :default => [:spec] #, :features]
13
+ end
@@ -1,25 +1,77 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
2
  require 'daemon_kit/initializer'
3
3
 
4
- describe DaemonKit::Configuration do
5
- before(:each) do
6
- @configuration = DaemonKit::Configuration.new
4
+ describe DaemonKit::Initializer do
5
+
6
+ let(:configuration) { DaemonKit::Configuration.new }
7
+
8
+ subject { DaemonKit::Initializer.new( configuration ) }
9
+
10
+ describe "#configure_exception_handling" do
11
+
12
+ it "should configure threads to abort on exceptions" do
13
+ subject.configure_exception_handling
14
+
15
+ expect( Thread.abort_on_exception ).to be_true
16
+ end
17
+
18
+ it "should not configure safely if the gem isn't available" do
19
+ DaemonKit::Initializer.stub(:safely_available?).and_return( false )
20
+ subject.should_not_receive( :configure_safely )
21
+
22
+ subject.configure_exception_handling
23
+ end
24
+
25
+ it "should configure safely if the gem is available" do
26
+ DaemonKit::Initializer.stub(:safely_available?).and_return( true )
27
+ subject.should_receive( :configure_safely )
28
+
29
+ subject.configure_exception_handling
30
+ end
31
+
7
32
  end
8
33
 
34
+ describe "#configure_safely" do
35
+ let(:fake_class) { Class.new }
36
+
37
+ before(:each) do
38
+ @safely_log = stub_const('Safely::Strategy::Log', fake_class)
39
+ @safely_backtrace = stub_const('Safely::Backtrace', fake_class)
40
+
41
+ DaemonKit.logger = DaemonKit::AbstractLogger.new('/dev/null')
42
+ end
43
+
44
+ it "should configure Safely" do
45
+ @safely_log.should_receive(:logger=)
46
+
47
+ @safely_backtrace.should_receive(:trace_directory=)
48
+ @safely_backtrace.should_receive(:enable!)
49
+
50
+ subject.configure_safely
51
+ end
52
+ end
53
+
54
+ end
55
+
56
+ describe DaemonKit::Configuration do
57
+
9
58
  it "should know our environment" do
10
- @configuration.environment.should_not be_nil
59
+ subject.environment.should_not be_nil
11
60
  end
12
61
 
13
62
  it "should have a default log path" do
14
- @configuration.log_path.should_not be_nil
63
+ subject.log_path.should_not be_nil
15
64
  end
16
65
 
17
66
  it "should have a default log level" do
18
- @configuration.log_level.should_not be_nil
67
+ subject.log_level.should_not be_nil
19
68
  end
20
69
 
21
70
  it "should have a default pid file" do
22
- @configuration.pid_file.should_not be_nil
71
+ subject.stub(:default_log_path).and_return('/var/log/daemon.log')
72
+ subject.stub(:daemon_name).and_return('spec-daemon')
73
+
74
+ subject.pid_file.should == "/var/log/spec-daemon.1.pid"
23
75
  end
24
76
 
25
77
  it "should set a default umask" do
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,9 @@
1
+ begin
2
+ require 'coveralls'
3
+ Coveralls.wear_merged!
4
+ rescue LoadError
5
+ end
6
+
1
7
  require 'fileutils'
2
8
  require 'stringio'
3
9
 
@@ -13,6 +19,8 @@ require 'daemon_kit'
13
19
  # in spec/support/ and its subdirectories.
14
20
  Dir[ File.expand_path("../support/**/*.rb", __FILE__) ].each { |f| require f }
15
21
 
22
+ require 'rake/file_list'
23
+
16
24
  RSpec.configure do |config|
17
25
  # == Mock Framework
18
26
  #
data/tasks/ci.rake ADDED
@@ -0,0 +1,8 @@
1
+ begin
2
+
3
+ require 'coveralls/rake/task'
4
+ Coveralls::RakeTask.new
5
+ task :default => [ :spec, :features, 'coveralls:push' ]
6
+
7
+ rescue LoadError
8
+ end
data/tasks/rspec.rake CHANGED
@@ -3,5 +3,5 @@ require 'rspec/core/rake_task'
3
3
 
4
4
  desc "Run the specs under spec/"
5
5
  RSpec::Core::RakeTask.new do |t|
6
- t.rspec_opts = ['--options', "spec/spec.opts"]
6
+ t.pattern = "spec/*_spec.rb"
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daemon-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.rc1
4
+ version: 0.3.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenneth Kalmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-11 00:00:00.000000000 Z
11
+ date: 2013-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -109,47 +109,47 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: thor
112
+ name: safely
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
117
+ version: 0.3.2
118
+ type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ~>
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 0.3.2
125
125
  - !ruby/object:Gem::Dependency
126
- name: eventmachine
126
+ name: thor
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - '>='
130
130
  - !ruby/object:Gem::Version
131
- version: 0.12.10
131
+ version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - '>='
137
137
  - !ruby/object:Gem::Version
138
- version: 0.12.10
138
+ version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: safely
140
+ name: eventmachine
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '>='
144
144
  - !ruby/object:Gem::Version
145
- version: 0.3.1
145
+ version: 0.12.10
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '>='
151
151
  - !ruby/object:Gem::Version
152
- version: 0.3.1
152
+ version: 0.12.10
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: i18n
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -182,6 +182,7 @@ extra_rdoc_files:
182
182
  - TODO.txt
183
183
  files:
184
184
  - .gitignore
185
+ - .rspec
185
186
  - .travis.yml
186
187
  - Configuration.txt
187
188
  - Deployment.txt
@@ -205,7 +206,10 @@ files:
205
206
  - features/sqs_generator.feature
206
207
  - features/step_definitions/daemon_steps.rb
207
208
  - features/support/env.rb
209
+ - features/support/fixtures.rb
208
210
  - features/test_unit_generator.feature
211
+ - features/upgrades.feature
212
+ - gemfiles/Gemfile.ci
209
213
  - lib/daemon_kit.rb
210
214
  - lib/daemon_kit/abstract_logger.rb
211
215
  - lib/daemon_kit/application.rb
@@ -248,7 +252,7 @@ files:
248
252
  - lib/generators/daemon_kit/amqp/templates/libexec/%app_name%-daemon.rb
249
253
  - lib/generators/daemon_kit/app/USAGE
250
254
  - lib/generators/daemon_kit/app/app_generator.rb
251
- - lib/generators/daemon_kit/app/templates/Gemfile
255
+ - lib/generators/daemon_kit/app/templates/Gemfile.tt
252
256
  - lib/generators/daemon_kit/app/templates/README.tt
253
257
  - lib/generators/daemon_kit/app/templates/Rakefile
254
258
  - lib/generators/daemon_kit/app/templates/bin/daemon.tt
@@ -320,9 +324,29 @@ files:
320
324
  - spec/daemon_kit_spec.rb
321
325
  - spec/fixtures/env.yml
322
326
  - spec/fixtures/noenv.yml
327
+ - spec/fixtures/zero_two_three/Gemfile
328
+ - spec/fixtures/zero_two_three/README
329
+ - spec/fixtures/zero_two_three/Rakefile
330
+ - spec/fixtures/zero_two_three/bin/zero_two_three
331
+ - spec/fixtures/zero_two_three/config/arguments.rb
332
+ - spec/fixtures/zero_two_three/config/boot.rb
333
+ - spec/fixtures/zero_two_three/config/environment.rb
334
+ - spec/fixtures/zero_two_three/config/environments/development.rb
335
+ - spec/fixtures/zero_two_three/config/post-daemonize/readme
336
+ - spec/fixtures/zero_two_three/config/pre-daemonize/readme
337
+ - spec/fixtures/zero_two_three/config/pre-daemonize/safely.rb
338
+ - spec/fixtures/zero_two_three/lib/zero_two_three.rb
339
+ - spec/fixtures/zero_two_three/libexec/zero_two_three-daemon.rb
340
+ - spec/fixtures/zero_two_three/script/console
341
+ - spec/fixtures/zero_two_three/script/destroy
342
+ - spec/fixtures/zero_two_three/script/generate
343
+ - spec/fixtures/zero_two_three/spec/spec.opts
344
+ - spec/fixtures/zero_two_three/spec/spec_helper.rb
345
+ - spec/fixtures/zero_two_three/spec/zero_two_three_spec.rb
346
+ - spec/fixtures/zero_two_three/tasks/rspec.rake
323
347
  - spec/initializer_spec.rb
324
- - spec/spec.opts
325
348
  - spec/spec_helper.rb
349
+ - tasks/ci.rake
326
350
  - tasks/cucumber.rake
327
351
  - tasks/rspec.rake
328
352
  - templates/god/god.erb
@@ -368,7 +392,9 @@ test_files:
368
392
  - features/sqs_generator.feature
369
393
  - features/step_definitions/daemon_steps.rb
370
394
  - features/support/env.rb
395
+ - features/support/fixtures.rb
371
396
  - features/test_unit_generator.feature
397
+ - features/upgrades.feature
372
398
  - spec/abstract_logger_spec.rb
373
399
  - spec/argument_spec.rb
374
400
  - spec/config_spec.rb
@@ -376,6 +402,25 @@ test_files:
376
402
  - spec/daemon_kit_spec.rb
377
403
  - spec/fixtures/env.yml
378
404
  - spec/fixtures/noenv.yml
405
+ - spec/fixtures/zero_two_three/Gemfile
406
+ - spec/fixtures/zero_two_three/README
407
+ - spec/fixtures/zero_two_three/Rakefile
408
+ - spec/fixtures/zero_two_three/bin/zero_two_three
409
+ - spec/fixtures/zero_two_three/config/arguments.rb
410
+ - spec/fixtures/zero_two_three/config/boot.rb
411
+ - spec/fixtures/zero_two_three/config/environment.rb
412
+ - spec/fixtures/zero_two_three/config/environments/development.rb
413
+ - spec/fixtures/zero_two_three/config/post-daemonize/readme
414
+ - spec/fixtures/zero_two_three/config/pre-daemonize/readme
415
+ - spec/fixtures/zero_two_three/config/pre-daemonize/safely.rb
416
+ - spec/fixtures/zero_two_three/lib/zero_two_three.rb
417
+ - spec/fixtures/zero_two_three/libexec/zero_two_three-daemon.rb
418
+ - spec/fixtures/zero_two_three/script/console
419
+ - spec/fixtures/zero_two_three/script/destroy
420
+ - spec/fixtures/zero_two_three/script/generate
421
+ - spec/fixtures/zero_two_three/spec/spec.opts
422
+ - spec/fixtures/zero_two_three/spec/spec_helper.rb
423
+ - spec/fixtures/zero_two_three/spec/zero_two_three_spec.rb
424
+ - spec/fixtures/zero_two_three/tasks/rspec.rake
379
425
  - spec/initializer_spec.rb
380
- - spec/spec.opts
381
426
  - spec/spec_helper.rb