pretty_test 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/pretty_test/tap.rb +22 -14
- data/lib/pretty_test/version.rb +1 -1
- metadata +6 -6
data/lib/pretty_test/tap.rb
CHANGED
@@ -4,7 +4,7 @@ module PrettyTest
|
|
4
4
|
class Tap < ::MiniTest::MiniTap
|
5
5
|
|
6
6
|
SKIP_FORMAT = "\e[33m[SKIPPED] %s: %s\e[0m\n%s\n%s"
|
7
|
-
FAILURE_FORMAT = "\e[31m[FAILURE] %s: %s\e[0m\n%s\n%s"
|
7
|
+
FAILURE_FORMAT = "\e[31m[FAILURE] %s: %s\e[0m\n\e[31m%s: %s\e[0m\n%s"
|
8
8
|
ERROR_FORMAT = "\e[31m[ERROR] %s: %s\e[0m\n\e[31m%s: %s\e[0m\n%s"
|
9
9
|
STATUS_FORMAT = "\e[2K\r\e[?7l\e[37m(%.1fs) \e[32m%d/%d tests\e[37m, \e[36m%d assertions\e[37m, \e[31m%d errors\e[37m, \e[31m%d failures\e[37m, \e[33m%d skips \e[37m%s\e[?7h\e[0m"
|
10
10
|
|
@@ -40,15 +40,10 @@ module PrettyTest
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def tapout_failure(suite, test, test_runner)
|
43
|
-
|
44
|
-
error = test_runner.exception
|
45
|
-
test_name = pretty_test_name(test)
|
46
|
-
location = pretty_location(error)
|
47
|
-
message = error.message.strip
|
48
|
-
print_error FAILURE_FORMAT, suite_name, test_name, message, location
|
43
|
+
tapout_error(suite, test, test_runner, FAILURE_FORMAT)
|
49
44
|
end
|
50
45
|
|
51
|
-
def tapout_error(suite, test, test_runner)
|
46
|
+
def tapout_error(suite, test, test_runner, format = ERROR_FORMAT)
|
52
47
|
@progress += 1
|
53
48
|
error = test_runner.exception
|
54
49
|
test_name = pretty_test_name(test)
|
@@ -66,6 +61,12 @@ module PrettyTest
|
|
66
61
|
end
|
67
62
|
end
|
68
63
|
|
64
|
+
def tapout_(suite, test, test_runner)
|
65
|
+
remove_status
|
66
|
+
puts "\n\e[31mCould not run #{suite}##{test} for an unknown reason\e[0m\n"
|
67
|
+
puts
|
68
|
+
end
|
69
|
+
|
69
70
|
protected
|
70
71
|
|
71
72
|
def pretty_suite_name(suite)
|
@@ -92,12 +93,19 @@ module PrettyTest
|
|
92
93
|
end
|
93
94
|
|
94
95
|
def pretty_trace(e)
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
96
|
+
assertion_index = e.backtrace.rindex { |trace| trace =~ /:in .(assert|refute|flunk|pass|fail|raise|must|wont)/ }
|
97
|
+
location_index = if assertion_index
|
98
|
+
assertion_index + 1
|
99
|
+
else
|
100
|
+
e.backtrace.index { |trace_line| trace_line.index(Dir.pwd) }
|
101
|
+
end
|
102
|
+
lines = []
|
103
|
+
e.backtrace.each_with_index do |trace, index|
|
104
|
+
prefix = index == location_index ? "\e[1m-> " : " "
|
105
|
+
trace_file, trace_line = trace.sub(/:in .*$/, "").split(":")
|
106
|
+
lines << clean_trace_line(prefix, trace_file, trace_line)
|
107
|
+
end
|
108
|
+
lines.compact.join("\n")
|
101
109
|
end
|
102
110
|
|
103
111
|
def clean_trace_line(prefix, path, line)
|
data/lib/pretty_test/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pretty_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
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:
|
12
|
+
date: 2012-01-13 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
16
|
-
requirement: &
|
16
|
+
requirement: &70207780914120 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '2.6'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70207780914120
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: minitap
|
27
|
-
requirement: &
|
27
|
+
requirement: &70207780913080 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0.3'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70207780913080
|
36
36
|
description: Minitest patch for pretty (and useful) output.
|
37
37
|
email:
|
38
38
|
- vladimir@tuzinsky.com
|