speckle 0.1.14 → 0.1.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/reporters/base_reporter.riml +15 -0
- data/lib/reporters/dotmatrix_reporter.riml +8 -1
- data/lib/reporters/min_reporter.riml +6 -1
- data/lib/reporters/spec_reporter.riml +10 -1
- data/lib/reporters/tap_reporter.riml +7 -5
- data/lib/runners/spec_runner.riml +59 -6
- data/lib/speckle/version.rb +1 -1
- data/spec/stacktrace_spec.riml +15 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmU1MWRkNzE3NzIxM2Q2ZGQyZWFmYzQ5ODM5YzgxY2RmMjk3YmY5Yg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OGUzYzcyZWU0MWViNTQyNjQyNWFmZmU3NWJkNWI0MGNiODUxNDNmNg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDcwOGMxZGQ1YzIwOTIxOGE2NWMxMmU1ODRkOGZkN2JiYTlkYTY4OWQxNTI1
|
10
|
+
ZWI1YWE3NjE4ZTJiMTVkN2YzNjU2YjhjODIwNTQ3MDIxZmI4NTg3ZGI2ODIw
|
11
|
+
ZDBjMjEyYWY4ODQwMWNmMmY3ZjFiNDM3N2Q3NTVlNDc2YzA3NDE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NjYyMjk0MDI4MzM3MzlkMWFlZmIyZmU1YzhiNGI2YTgzZTNiMDg1NDgzMDk3
|
14
|
+
Mzk0MmRlYTY1OTBjMmNiOWNjZDJiYTQyM2E2MTdlNzMxZDA3MzMzYjIzZjc1
|
15
|
+
YTEwNzVhNzI0MjVmMzQ2ZmJhNzEwM2I0MDhjNzQ3OTZlMmQyNDU=
|
@@ -152,5 +152,20 @@ class BaseReporter
|
|
152
152
|
defm write_log_line(line)
|
153
153
|
self.writer.writeln("log: #{line}")
|
154
154
|
end
|
155
|
+
|
156
|
+
" stacktrack "
|
157
|
+
defm print_stacktrace(err)
|
158
|
+
if has_key(err, 'is_vim_error')
|
159
|
+
lines = err.get_stacktrace()
|
160
|
+
|
161
|
+
for line in lines
|
162
|
+
self.write_stacktrace_line(line)
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
defm write_stacktrace_line(line)
|
168
|
+
self.writer.writeln(line)
|
169
|
+
end
|
155
170
|
end
|
156
171
|
|
@@ -28,7 +28,10 @@ class DotMatrixReporter < BaseReporter
|
|
28
28
|
name = meta.get_sentence()
|
29
29
|
context = meta.get_context()
|
30
30
|
add(self.line_buffer, self.to_red("#{context} ##{name}"))
|
31
|
-
add(self.line_buffer, self.to_red(" #{err}"))
|
31
|
+
add(self.line_buffer, self.to_red(" #{err.get_message()}"))
|
32
|
+
|
33
|
+
self.print_stacktrace(err)
|
34
|
+
|
32
35
|
add(self.line_buffer, '')
|
33
36
|
end
|
34
37
|
|
@@ -47,4 +50,8 @@ class DotMatrixReporter < BaseReporter
|
|
47
50
|
self.writer.writeln("")
|
48
51
|
end
|
49
52
|
|
53
|
+
defm write_stacktrace_line(line)
|
54
|
+
add(self.line_buffer, " #{line}")
|
55
|
+
end
|
56
|
+
|
50
57
|
end
|
@@ -3,7 +3,8 @@ class MinReporter < BaseReporter
|
|
3
3
|
defm on_spec_failure(meta, err, stats)
|
4
4
|
name = meta.get_sentence()
|
5
5
|
context = meta.get_context()
|
6
|
-
self.writer.writeln(self.to_red("#{context} ##{name} - #{err}"))
|
6
|
+
self.writer.writeln(self.to_red("#{context} ##{name} - #{err.get_message()}"))
|
7
|
+
self.print_stacktrace(err)
|
7
8
|
end
|
8
9
|
|
9
10
|
defm on_spec_error(meta, err, stats)
|
@@ -14,5 +15,9 @@ class MinReporter < BaseReporter
|
|
14
15
|
self.flush_log_buffer()
|
15
16
|
super()
|
16
17
|
end
|
18
|
+
|
19
|
+
defm write_stacktrace_line(line)
|
20
|
+
self.writer.writeln(" #{line}")
|
21
|
+
end
|
17
22
|
|
18
23
|
end
|
@@ -34,7 +34,12 @@ class SpecReporter < BaseReporter
|
|
34
34
|
defm on_spec_failure(meta, err, stats)
|
35
35
|
self.write("#{self.get_cross()} #{self.to_red(meta.get_sentence())}")
|
36
36
|
self.indent(2)
|
37
|
-
self.write(self.to_red(err))
|
37
|
+
self.write(self.to_red(err.get_message()))
|
38
|
+
|
39
|
+
self.indent(1)
|
40
|
+
self.print_stacktrace(err)
|
41
|
+
self.unindent(1)
|
42
|
+
|
38
43
|
self.flush_log_buffer()
|
39
44
|
self.unindent(2)
|
40
45
|
end
|
@@ -63,5 +68,9 @@ class SpecReporter < BaseReporter
|
|
63
68
|
defm write_log_line(line)
|
64
69
|
self.write("log: #{line}")
|
65
70
|
end
|
71
|
+
|
72
|
+
defm write_stacktrace_line(line)
|
73
|
+
self.write(line)
|
74
|
+
end
|
66
75
|
|
67
76
|
end
|
@@ -19,15 +19,13 @@ class TAPReporter < BaseReporter
|
|
19
19
|
defm on_spec_failure(meta, err, stats)
|
20
20
|
name = meta.get_sentence()
|
21
21
|
preamble = self.get_preamble('not ok', stats.get_count(), meta.get_context())
|
22
|
-
self.writer.writeln("#{preamble} ##{name} - #{err}")
|
22
|
+
self.writer.writeln("#{preamble} ##{name} - #{err.get_message()}")
|
23
|
+
self.print_stacktrace(err)
|
23
24
|
self.flush_log_buffer()
|
24
25
|
end
|
25
26
|
|
26
27
|
defm on_spec_error(meta, err, stats)
|
27
|
-
|
28
|
-
preamble = self.get_preamble('not ok', stats.get_count(), meta.get_context())
|
29
|
-
self.writer.writeln("#{preamble} ##{name} - #{err}")
|
30
|
-
self.flush_log_buffer()
|
28
|
+
self.on_spec_failure(meta, err, stats)
|
31
29
|
end
|
32
30
|
|
33
31
|
defm on_spec_pending(meta, stats)
|
@@ -37,4 +35,8 @@ class TAPReporter < BaseReporter
|
|
37
35
|
msg = "#{status} #{count} - #{context}"
|
38
36
|
return msg
|
39
37
|
end
|
38
|
+
|
39
|
+
defm write_stacktrace_line(line)
|
40
|
+
self.writer.writeln(" #{line}")
|
41
|
+
end
|
40
42
|
end
|
@@ -53,21 +53,25 @@ class SpecRunner
|
|
53
53
|
catch /Unknown function.*expect/
|
54
54
|
did_fail = true
|
55
55
|
stats.inc_failures()
|
56
|
-
|
57
|
-
reporter.on_spec_failure(meta,
|
56
|
+
error = new DSLError('expect() not found, dsl.riml may not be included')
|
57
|
+
reporter.on_spec_failure(meta, error, stats)
|
58
58
|
catch /Unknown function.*define_matcher/
|
59
59
|
did_fail = true
|
60
60
|
stats.inc_failures()
|
61
|
-
|
62
|
-
reporter.on_spec_failure(meta,
|
61
|
+
error = new DSLError('define_matcher() not found, dsl.riml may not be included')
|
62
|
+
reporter.on_spec_failure(meta, error, stats)
|
63
63
|
catch /^AssertionError/
|
64
64
|
did_fail = true
|
65
65
|
stats.inc_failures()
|
66
|
-
|
66
|
+
|
67
|
+
" exeption carries the assertion failure message "
|
68
|
+
error = new AssertionError(v:exception)
|
69
|
+
reporter.on_spec_failure(meta, error, stats)
|
67
70
|
catch /.*/
|
68
71
|
did_fail = true
|
69
72
|
stats.inc_errors()
|
70
|
-
|
73
|
+
error = new VimError(v:exception)
|
74
|
+
reporter.on_spec_error(meta, error, stats)
|
71
75
|
end
|
72
76
|
|
73
77
|
reporter.on_spec_end(meta, stats)
|
@@ -114,3 +118,52 @@ class SpecRunner
|
|
114
118
|
end
|
115
119
|
|
116
120
|
end
|
121
|
+
|
122
|
+
class SpecError
|
123
|
+
def initialize(message)
|
124
|
+
self.is_spec_error = true
|
125
|
+
self.message = message
|
126
|
+
|
127
|
+
self.exception = v:exception
|
128
|
+
self.throwpoint = v:throwpoint
|
129
|
+
end
|
130
|
+
|
131
|
+
defm get_message()
|
132
|
+
return self.message
|
133
|
+
end
|
134
|
+
|
135
|
+
defm get_stacktrace()
|
136
|
+
unless has_key(self, 'stacktrace')
|
137
|
+
self.build_stacktrace()
|
138
|
+
end
|
139
|
+
|
140
|
+
return self.stacktrace
|
141
|
+
end
|
142
|
+
|
143
|
+
defm build_stacktrace()
|
144
|
+
str = substitute(self.throwpoint, '\v(function )', '', '')
|
145
|
+
self.stacktrace = split(str, '\.\.')
|
146
|
+
self.stacktrace = map(self.stacktrace, '"at " . v:val')
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
class DSLError < SpecError
|
151
|
+
def initialize(message)
|
152
|
+
super(message)
|
153
|
+
self.is_dsl_error = true
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
class AssertionError < SpecError
|
158
|
+
def initialize(message)
|
159
|
+
super(message)
|
160
|
+
self.is_assertion_error = true
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
class VimError < SpecError
|
165
|
+
def initialize(message)
|
166
|
+
super(message)
|
167
|
+
self.is_vim_error = true
|
168
|
+
end
|
169
|
+
end
|
data/lib/speckle/version.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
riml_include 'dsl.riml'
|
2
|
+
|
3
|
+
class StacktraceSpec
|
4
|
+
defm describe
|
5
|
+
return 'StacktraceSpec'
|
6
|
+
end
|
7
|
+
|
8
|
+
defm it_can_display_stacktrace_stacktrace
|
9
|
+
unless exists('g:speckle_tag') && g:speckle_tag == 'stacktrace'
|
10
|
+
return
|
11
|
+
end
|
12
|
+
|
13
|
+
some_unknown_function('a')
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: speckle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darshan Sawardekar
|
@@ -183,6 +183,7 @@ files:
|
|
183
183
|
- spec/speckle/list/file_content_filter_spec.rb
|
184
184
|
- spec/speckle/list/pattern_filter_spec.rb
|
185
185
|
- spec/speckle_mode_spec.riml
|
186
|
+
- spec/stacktrace_spec.riml
|
186
187
|
- spec/tagged_spec.riml
|
187
188
|
- speckle.gemspec
|
188
189
|
homepage: http://github.com/dsawardekar/speckle
|
@@ -235,4 +236,5 @@ test_files:
|
|
235
236
|
- spec/speckle/list/file_content_filter_spec.rb
|
236
237
|
- spec/speckle/list/pattern_filter_spec.rb
|
237
238
|
- spec/speckle_mode_spec.riml
|
239
|
+
- spec/stacktrace_spec.riml
|
238
240
|
- spec/tagged_spec.riml
|