zeus 0.13.3.rc1 → 0.13.3.rc2

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