tconsole 1.2.2 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/cibuild +4 -0
- data/lib/tconsole/minitest_handler.rb +4 -11
- data/lib/tconsole/server.rb +23 -10
- data/lib/tconsole/version.rb +1 -1
- metadata +7 -6
data/cibuild
ADDED
@@ -1,6 +1,6 @@
|
|
1
1
|
module TConsole
|
2
2
|
class MiniTestHandler
|
3
|
-
def self.
|
3
|
+
def self.setup(match_patterns, config)
|
4
4
|
# Make sure we have a recent version of minitest, and use it
|
5
5
|
if ::MiniTest::Unit.respond_to?(:runner=)
|
6
6
|
::MiniTest::Unit.runner = TConsole::MiniTestUnit.new(match_patterns, config)
|
@@ -8,14 +8,7 @@ module TConsole
|
|
8
8
|
raise "MiniTest v#{MiniTest::Unit::VERSION} is not compatible with tconsole. Please load a more recent version of MiniTest"
|
9
9
|
end
|
10
10
|
|
11
|
-
|
12
|
-
runner = ::MiniTest::Unit.runner
|
13
|
-
runner.run
|
14
|
-
|
15
|
-
# Make sure that minitest doesn't run automatically when the process exits
|
16
|
-
patch_minitest
|
17
|
-
|
18
|
-
runner.results
|
11
|
+
::MiniTest::Unit.runner
|
19
12
|
end
|
20
13
|
|
21
14
|
# Preloads our element cache for autocompletion. Assumes tests are already loaded
|
@@ -62,7 +55,7 @@ module TConsole
|
|
62
55
|
"P" => ::Term::ANSIColor.green
|
63
56
|
}
|
64
57
|
|
65
|
-
attr_accessor :match_patterns, :config, :results, :passes
|
58
|
+
attr_accessor :match_patterns, :config, :results, :passes, :interrupted
|
66
59
|
|
67
60
|
def initialize(match_patterns, config)
|
68
61
|
self.match_patterns = match_patterns
|
@@ -158,7 +151,7 @@ module TConsole
|
|
158
151
|
suite_id = results.elements[suite.to_s]
|
159
152
|
|
160
153
|
# If we're using failed fast mode and we already failed, just return
|
161
|
-
skip = true if @failed_fast
|
154
|
+
skip = true if @failed_fast || interrupted
|
162
155
|
|
163
156
|
# If we've got match patterns, see if this matches them
|
164
157
|
if !match_patterns.empty?
|
data/lib/tconsole/server.rb
CHANGED
@@ -115,14 +115,6 @@ module TConsole
|
|
115
115
|
|
116
116
|
self.last_result = run_in_fork do
|
117
117
|
|
118
|
-
# handle trapping interrupts
|
119
|
-
trap("SIGINT") do
|
120
|
-
puts
|
121
|
-
puts "Trapped interrupt. Exiting tests."
|
122
|
-
|
123
|
-
exit(1)
|
124
|
-
end
|
125
|
-
|
126
118
|
paths.each do |path|
|
127
119
|
config.trace("Requested path `#{path}` doesn't exist.") unless File.exist?(path)
|
128
120
|
require File.expand_path(path)
|
@@ -138,8 +130,29 @@ module TConsole
|
|
138
130
|
require File.join(File.dirname(__FILE__), "minitest_handler")
|
139
131
|
|
140
132
|
config.trace("Running tests.")
|
141
|
-
|
133
|
+
runner = MiniTestHandler.setup(match_patterns, config)
|
134
|
+
|
135
|
+
# Handle trapping interrupts
|
136
|
+
trap("SIGINT") do
|
137
|
+
puts
|
138
|
+
puts "Trapped interrupt. Halting tests."
|
139
|
+
|
140
|
+
runner.interrupted = true
|
141
|
+
end
|
142
|
+
|
143
|
+
runner.run
|
144
|
+
|
145
|
+
result = runner.results
|
146
|
+
|
147
|
+
# Make sure minitest doesn't run automatically
|
148
|
+
MiniTestHandler.patch_minitest
|
149
|
+
|
142
150
|
config.trace("Finished running tests.")
|
151
|
+
|
152
|
+
if runner.interrupted
|
153
|
+
puts ::Term::ANSIColor.red("Test run was interrupted.")
|
154
|
+
end
|
155
|
+
|
143
156
|
elsif defined?(::Test::Unit)
|
144
157
|
puts "Sorry, but tconsole doesn't support Test::Unit yet"
|
145
158
|
elsif defined?(::RSpec)
|
@@ -160,7 +173,7 @@ module TConsole
|
|
160
173
|
end
|
161
174
|
|
162
175
|
puts
|
163
|
-
puts "
|
176
|
+
puts "Tests ran in #{"%0.6f" % time}s. Finished at #{Time.now.strftime('%Y-%m-%d %l:%M:%S %p')}."
|
164
177
|
puts
|
165
178
|
end
|
166
179
|
|
data/lib/tconsole/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tconsole
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: term-ansicolor
|
16
|
-
requirement: &
|
16
|
+
requirement: &70247970275880 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.0.7
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70247970275880
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: minitest
|
27
|
-
requirement: &
|
27
|
+
requirement: &70247970274560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: 2.11.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70247970274560
|
36
36
|
description: ! " tconsole allows Rails developers to easily and quickly run their
|
37
37
|
tests as a whole or in subsets. It forks the testing processes from\n a preloaded
|
38
38
|
test environment to ensure that developers don't have to reload their entire Rails
|
@@ -50,6 +50,7 @@ files:
|
|
50
50
|
- README.md
|
51
51
|
- Rakefile
|
52
52
|
- bin/tconsole
|
53
|
+
- cibuild
|
53
54
|
- lib/tconsole.rb
|
54
55
|
- lib/tconsole/config.rb
|
55
56
|
- lib/tconsole/console.rb
|