zerg_support 0.0.2 → 0.0.3
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.
- data/CHANGELOG +2 -0
- data/lib/zerg_support.rb +1 -0
- data/lib/zerg_support/process.rb +1 -3
- data/test/test_spawn.rb +41 -0
- data/zerg_support.gemspec +3 -3
- metadata +2 -1
data/CHANGELOG
CHANGED
data/lib/zerg_support.rb
CHANGED
data/lib/zerg_support/process.rb
CHANGED
data/test/test_spawn.rb
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'digest/sha1'
|
|
2
|
+
require 'test/unit'
|
|
3
|
+
|
|
4
|
+
require 'zerg_support'
|
|
5
|
+
|
|
6
|
+
class TestSpawn < Test::Unit::TestCase
|
|
7
|
+
def temp_file
|
|
8
|
+
now_cookie = "zerg_test_#{Time.now.to_f}"
|
|
9
|
+
File.open(now_cookie, 'w') {}
|
|
10
|
+
return now_cookie
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def setup
|
|
14
|
+
@in_file = temp_file
|
|
15
|
+
@out_file = temp_file
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def teardown
|
|
19
|
+
File.delete @in_file rescue nil
|
|
20
|
+
File.delete @out_file rescue nil
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_stdout_redirect
|
|
24
|
+
pid = Zerg::Support::Process.spawn 'ruby', ['-e', 'print "1234\n"'],
|
|
25
|
+
STDOUT => @out_file
|
|
26
|
+
Process.wait pid
|
|
27
|
+
|
|
28
|
+
assert_equal "1234\n", File.read(@out_file)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_async
|
|
32
|
+
t0 = Time.now
|
|
33
|
+
pid = Zerg::Support::Process.spawn 'ruby', ['-e', 'sleep 0.5']
|
|
34
|
+
t1 = Time.now
|
|
35
|
+
Process.wait pid
|
|
36
|
+
t2 = Time.now
|
|
37
|
+
|
|
38
|
+
assert t1 - t0 < 0.2, 'Spawning is not asynchronous'
|
|
39
|
+
assert t2 - t0 > 0.5, 'The spawned program did not sleep for 1 second'
|
|
40
|
+
end
|
|
41
|
+
end
|
data/zerg_support.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = %q{zerg_support}
|
|
3
|
-
s.version = "0.0.
|
|
3
|
+
s.version = "0.0.3"
|
|
4
4
|
|
|
5
5
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
|
6
6
|
s.authors = ["Victor Costan"]
|
|
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
|
8
8
|
s.description = %q{Support libraries used by the Zerg system.}
|
|
9
9
|
s.email = %q{victor@zergling.net}
|
|
10
10
|
s.extra_rdoc_files = ["CHANGELOG", "lib/zerg_support/gems.rb", "lib/zerg_support/process.rb", "lib/zerg_support.rb", "LICENSE", "README"]
|
|
11
|
-
s.files = ["CHANGELOG", "lib/zerg_support/gems.rb", "lib/zerg_support/process.rb", "lib/zerg_support.rb", "LICENSE", "Manifest", "Rakefile", "README", "test/test_gems.rb", "test/test_process.rb", "zerg_support.gemspec"]
|
|
11
|
+
s.files = ["CHANGELOG", "lib/zerg_support/gems.rb", "lib/zerg_support/process.rb", "lib/zerg_support.rb", "LICENSE", "Manifest", "Rakefile", "README", "test/test_gems.rb", "test/test_process.rb", "zerg_support.gemspec", "test/test_spawn.rb"]
|
|
12
12
|
s.has_rdoc = true
|
|
13
13
|
s.homepage = %q{http://www.zergling.net}
|
|
14
14
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Zerg_support", "--main", "README"]
|
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
|
16
16
|
s.rubyforge_project = %q{rails-pwnage}
|
|
17
17
|
s.rubygems_version = %q{1.2.0}
|
|
18
18
|
s.summary = %q{Support libraries used by the Zerg system.}
|
|
19
|
-
s.test_files = ["test/test_gems.rb", "test/test_process.rb"]
|
|
19
|
+
s.test_files = ["test/test_gems.rb", "test/test_process.rb", "test/test_spawn.rb"]
|
|
20
20
|
|
|
21
21
|
if s.respond_to? :specification_version then
|
|
22
22
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zerg_support
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Victor Costan
|
|
@@ -81,3 +81,4 @@ summary: Support libraries used by the Zerg system.
|
|
|
81
81
|
test_files:
|
|
82
82
|
- test/test_gems.rb
|
|
83
83
|
- test/test_process.rb
|
|
84
|
+
- test/test_spawn.rb
|