speckle 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Rakefile +49 -4
- data/lib/runners/runner.riml +10 -0
- data/lib/runners/spec_runner.riml +22 -1
- data/lib/speckle/cli/environment.rb +5 -0
- data/lib/speckle/cli/rake_app.rb +1 -0
- data/lib/speckle/version.rb +1 -1
- data/lib/speckle.riml +9 -2
- data/spec/speckle/cli/environment_spec.rb +8 -0
- data/spec/tagged_spec.riml +11 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MzY3MDJkNzRiOWQ1NWQ5YTQ1NjQyYzVlNjFiN2NlYjM2ZDc2YWJmZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZGMxNTE2MDI2NDQ5OGE3MTUwNjE3MWQ3ZTk4ZjRjZmYyMjgzMDUyMA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YjA5M2I4ZmUzMmQwYjk2ZjdjNmZjODE1ZmZiMzhiODljYTBjNDIxNTZlYTdh
|
10
|
+
NzMyOTE3YjFhOTgxNGMyYjMwOTM0NWVlNmVhYWEyNDdjODFlNDU4OTRiNGJh
|
11
|
+
ZTY5MDBmZmMzNjE5MWVkOWEzN2Y0ZGFkYzdhZWFkMjY1NjY0YmI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Mjk4MDM3N2NlMWEyMzk3NDJhMDY3ZTNhYTYwYzE3MjhlOTcwZjI3YzE0MDE3
|
14
|
+
MmRlMjU1MTBkOGZiYWZlNjZkNTAwNDU5MzM0Mzg3MjJkNjBmYTg3YmU1MmIz
|
15
|
+
Y2JkYjQ0YjUyNTgyMTg4NzU5NzA5NWRlMTAwNzg5OWFiODNjMjE=
|
data/Rakefile
CHANGED
@@ -34,6 +34,8 @@ namespace :speckle do
|
|
34
34
|
SKIP_VIMRC = ENV['SKIP_VIMRC'] == '1' || false
|
35
35
|
COLORIZE = ENV['COLORIZE'] || 1
|
36
36
|
BAIL = ENV['BAIL'] || 0
|
37
|
+
TAG = ENV['TAG'] || false
|
38
|
+
CI = ENV['CI'] || false
|
37
39
|
|
38
40
|
# speckle sources
|
39
41
|
SPECKLE_DIR = File.dirname(__FILE__)
|
@@ -61,6 +63,7 @@ namespace :speckle do
|
|
61
63
|
TEST_VIM = ENV['TEST_VIM'] || 'vim'
|
62
64
|
TEST_REPORTER = ENV['TEST_REPORTER'] || 'spec'
|
63
65
|
TEST_LOG = "#{BUILD_DIR}/speckle.log"
|
66
|
+
DEBUG_LOG = "#{BUILD_DIR}/debug.log"
|
64
67
|
TEST_SOURCES = FileList.new do |fl|
|
65
68
|
sources = ENV['TEST_SOURCES']
|
66
69
|
if sources
|
@@ -72,7 +75,6 @@ namespace :speckle do
|
|
72
75
|
fl.include('spec/**/*_spec.riml')
|
73
76
|
end
|
74
77
|
end
|
75
|
-
|
76
78
|
TEST_COMPILED = FileList.new do |fl|
|
77
79
|
fl.exclude("#{SPECKLE_OUTPUT}")
|
78
80
|
compiled = ENV['TEST_COMPILED']
|
@@ -86,6 +88,22 @@ namespace :speckle do
|
|
86
88
|
end
|
87
89
|
end
|
88
90
|
|
91
|
+
TAGGED_TEST_SOURCES = FileList.new do |fl|
|
92
|
+
TEST_SOURCES.each do |s|
|
93
|
+
if TAG and File.readlines(s).grep(Regexp.new(TAG)).size > 0
|
94
|
+
fl.include(s)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
TAGGED_TEST_COMPILED = FileList.new do |fl|
|
100
|
+
TEST_SOURCES.each do |s|
|
101
|
+
if TAG and File.readlines(s).grep(Regexp.new(TAG)).size > 0
|
102
|
+
fl.include("#{BUILD_DIR}/#{s.ext('vim')}")
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
89
107
|
desc 'All tasks'
|
90
108
|
task :all => [:clean, :compile, :compile_tests, :test]
|
91
109
|
|
@@ -122,7 +140,7 @@ namespace :speckle do
|
|
122
140
|
|
123
141
|
desc "Compile specs"
|
124
142
|
task :compile_tests => [:build] do
|
125
|
-
|
143
|
+
get_test_sources.each do |t|
|
126
144
|
verbose VERBOSE do
|
127
145
|
puts "Compiling: #{t} "
|
128
146
|
sh "bundle exec riml -c #{t} -I #{TEST_LIBS}"
|
@@ -147,7 +165,9 @@ namespace :speckle do
|
|
147
165
|
|
148
166
|
desc 'Shows vim --version'
|
149
167
|
task :vim_version do
|
150
|
-
|
168
|
+
if CI
|
169
|
+
sh "#{TEST_VIM} --version"
|
170
|
+
end
|
151
171
|
end
|
152
172
|
|
153
173
|
desc "Launch test runner"
|
@@ -167,6 +187,22 @@ namespace :speckle do
|
|
167
187
|
puts '--- TODO ---'
|
168
188
|
end
|
169
189
|
|
190
|
+
def get_test_sources
|
191
|
+
if TAG
|
192
|
+
return TAGGED_TEST_SOURCES
|
193
|
+
else
|
194
|
+
return TEST_SOURCES
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
def get_test_compiled
|
199
|
+
if TAG
|
200
|
+
return TAGGED_TEST_COMPILED
|
201
|
+
else
|
202
|
+
return TEST_COMPILED
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
170
206
|
def get_vim_options
|
171
207
|
cmd = ''
|
172
208
|
if SKIP_VIMRC
|
@@ -198,19 +234,28 @@ namespace :speckle do
|
|
198
234
|
source #{SPECKLE_OUTPUT}
|
199
235
|
CMD
|
200
236
|
|
201
|
-
|
237
|
+
get_test_compiled.each do |t|
|
202
238
|
launch_cmd += <<CMD
|
203
239
|
source #{t}
|
204
240
|
CMD
|
205
241
|
end
|
206
242
|
|
207
243
|
launch_cmd += <<CMD
|
244
|
+
let &verbosefile = '#{DEBUG_LOG}'
|
208
245
|
let g:speckle_file_mode = 1
|
209
246
|
let g:speckle_output_file = '#{TEST_LOG}'
|
210
247
|
let g:speckle_reporter_name = '#{TEST_REPORTER}'
|
211
248
|
let g:speckle_slow_threshold = #{SLOW_THRESHOLD}
|
212
249
|
let g:speckle_colorize = #{COLORIZE}
|
213
250
|
let g:speckle_bail = #{BAIL}
|
251
|
+
CMD
|
252
|
+
if TAG
|
253
|
+
launch_cmd += <<CMD
|
254
|
+
let g:speckle_tag = '#{TAG}'
|
255
|
+
CMD
|
256
|
+
end
|
257
|
+
|
258
|
+
launch_cmd += <<CMD
|
214
259
|
let speckle = g:SpeckleConstructor()
|
215
260
|
:autocmd VimEnter * :call speckle.run()
|
216
261
|
:q!
|
data/lib/runners/runner.riml
CHANGED
@@ -4,6 +4,7 @@ class Runner
|
|
4
4
|
self.halt = false
|
5
5
|
self.stopped = false
|
6
6
|
self.bail = false
|
7
|
+
self.tag = ''
|
7
8
|
end
|
8
9
|
|
9
10
|
defm set_bail(bail)
|
@@ -14,6 +15,14 @@ class Runner
|
|
14
15
|
return self.bail
|
15
16
|
end
|
16
17
|
|
18
|
+
defm set_tag(tag)
|
19
|
+
self.tag = tag
|
20
|
+
end
|
21
|
+
|
22
|
+
defm get_tag()
|
23
|
+
return self.tag
|
24
|
+
end
|
25
|
+
|
17
26
|
defm add(spec)
|
18
27
|
add(self.specs, spec)
|
19
28
|
end
|
@@ -31,6 +40,7 @@ class Runner
|
|
31
40
|
|
32
41
|
spec_runner = new SpecRunner(spec)
|
33
42
|
spec_runner.set_bail(self.get_bail())
|
43
|
+
spec_runner.set_tag(self.get_tag())
|
34
44
|
spec_runner.start(reporter, stats)
|
35
45
|
|
36
46
|
if spec_runner.has_bailed()
|
@@ -5,12 +5,17 @@ class SpecRunner
|
|
5
5
|
self.stopped = false
|
6
6
|
self.bail = false
|
7
7
|
self.bailed = false
|
8
|
+
self.tag = ''
|
8
9
|
end
|
9
10
|
|
10
11
|
defm set_bail(bail)
|
11
12
|
self.bail = bail
|
12
13
|
end
|
13
14
|
|
15
|
+
defm set_tag(tag)
|
16
|
+
self.tag = tag
|
17
|
+
end
|
18
|
+
|
14
19
|
defm has_bailed()
|
15
20
|
return self.bailed
|
16
21
|
end
|
@@ -27,7 +32,7 @@ class SpecRunner
|
|
27
32
|
break
|
28
33
|
end
|
29
34
|
|
30
|
-
if method
|
35
|
+
if self.can_run_test_for(method)
|
31
36
|
timer = new SpecTimer()
|
32
37
|
meta = new SpecMeta(context, method)
|
33
38
|
|
@@ -93,4 +98,20 @@ class SpecRunner
|
|
93
98
|
self.stopped = true
|
94
99
|
end
|
95
100
|
|
101
|
+
defm is_test_method(method)
|
102
|
+
return method =~ '^it'
|
103
|
+
end
|
104
|
+
|
105
|
+
defm is_method_tagged(method)
|
106
|
+
return method =~ "_#{self.tag}$"
|
107
|
+
end
|
108
|
+
|
109
|
+
defm can_run_test_for(method)
|
110
|
+
if self.tag == ''
|
111
|
+
return self.is_test_method(method)
|
112
|
+
else
|
113
|
+
return self.is_test_method(method) && self.is_method_tagged(method)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
96
117
|
end
|
@@ -25,6 +25,7 @@ module Speckle
|
|
25
25
|
options.slow_threshold = 10
|
26
26
|
options.colorize = true
|
27
27
|
options.bail = false
|
28
|
+
options.tag = nil
|
28
29
|
|
29
30
|
parser = OptionParser.new do |opts|
|
30
31
|
options.opts = opts
|
@@ -58,6 +59,10 @@ module Speckle
|
|
58
59
|
options.grep_invert = true
|
59
60
|
end
|
60
61
|
|
62
|
+
opts.on('--tag <tag>', 'Only run tests matching tag') do |tag|
|
63
|
+
options.tag = tag
|
64
|
+
end
|
65
|
+
|
61
66
|
opts.on('-r', '--reporter <reporter>', 'Specify the reporter to use (spec, min, dot, tap)') do |reporter|
|
62
67
|
options.reporter = reporter.strip
|
63
68
|
end
|
data/lib/speckle/cli/rake_app.rb
CHANGED
data/lib/speckle/version.rb
CHANGED
data/lib/speckle.riml
CHANGED
@@ -52,7 +52,8 @@ class Speckle
|
|
52
52
|
\ 'reporter_name': '"spec"',
|
53
53
|
\ 'slow_threshold': '10',
|
54
54
|
\ 'colorize': '1',
|
55
|
-
\ 'bail': '0'
|
55
|
+
\ 'bail': '0',
|
56
|
+
\ 'tag': '""'
|
56
57
|
\}
|
57
58
|
|
58
59
|
self.options(options_map)
|
@@ -112,6 +113,10 @@ class Speckle
|
|
112
113
|
defm get_bail
|
113
114
|
return g:speckle_bail
|
114
115
|
end
|
116
|
+
|
117
|
+
defm get_tag
|
118
|
+
return g:speckle_tag
|
119
|
+
end
|
115
120
|
|
116
121
|
defm run()
|
117
122
|
self.configure()
|
@@ -120,10 +125,12 @@ class Speckle
|
|
120
125
|
stats = new Statistician()
|
121
126
|
reporter = self.get_reporter(writer)
|
122
127
|
reporter.set_colorize_output(self.get_colorize())
|
128
|
+
|
123
129
|
runner = new Runner()
|
124
130
|
runner.set_bail(self.get_bail())
|
125
|
-
|
131
|
+
runner.set_tag(self.get_tag())
|
126
132
|
|
133
|
+
functions = ''
|
127
134
|
:redir => functions
|
128
135
|
:silent function /SpecConstructor$/
|
129
136
|
:redir END
|
@@ -257,6 +257,14 @@ module Speckle
|
|
257
257
|
expect(['--reporter', 'min']).to yield_option_value('reporter', 'min')
|
258
258
|
end
|
259
259
|
|
260
|
+
it 'does not have tag by default' do
|
261
|
+
expect('').to_not have_default_option('tag')
|
262
|
+
end
|
263
|
+
|
264
|
+
it 'takes tag fram --tag' do
|
265
|
+
expect(['--tag', 'focus']).to yield_option_value('tag', 'focus')
|
266
|
+
end
|
267
|
+
|
260
268
|
end
|
261
269
|
|
262
270
|
describe 'Complete CLI options' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darshan Sawardekar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: riml
|
@@ -166,6 +166,7 @@ files:
|
|
166
166
|
- spec/matchers/within_matcher_spec.riml
|
167
167
|
- spec/spec_helper.rb
|
168
168
|
- spec/speckle/cli/environment_spec.rb
|
169
|
+
- spec/tagged_spec.riml
|
169
170
|
- speckle.gemspec
|
170
171
|
homepage: http://github.com/dsawardekar/speckle
|
171
172
|
licenses:
|
@@ -209,3 +210,4 @@ test_files:
|
|
209
210
|
- spec/matchers/within_matcher_spec.riml
|
210
211
|
- spec/spec_helper.rb
|
211
212
|
- spec/speckle/cli/environment_spec.rb
|
213
|
+
- spec/tagged_spec.riml
|