spork-minitest 0.0.3 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source :rubygems
2
+ gemspec
@@ -0,0 +1,16 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ spork-minitest (1.0.0.beta1)
5
+ spork
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ spork (0.9.2)
11
+
12
+ PLATFORMS
13
+ ruby
14
+
15
+ DEPENDENCIES
16
+ spork-minitest!
@@ -0,0 +1,55 @@
1
+ require 'bundler/gem_tasks'
2
+ require "fileutils"
3
+
4
+ def running(*args)
5
+ pid = spawn(*args)
6
+ yield
7
+ ensure
8
+ Process.kill :INT, pid
9
+ end
10
+
11
+ def prompt_wait message = nil
12
+ puts message
13
+ $stdin.gets
14
+ end
15
+
16
+ def run env = {}, command
17
+ puts command
18
+ out_rd, out_wr = IO.pipe
19
+ system env, command, out: out_wr
20
+ out_wr.close
21
+ puts "-" * 30, "Output:", out_rd.read, "-" * 30
22
+ end
23
+
24
+ def testdrb env = {}, args
25
+ run env, "bundle exec testdrb #{args}"
26
+ end
27
+
28
+ def cd path, &block
29
+ FileUtils.cd path, verbose: true, &block
30
+ end
31
+
32
+ task "test:unit" do
33
+ cd "unit_project" do
34
+ running "bundle exec spork minitest" do
35
+ prompt_wait "Press return when spork is loaded"
36
+ testdrb "test/first_test.rb"
37
+ testdrb "test/first_test.rb test/second_test.rb"
38
+ testdrb "test/first_test.rb -- -n test_false"
39
+ testdrb "test/first_test.rb -- -n test_false -v"
40
+ end
41
+ end
42
+ end
43
+
44
+ task "test:spec" do
45
+ cd "spec_project" do
46
+ running({"HELPER_FILE" => "spec/spec_helper.rb"}, "bundle exec spork minitest -p 8990") do
47
+ prompt_wait "Press return when spork is loaded"
48
+ testdrb({ "SPORK_PORT" => "8990" }, "spec/some_spec.rb")
49
+ end
50
+ end
51
+ end
52
+
53
+ task :test => ["test:unit", "test:spec"]
54
+
55
+ task :default => :test
data/Readme.md CHANGED
@@ -13,7 +13,7 @@ with the following differences:
13
13
 
14
14
  `ruby test/test_first.rb --seed 12345 -n test_truth`
15
15
 
16
- When using testdrb you pass them after double dash:
16
+ When using testdrb you pass them after a double dash:
17
17
 
18
18
  `testdrb test/first_test.rb -- --seed 12345 -n test_truth`
19
19
 
@@ -22,25 +22,40 @@ with the following differences:
22
22
  Some automated test running tools like Autotest and Guard
23
23
  rely on this to detect test failure.
24
24
 
25
- * Does not support -I option, hardcoded to add `.` and `test` to the load path.
25
+ * Does not support -I option to modify load path.
26
+
26
27
 
27
28
  Usage
28
29
  -----
29
30
 
30
31
  Add it to your gemfile.
31
32
 
32
- gem "spork-minitest", "~> 0.0.2"
33
+ gem "spork-minitest", "~> 1.0.0.beta1"
33
34
 
34
35
  Install spork into your test helper using the following command or manually.
35
36
 
36
37
  spork minitest --bootstrap
37
38
 
38
- Start `spork` and run your tests using `testdrb`.
39
+ Start `spork` and run your tests using `testdrb`. Some examples:
39
40
 
40
41
  testdrb test/integration_test.rb
42
+ testdrb test/integration_test.rb -- --seed 1234
43
+ SPORK_PORT=8989 testdrb test/integration_test.rb
44
+
45
+ If you do `require 'test_helper'` in every test you will get `LoadError: cannot load such file -- test_helper`.
46
+ To fix that add the following to the very top of your test helper:
47
+
48
+ $LOAD_PATH << "test"
49
+
50
+ ### Different test helper
41
51
 
42
- If you use [Autotest](https://github.com/seattlerb/zentest) you can run
43
- all tests over Spork by adding the following lines to your .autotest file.
52
+ You can specify different test helper when starting spork and run tests as usual.
53
+
54
+ HELPER_FILE=spec/spec_helper.rb spork
55
+
56
+ ### [Autotest][]
57
+
58
+ You can run all tests over Spork by adding the following lines to your .autotest file.
44
59
 
45
60
  class Autotest
46
61
  # run tests over drb server (spork)
@@ -52,3 +67,5 @@ all tests over Spork by adding the following lines to your .autotest file.
52
67
  end
53
68
  end
54
69
  end
70
+
71
+ [Autotest]: https://github.com/seattlerb/zentest
@@ -1,7 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'drb'
3
3
 
4
+ port = ENV['SPORK_PORT'] || 8988
5
+ uri = ENV['SPORK_URI'] || "druby://127.0.0.1:#{port}"
6
+
4
7
  DRb.start_service
5
- exit_code = DRbObject.new_with_uri("druby://127.0.0.1:8988").run(ARGV, $stderr, $stdout)
8
+ exit_code = DRbObject.new_with_uri(uri).run(ARGV, $stderr, $stdout)
6
9
 
7
10
  exit(exit_code || false)
@@ -1,16 +1,18 @@
1
1
  class Spork::TestFramework::MiniTest < Spork::TestFramework
2
2
  DEFAULT_PORT = 8988
3
- HELPER_FILE = File.join(Dir.pwd, "test/test_helper.rb")
3
+
4
+ def self.helper_file
5
+ ENV['HELPER_FILE'] || "test/test_helper.rb"
6
+ end
4
7
 
5
8
  def run_tests(argv, stderr, stdout)
6
9
  require "minitest/unit"
7
- $LOAD_PATH << "test" << "."
8
10
  ::MiniTest::Unit.output = stdout
9
11
 
10
12
  paths, opts = parse_options(argv)
11
13
 
12
14
  paths.each do |path|
13
- require path
15
+ load path
14
16
  end
15
17
 
16
18
  ::MiniTest::Unit.new.run(opts)
@@ -0,0 +1,7 @@
1
+ require "spec_helper"
2
+
3
+ describe "Something" do
4
+ it "is fine" do
5
+ true.must_equal true
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ require "spork"
2
+ $LOAD_PATH << "spec"
3
+
4
+ Spork.prefork do
5
+ require "minitest/spec"
6
+ end
@@ -0,0 +1,15 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = "spork-minitest"
3
+ s.version = "1.0.0.beta1"
4
+ s.authors = ["Semyon Perepelitsa"]
5
+ s.email = ["sema@sema.in"]
6
+ s.homepage = "https://github.com/semaperepelitsa/spork-minitest"
7
+ s.summary = "MiniTest runner for Spork"
8
+ # s.description = %q{TODO: Write a gem description}
9
+
10
+ s.executables = ["testdrb"]
11
+ s.files = File.read('Manifest.txt').split("\n")
12
+ s.require_paths = ["lib"]
13
+
14
+ s.add_dependency "spork"
15
+ end
@@ -0,0 +1,11 @@
1
+ require "test_helper"
2
+
3
+ class FirstTest < MiniTest::Unit::TestCase
4
+ def test_truth
5
+ assert true
6
+ end
7
+
8
+ def test_false
9
+ refute false
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ require "test_helper"
2
+
3
+ class SecondTest < MiniTest::Unit::TestCase
4
+ def test_failure
5
+ flunk "Everything is ok!"
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ require "spork"
2
+ $LOAD_PATH << "test"
3
+
4
+ Spork.prefork do
5
+ require "minitest/unit"
6
+ end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spork-minitest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 1.0.0.beta1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Semyon Perepelitsa
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-30 00:00:00.000000000 Z
12
+ date: 2012-09-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spork
@@ -35,11 +35,20 @@ executables:
35
35
  extensions: []
36
36
  extra_rdoc_files: []
37
37
  files:
38
+ - Changelog.md
39
+ - Gemfile
40
+ - Gemfile.lock
41
+ - Rakefile
42
+ - Readme.md
38
43
  - bin/testdrb
39
44
  - lib/spork/test_framework/minitest.rb
40
45
  - metatest/test_spork_minitest.rb
41
- - Readme.md
42
- - Changelog.md
46
+ - spec_project/spec/some_spec.rb
47
+ - spec_project/spec/spec_helper.rb
48
+ - spork-minitest.gemspec
49
+ - unit_project/test/first_test.rb
50
+ - unit_project/test/second_test.rb
51
+ - unit_project/test/test_helper.rb
43
52
  homepage: https://github.com/semaperepelitsa/spork-minitest
44
53
  licenses: []
45
54
  post_install_message:
@@ -55,9 +64,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
64
  required_rubygems_version: !ruby/object:Gem::Requirement
56
65
  none: false
57
66
  requirements:
58
- - - ! '>='
67
+ - - ! '>'
59
68
  - !ruby/object:Gem::Version
60
- version: '0'
69
+ version: 1.3.1
61
70
  requirements: []
62
71
  rubyforge_project:
63
72
  rubygems_version: 1.8.23
@@ -65,3 +74,4 @@ signing_key:
65
74
  specification_version: 3
66
75
  summary: MiniTest runner for Spork
67
76
  test_files: []
77
+ has_rdoc: