test_launcher 0.1.0 → 1.0.0
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 +4 -4
- data/Gemfile +1 -0
- data/README.md +101 -18
- data/Rakefile +6 -0
- data/bin/test_launcher +8 -35
- data/lib/test_launcher.rb +22 -0
- data/lib/test_launcher/cli/input_parser.rb +73 -0
- data/lib/test_launcher/frameworks.rb +32 -0
- data/lib/test_launcher/frameworks/base.rb +54 -0
- data/lib/test_launcher/frameworks/implementation/collection.rb +27 -0
- data/lib/test_launcher/{tests/minitest → frameworks/implementation}/consolidator.rb +30 -32
- data/lib/test_launcher/frameworks/implementation/locator.rb +74 -0
- data/lib/test_launcher/frameworks/implementation/test_case.rb +65 -0
- data/lib/test_launcher/frameworks/minitest.rb +67 -0
- data/lib/test_launcher/frameworks/rspec.rb +50 -0
- data/lib/test_launcher/rubymine.rb +26 -0
- data/lib/test_launcher/rubymine/launcher.rb +55 -0
- data/lib/test_launcher/search/git.rb +64 -0
- data/lib/test_launcher/shell/runner.rb +19 -22
- data/lib/test_launcher/version.rb +1 -1
- data/test/install +3 -0
- data/test/test_helper.rb +32 -17
- data/test/test_launcher/fixtures/minitest/test/class_1_test.rb +17 -0
- data/test/test_launcher/fixtures/minitest/test/class_2_test.rb +5 -0
- data/test/test_launcher/fixtures/minitest/test/different_root/bin/spring +1 -0
- data/test/test_launcher/fixtures/minitest/test/different_root/test/different_root_test.rb +2 -0
- data/test/test_launcher/fixtures/rspec/spec/class_1_spec.rb +16 -0
- data/test/test_launcher/fixtures/rspec/spec/class_2_spec.rb +6 -0
- data/test/test_launcher/fixtures/rspec/spec/different_root/spec/different_root_spec.rb +2 -0
- data/test/test_launcher/minitest_integration_test.rb +67 -0
- data/test/test_launcher/rspec_integration_test.rb +67 -0
- data/test/test_launcher/rubymine_test.rb +48 -0
- data/test_launcher.gemspec +2 -3
- metadata +39 -44
- data/bin/test_runner +0 -1
- data/lib/test_launcher/searchers/git_searcher.rb +0 -38
- data/lib/test_launcher/tests/minitest/finder.rb +0 -50
- data/lib/test_launcher/tests/minitest/wrappers/multiple_files.rb +0 -23
- data/lib/test_launcher/tests/minitest/wrappers/multiple_roots.rb +0 -23
- data/lib/test_launcher/tests/minitest/wrappers/single_file.rb +0 -29
- data/lib/test_launcher/tests/minitest/wrappers/single_root.rb +0 -27
- data/lib/test_launcher/tests/minitest/wrappers/single_test.rb +0 -37
- data/lib/test_launcher/utils/path.rb +0 -32
- data/lib/test_launcher/utils/pluralize.rb +0 -14
- data/test/test_launcher/searchers/git_searcher_test.rb +0 -50
- data/test/test_launcher/tests/minitest/consolidator_integration_test.rb +0 -191
- data/test/test_launcher/tests/minitest/finder_test.rb +0 -71
@@ -1,191 +0,0 @@
|
|
1
|
-
require "test_helper"
|
2
|
-
require "test_launcher/tests/minitest/consolidator"
|
3
|
-
|
4
|
-
module TestLauncher
|
5
|
-
module Tests
|
6
|
-
module Minitest
|
7
|
-
class ConsolidatorIntegrationTest < TestCase
|
8
|
-
|
9
|
-
def test_single_test_method__no_sub_dir
|
10
|
-
search_results = [
|
11
|
-
{
|
12
|
-
file: "test/dir/file_test.rb",
|
13
|
-
line: "def test_launcher",
|
14
|
-
},
|
15
|
-
]
|
16
|
-
|
17
|
-
consolidator = Consolidator.new(search_results, dummy_shell, false)
|
18
|
-
assert_equal "cd . && ruby -I test test/dir/file_test.rb --name=/test_launcher/", consolidator.consolidate.to_command
|
19
|
-
assert_notified "Found 1 test method in 1 file."
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_single_test_method__with_sub_dir
|
23
|
-
search_results = [
|
24
|
-
{
|
25
|
-
file: "engines/lawnmower/test/dir/file_test.rb",
|
26
|
-
line: "def test_launcher",
|
27
|
-
}
|
28
|
-
]
|
29
|
-
|
30
|
-
consolidator = Consolidator.new(search_results, dummy_shell, false)
|
31
|
-
assert_equal "cd ./engines/lawnmower && ruby -I test test/dir/file_test.rb --name=/test_launcher/", consolidator.consolidate.to_command
|
32
|
-
assert_notified "Found 1 test method in 1 file."
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_multiple_test_methods_in_same_file
|
36
|
-
search_results = [
|
37
|
-
{
|
38
|
-
file: "test/dir/file_test.rb",
|
39
|
-
line: "def test_launcher",
|
40
|
-
},
|
41
|
-
{
|
42
|
-
file: "test/dir/file_test.rb",
|
43
|
-
line: "def test_launcher_again",
|
44
|
-
},
|
45
|
-
{
|
46
|
-
file: "test/dir/file_test.rb",
|
47
|
-
line: "def test_launcher_some_more",
|
48
|
-
},
|
49
|
-
]
|
50
|
-
|
51
|
-
consolidator = Consolidator.new(search_results, dummy_shell, false)
|
52
|
-
|
53
|
-
assert_equal "cd . && ruby -I test test/dir/file_test.rb --name=/test_launcher/", consolidator.consolidate.to_command
|
54
|
-
assert_notified "Found 3 test methods in 1 file."
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_multiple_test_methods_in_different_files__last_edited
|
58
|
-
search_results = [
|
59
|
-
{
|
60
|
-
file: "test/dir/file_test.rb",
|
61
|
-
line: "def test_launcher",
|
62
|
-
},
|
63
|
-
{
|
64
|
-
file: "test/other_dir/different_test.rb",
|
65
|
-
line: "def test_launcher",
|
66
|
-
},
|
67
|
-
]
|
68
|
-
|
69
|
-
consolidator = Consolidator.new(search_results, dummy_shell, false)
|
70
|
-
|
71
|
-
File.expects(:mtime).with("test/dir/file_test.rb").returns(Time.new(2014, 01, 01))
|
72
|
-
File.expects(:mtime).with("test/other_dir/different_test.rb").returns(Time.new(2013, 01, 01))
|
73
|
-
|
74
|
-
assert_equal "cd . && ruby -I test test/dir/file_test.rb --name=/test_launcher/", consolidator.consolidate.to_command
|
75
|
-
assert_notified "Found 2 test methods in 2 files."
|
76
|
-
end
|
77
|
-
|
78
|
-
def test_multiple_test_methods_in_different_files__run_all__same_root
|
79
|
-
search_results = [
|
80
|
-
{
|
81
|
-
file: "test/dir/file_test.rb",
|
82
|
-
line: "def test_launcher",
|
83
|
-
},
|
84
|
-
{
|
85
|
-
file: "test/other_dir/different_test.rb",
|
86
|
-
line: "def test_launcher",
|
87
|
-
},
|
88
|
-
]
|
89
|
-
|
90
|
-
consolidator = Consolidator.new(search_results, dummy_shell, true)
|
91
|
-
|
92
|
-
assert_equal %{cd . && ruby -I test -e 'ARGV.each { |file| require(Dir.pwd + "/" + file) }' test/dir/file_test.rb test/other_dir/different_test.rb}, consolidator.consolidate.to_command
|
93
|
-
assert_notified "Found 2 files."
|
94
|
-
end
|
95
|
-
|
96
|
-
def test_multiple_test_methods_in_different_files__run_all__different_roots
|
97
|
-
search_results = [
|
98
|
-
{
|
99
|
-
file: "engine1/test/dir/file_test.rb",
|
100
|
-
line: "def test_launcher",
|
101
|
-
},
|
102
|
-
{
|
103
|
-
file: "engine2/root2/test/other_dir/different_test.rb",
|
104
|
-
line: "def test_launcher",
|
105
|
-
},
|
106
|
-
]
|
107
|
-
|
108
|
-
consolidator = Consolidator.new(search_results, dummy_shell, true)
|
109
|
-
expected = <<-SHELL
|
110
|
-
cd ./engine1 && ruby -I test -e 'ARGV.each { |file| require(Dir.pwd + \"/\" + file) }' test/dir/file_test.rb; cd -;
|
111
|
-
|
112
|
-
cd ./engine2/root2 && ruby -I test -e 'ARGV.each { |file| require(Dir.pwd + \"/\" + file) }' test/other_dir/different_test.rb
|
113
|
-
SHELL
|
114
|
-
|
115
|
-
assert_paragraphs_equal expected, consolidator.consolidate.to_command
|
116
|
-
assert_notified "Found 2 files."
|
117
|
-
end
|
118
|
-
|
119
|
-
def test_one_file_found
|
120
|
-
search_results = [
|
121
|
-
{
|
122
|
-
file: "engine1/test/dir/file_test.rb",
|
123
|
-
},
|
124
|
-
]
|
125
|
-
|
126
|
-
consolidator = Consolidator.new(search_results, dummy_shell, true)
|
127
|
-
|
128
|
-
assert_equal "cd ./engine1 && ruby -I test test/dir/file_test.rb", consolidator.consolidate.to_command
|
129
|
-
assert_notified "Found 1 file."
|
130
|
-
end
|
131
|
-
|
132
|
-
def test_multiple_files__last_edited
|
133
|
-
search_results = [
|
134
|
-
{
|
135
|
-
file: "test/dir/file_test.rb",
|
136
|
-
},
|
137
|
-
{
|
138
|
-
file: "test/other_dir/different_test.rb",
|
139
|
-
},
|
140
|
-
]
|
141
|
-
|
142
|
-
consolidator = Consolidator.new(search_results, dummy_shell, false)
|
143
|
-
|
144
|
-
File.expects(:mtime).with("test/dir/file_test.rb").returns(Time.new(2014, 01, 01))
|
145
|
-
File.expects(:mtime).with("test/other_dir/different_test.rb").returns(Time.new(2013, 01, 01))
|
146
|
-
|
147
|
-
assert_equal "cd . && ruby -I test test/dir/file_test.rb", consolidator.consolidate.to_command
|
148
|
-
assert_notified "Found 2 files."
|
149
|
-
end
|
150
|
-
|
151
|
-
def test_multiple_files__run_all__same_root
|
152
|
-
search_results = [
|
153
|
-
{
|
154
|
-
file: "engine1/test/dir/file_test.rb",
|
155
|
-
},
|
156
|
-
{
|
157
|
-
file: "engine1/test/other_dir/different_test.rb",
|
158
|
-
},
|
159
|
-
]
|
160
|
-
|
161
|
-
consolidator = Consolidator.new(search_results, dummy_shell, true)
|
162
|
-
expected = %{cd ./engine1 && ruby -I test -e 'ARGV.each { |file| require(Dir.pwd + \"/\" + file) }' test/dir/file_test.rb test/other_dir/different_test.rb}
|
163
|
-
|
164
|
-
assert_equal expected, consolidator.consolidate.to_command
|
165
|
-
assert_notified "Found 2 files."
|
166
|
-
end
|
167
|
-
|
168
|
-
def test_multiple_files__run_all__different_roots
|
169
|
-
search_results = [
|
170
|
-
{
|
171
|
-
file: "engine1/test/dir/file_test.rb",
|
172
|
-
},
|
173
|
-
{
|
174
|
-
file: "engine2/root2/test/other_dir/different_test.rb",
|
175
|
-
},
|
176
|
-
]
|
177
|
-
|
178
|
-
consolidator = Consolidator.new(search_results, dummy_shell, true)
|
179
|
-
expected = <<-SHELL
|
180
|
-
cd ./engine1 && ruby -I test -e 'ARGV.each { |file| require(Dir.pwd + \"/\" + file) }' test/dir/file_test.rb; cd -;
|
181
|
-
|
182
|
-
cd ./engine2/root2 && ruby -I test -e 'ARGV.each { |file| require(Dir.pwd + \"/\" + file) }' test/other_dir/different_test.rb
|
183
|
-
SHELL
|
184
|
-
|
185
|
-
assert_paragraphs_equal expected, consolidator.consolidate.to_command
|
186
|
-
assert_notified "Found 2 files."
|
187
|
-
end
|
188
|
-
end
|
189
|
-
end
|
190
|
-
end
|
191
|
-
end
|
@@ -1,71 +0,0 @@
|
|
1
|
-
require "test_helper"
|
2
|
-
require "test_launcher/tests/minitest/finder"
|
3
|
-
|
4
|
-
module TestLauncher
|
5
|
-
module Tests
|
6
|
-
module Minitest
|
7
|
-
class FinderTest < TestCase
|
8
|
-
|
9
|
-
def test_find__absolute_path
|
10
|
-
Dir.expects(:pwd).returns("/absolute/path/root")
|
11
|
-
results = Finder.find("/absolute/path/root/test/dir/file_test.rb", "searcher_stub")
|
12
|
-
assert_equal [{file: "test/dir/file_test.rb"}], results
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_find__found_by_name
|
16
|
-
expected = [{file: "test/file.rb", line: "def test_name"}]
|
17
|
-
searcher_mock = mock do
|
18
|
-
stubs(:grep).with("^\s*def .*test_name.*", file_pattern: "*_test.rb").returns(expected)
|
19
|
-
end
|
20
|
-
|
21
|
-
assert_equal expected, Finder.find("test_name", searcher_mock)
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_find__found_by_file_name
|
25
|
-
searcher_mock = mock do
|
26
|
-
stubs(:grep).returns([])
|
27
|
-
stubs(:find_files).with("file_query").returns([
|
28
|
-
"dir/test/non_test_file_query.rb",
|
29
|
-
"dir/thing/file_query_test.rb",
|
30
|
-
"other_dir/other_thing/other_file_query_test.rb",
|
31
|
-
])
|
32
|
-
end
|
33
|
-
|
34
|
-
expected = [
|
35
|
-
{ file: "dir/thing/file_query_test.rb" },
|
36
|
-
{ file: "other_dir/other_thing/other_file_query_test.rb" },
|
37
|
-
]
|
38
|
-
|
39
|
-
assert_equal expected, Finder.find("file_query", searcher_mock)
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_find__found_by_full_regex
|
43
|
-
searcher_mock = mock do
|
44
|
-
stubs(:grep).returns([])
|
45
|
-
stubs(:find_files).returns([])
|
46
|
-
|
47
|
-
stubs(:grep).with("full_regex_search", file_pattern: "*_test.rb").returns([
|
48
|
-
{ file: "path/to/file_test.rb", line: "random_match"},
|
49
|
-
{ file: "path/to/other_file_test.rb", line: "random_match_2"}
|
50
|
-
])
|
51
|
-
end
|
52
|
-
|
53
|
-
expected = [
|
54
|
-
{file: "path/to/file_test.rb"},
|
55
|
-
{file: "path/to/other_file_test.rb"}
|
56
|
-
]
|
57
|
-
assert_equal expected, Finder.find("full_regex_search", searcher_mock)
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_find__nothing_found
|
61
|
-
searcher_mock = mock do
|
62
|
-
stubs(:grep).returns([])
|
63
|
-
stubs(:find_files).returns([])
|
64
|
-
end
|
65
|
-
|
66
|
-
assert_equal [], Finder.find("query", searcher_mock)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|