speckle 0.1.14 → 0.1.15
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 +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
|