zeus 0.13.3.rc1 → 0.13.3.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 97112eb59c1ab043959bd342d142d90ffd08fde3
4
+ data.tar.gz: 92ed94067f1fcf74871c444b2444ade5e8feb6c3
5
+ SHA512:
6
+ metadata.gz: 5835986041d13c2cab46137a391944a81c1cef0b5dd8354ec651f10a2f9ea92fbc670c2fc1611b400e619da92969d9e5d875b6f95848a4c5702ba53035c2e442
7
+ data.tar.gz: ad3b8ee4f455ddb1a7f32f769393b2854c23255d23995b76dd674ce0319b5c87859dc2030d048847e5b4b1e1c9b88413d76376de849ed08ee9525f553162818c
data/Rakefile CHANGED
@@ -53,5 +53,6 @@ task :clean do
53
53
  FileUtils.rm(RUBYGEM_PATH + "lib/zeus/version.rb") rescue nil
54
54
  FileUtils.rm_r(RUBYGEM_PATH + "man") rescue nil
55
55
  FileUtils.rm_r(RUBYGEM_PATH + "build") rescue nil
56
+ FileUtils.rm_r(RUBYGEM_PATH + "pkg") rescue nil
56
57
  end
57
58
 
Binary file
Binary file
data/build/zeus-linux-386 CHANGED
Binary file
Binary file
Binary file
data/lib/zeus.rb CHANGED
@@ -58,15 +58,26 @@ module Zeus
58
58
  Thread.new { notify_features(feature_pipe_w, features) }
59
59
 
60
60
  # We are now 'connected'. From this point, we may receive requests to fork.
61
+ children = Set.new
61
62
  loop do
62
- messages = local.recv(1024)
63
+ messages = local.recv(2**16)
64
+
65
+ # Reap any child runners or slaves that might have exited in
66
+ # the meantime. Note that reaping them like this can leave <=1
67
+ # zombie process per slave around while the slave waits for a
68
+ # new command.
69
+ children.each do |pid|
70
+ children.delete(pid) if Process.waitpid(pid, Process::WNOHANG)
71
+ end
72
+
63
73
  messages.split("\0").each do |new_identifier|
64
74
  new_identifier =~ /^(.):(.*)/
65
75
  code, ident = $1, $2
76
+ pid = nil
66
77
  if code == "S"
67
- fork { go(ident.to_sym) }
78
+ children << fork { go(ident.to_sym) }
68
79
  else
69
- fork { command(ident.to_sym, local) }
80
+ children << fork { command(ident.to_sym, local) }
70
81
  end
71
82
  end
72
83
  end
@@ -107,14 +118,17 @@ module Zeus
107
118
 
108
119
  kill_command_if_client_quits!(pid, client_pid)
109
120
 
110
- at_exit{ Process.kill(:TERM, client_pid) }
111
-
112
121
  Process.wait(pid)
113
122
  code = $?.exitstatus || 0
114
123
 
115
124
  local.write "#{code}\0"
116
125
 
117
126
  local.close
127
+ rescue Exception
128
+ # If anything at all went wrong, kill the client - if anything
129
+ # went wrong before the runner can clean up, it might hang
130
+ # around forever.
131
+ Process.kill(:TERM, client_pid)
118
132
  end
119
133
 
120
134
  def kill_command_if_client_quits!(command_pid, client_pid)
data/lib/zeus/rails.rb CHANGED
@@ -129,10 +129,10 @@ module Zeus
129
129
  require 'rails/commands/console'
130
130
  if defined?(Pry) && IRB == Pry
131
131
  require "pry"
132
- Pry.start
132
+ Pry.start
133
133
  else
134
134
  ::Rails::Console.start(::Rails.application)
135
- end
135
+ end
136
136
  end
137
137
 
138
138
  def dbconsole
@@ -199,13 +199,15 @@ module Zeus
199
199
 
200
200
  def cucumber
201
201
  cucumber_main = Cucumber::Cli::Main.new(ARGV.dup)
202
- exit cucumber_main.execute!(@cucumber_runtime)
202
+ had_failures = cucumber_main.execute!(@cucumber_runtime)
203
+ exit_code = had_failures ? 1 : 0
204
+ exit exit_code
203
205
  end
204
206
 
205
207
 
206
208
  private
207
209
 
208
- SPEC_DIR_REGEXP = /^spec/
210
+ SPEC_DIR_REGEXP = %r"(^|/)spec"
209
211
  SPEC_FILE_REGEXP = /.+_spec\.rb$/
210
212
  def spec_file? argv
211
213
  last_arg = argv[-1]
@@ -250,4 +252,3 @@ module Zeus
250
252
  end
251
253
 
252
254
  Zeus.plan ||= Zeus::Rails.new
253
-
data/lib/zeus/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Zeus
2
- VERSION = "0.13.3.rc1"
2
+ VERSION = "0.13.3.rc2"
3
3
  end
data/man/build/zeus CHANGED
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "ZEUS" "1" "December 2012" "" ""
4
+ .TH "ZEUS" "1" "March 2013" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBzeus\fR \- boot rails in under a second
data/man/build/zeus-init CHANGED
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "ZEUS\-INIT" "1" "September 2012" "" ""
4
+ .TH "ZEUS\-INIT" "1" "March 2013" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBzeus\-init\fR \- Generate a template zeus\.json
@@ -14,4 +14,4 @@ DESCRIPTION
14
14
 
15
15
 
16
16
 
17
- September 2012 ZEUS-INIT(1)
17
+ March 2013 ZEUS-INIT(1)
data/man/build/zeus-start CHANGED
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "ZEUS\-START" "1" "September 2012" "" ""
4
+ .TH "ZEUS\-START" "1" "March 2013" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBzeus\-start\fR \- Start a zeus server
@@ -15,4 +15,4 @@ DESCRIPTION
15
15
 
16
16
 
17
17
 
18
- September 2012 ZEUS-START(1)
18
+ March 2013 ZEUS-START(1)
data/man/build/zeus.txt CHANGED
@@ -62,4 +62,4 @@ BUILTIN COMMANDS
62
62
 
63
63
 
64
64
 
65
- December 2012 ZEUS(1)
65
+ March 2013 ZEUS(1)
data/zeus.gemspec CHANGED
@@ -27,7 +27,8 @@ Gem::Specification.new do |gem|
27
27
  gem.version = version
28
28
  gem.license = "MIT"
29
29
 
30
- gem.add_development_dependency "rspec", '~>2.12.0'
30
+ gem.add_development_dependency "rspec", '~> 2.12.0'
31
+ gem.add_development_dependency "ronn", '>= 0.7.0'
31
32
 
32
33
  gem.add_runtime_dependency "method_source", ">= 0.6.7"
33
34
  end
metadata CHANGED
@@ -1,48 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zeus
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: 7
5
- version: 0.13.3.rc1
4
+ version: 0.13.3.rc2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Burke Libbey
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-07 00:00:00.000000000 Z
11
+ date: 2013-03-04 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- version_requirements: !ruby/object:Gem::Requirement
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.12.0
20
- none: false
21
- name: rspec
22
20
  type: :development
23
21
  prerelease: false
24
- requirement: !ruby/object:Gem::Requirement
22
+ version_requirements: !ruby/object:Gem::Requirement
25
23
  requirements:
26
24
  - - ~>
27
25
  - !ruby/object:Gem::Version
28
26
  version: 2.12.0
29
- none: false
30
27
  - !ruby/object:Gem::Dependency
28
+ name: ronn
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.7.0
34
+ type: :development
35
+ prerelease: false
31
36
  version_requirements: !ruby/object:Gem::Requirement
32
37
  requirements:
33
- - - ! '>='
38
+ - - '>='
34
39
  - !ruby/object:Gem::Version
35
- version: 0.6.7
36
- none: false
40
+ version: 0.7.0
41
+ - !ruby/object:Gem::Dependency
37
42
  name: method_source
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 0.6.7
38
48
  type: :runtime
39
49
  prerelease: false
40
- requirement: !ruby/object:Gem::Requirement
50
+ version_requirements: !ruby/object:Gem::Requirement
41
51
  requirements:
42
- - - ! '>='
52
+ - - '>='
43
53
  - !ruby/object:Gem::Version
44
54
  version: 0.6.7
45
- none: false
46
55
  description: Boot any rails app in under a second
47
56
  email:
48
57
  - burke@libbey.me
@@ -87,28 +96,26 @@ files:
87
96
  homepage: http://zeus.is
88
97
  licenses:
89
98
  - MIT
99
+ metadata: {}
90
100
  post_install_message:
91
101
  rdoc_options: []
92
102
  require_paths:
93
103
  - lib
94
104
  required_ruby_version: !ruby/object:Gem::Requirement
95
105
  requirements:
96
- - - ! '>='
106
+ - - '>='
97
107
  - !ruby/object:Gem::Version
98
108
  version: '0'
99
- none: false
100
109
  required_rubygems_version: !ruby/object:Gem::Requirement
101
110
  requirements:
102
- - - ! '>'
111
+ - - '>'
103
112
  - !ruby/object:Gem::Version
104
113
  version: 1.3.1
105
- none: false
106
114
  requirements: []
107
115
  rubyforge_project:
108
- rubygems_version: 1.8.23
116
+ rubygems_version: 2.0.0
109
117
  signing_key:
110
- specification_version: 3
118
+ specification_version: 4
111
119
  summary: Zeus is an intelligent preloader for ruby applications. It allows normal
112
120
  development tasks to be run in a fraction of a second.
113
121
  test_files: []
114
- has_rdoc: