spectre-core 1.12.3 → 1.12.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/spectre +9 -4
- data/lib/spectre/logger/console.rb +8 -2
- data/lib/spectre/logger/file.rb +8 -2
- data/lib/spectre/logger.rb +2 -2
- data/lib/spectre/reporter/junit.rb +1 -1
- data/lib/spectre.rb +16 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d2cb2622682713c0fc37e7c0e679aa0d93f01ac9af389c8430496a272608038
|
4
|
+
data.tar.gz: 8b313cd7952c0b9e4baf9e8f0cec0af397d1f8cf8fc25760204714f687718df8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3e939b9e9851ece96d27e31d19fa7f4c5b26bd9141e28e2e5964b5f20ed1f9c9b0f4a77800b87c411d1c271d0b4acf1afa1f50359e832842e241a1ba536b811
|
7
|
+
data.tar.gz: d105a5a9924cba80b028790a538945087ef0e19a30763e619b712c1d7b31b54259a03504a5a52d1f1cc24be6a03f1e8185d499ed9e7343a17655c4336f22dd40
|
data/exe/spectre
CHANGED
@@ -9,6 +9,11 @@ require 'ectoplasm'
|
|
9
9
|
|
10
10
|
require_relative '../lib/spectre'
|
11
11
|
|
12
|
+
def load_yaml file_path
|
13
|
+
yaml = File.read(file_path)
|
14
|
+
YAML.safe_load(yaml, aliases: true)
|
15
|
+
end
|
16
|
+
|
12
17
|
|
13
18
|
DEFAULT_CONFIG = {
|
14
19
|
'config_file' => './spectre.yml',
|
@@ -182,14 +187,14 @@ cfg.deep_merge! DEFAULT_CONFIG
|
|
182
187
|
global_config_file = File.join File.expand_path('~'), '.spectre'
|
183
188
|
|
184
189
|
if File.exists? global_config_file
|
185
|
-
global_options =
|
190
|
+
global_options = load_yaml(global_config_file)
|
186
191
|
cfg.deep_merge! global_options if global_options
|
187
192
|
end
|
188
193
|
|
189
194
|
config_file = cmd_options['config_file'] || cfg['config_file']
|
190
195
|
|
191
196
|
if File.exists? config_file
|
192
|
-
file_options =
|
197
|
+
file_options = load_yaml(config_file)
|
193
198
|
cfg.deep_merge! file_options
|
194
199
|
Dir.chdir File.dirname(config_file)
|
195
200
|
end
|
@@ -205,7 +210,7 @@ envs = {}
|
|
205
210
|
read_env_files = {}
|
206
211
|
cfg['env_patterns'].each do |pattern|
|
207
212
|
Dir.glob(pattern).each do|f|
|
208
|
-
spec_env =
|
213
|
+
spec_env = load_yaml(f) || {}
|
209
214
|
|
210
215
|
name = spec_env['name'] || 'default'
|
211
216
|
|
@@ -223,7 +228,7 @@ end
|
|
223
228
|
# Merge partial environment configs with existing environments
|
224
229
|
cfg['env_partial_patterns'].each do |pattern|
|
225
230
|
Dir.glob(pattern).each do|f|
|
226
|
-
partial_env =
|
231
|
+
partial_env = load_yaml(f)
|
227
232
|
name = partial_env.delete('name') || 'default'
|
228
233
|
next unless envs.key? name
|
229
234
|
|
@@ -113,8 +113,14 @@ module Spectre
|
|
113
113
|
print_line('', txt)
|
114
114
|
end
|
115
115
|
|
116
|
-
def log_skipped _spec
|
117
|
-
|
116
|
+
def log_skipped _spec, message=nil
|
117
|
+
txt = Status::SKIPPED
|
118
|
+
|
119
|
+
unless message.nil?
|
120
|
+
txt += ' - ' + message
|
121
|
+
end
|
122
|
+
|
123
|
+
print_line('', txt.grey)
|
118
124
|
end
|
119
125
|
|
120
126
|
private
|
data/lib/spectre/logger/file.rb
CHANGED
@@ -82,8 +82,14 @@ module Spectre
|
|
82
82
|
@file_log.error "An unexpected error occurred at '#{file}:#{line}' while running spec '#{spec.name}': [#{exception.class}] #{exception.message}\n#{exception.backtrace.join "\n"}"
|
83
83
|
end
|
84
84
|
|
85
|
-
def log_skipped spec
|
86
|
-
|
85
|
+
def log_skipped spec, message=nil
|
86
|
+
txt = "spec '#{spec.desc}' skipped"
|
87
|
+
|
88
|
+
unless message.nil?
|
89
|
+
txt += ': ' + message
|
90
|
+
end
|
91
|
+
|
92
|
+
@file_log.warn txt
|
87
93
|
end
|
88
94
|
|
89
95
|
def log_status desc, status, annotation=nil
|
data/lib/spectre/logger.rb
CHANGED
@@ -109,8 +109,8 @@ module Spectre
|
|
109
109
|
delegate(:log_error, spec, exception)
|
110
110
|
end
|
111
111
|
|
112
|
-
def log_skipped spec
|
113
|
-
delegate(:log_skipped, spec)
|
112
|
+
def log_skipped spec, message=nil
|
113
|
+
delegate(:log_skipped, spec, message)
|
114
114
|
end
|
115
115
|
|
116
116
|
def log_status desc, status, annotation=nil
|
data/lib/spectre.rb
CHANGED
@@ -2,7 +2,7 @@ module Spectre
|
|
2
2
|
module Version
|
3
3
|
MAJOR = 1
|
4
4
|
MINOR = 12
|
5
|
-
TINY =
|
5
|
+
TINY = 4
|
6
6
|
end
|
7
7
|
|
8
8
|
VERSION = [Version::MAJOR, Version::MINOR, Version::TINY].compact * '.'
|
@@ -48,6 +48,12 @@ module Spectre
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
class SpectreSkip < Interrupt
|
52
|
+
def initialize message
|
53
|
+
super message
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
51
57
|
|
52
58
|
###########################################
|
53
59
|
# Internal Classes
|
@@ -252,9 +258,12 @@ module Spectre
|
|
252
258
|
spec.block.call(data)
|
253
259
|
rescue ExpectationFailure => e
|
254
260
|
run_info.failure = e
|
261
|
+
rescue SpectreSkip => e
|
262
|
+
run_info.skipped = true
|
263
|
+
Logger.log_skipped spec, e.message
|
255
264
|
rescue Interrupt
|
256
265
|
run_info.skipped = true
|
257
|
-
Logger.log_skipped spec
|
266
|
+
Logger.log_skipped spec, 'canceled by user'
|
258
267
|
rescue Exception => e
|
259
268
|
run_info.error = e
|
260
269
|
Logger.log_error spec, e
|
@@ -438,9 +447,13 @@ module Spectre
|
|
438
447
|
def property key, val
|
439
448
|
Spectre::Runner.current.properties[key] = val
|
440
449
|
end
|
450
|
+
|
451
|
+
def skip message=nil
|
452
|
+
raise SpectreSkip.new(message)
|
453
|
+
end
|
441
454
|
end
|
442
455
|
|
443
|
-
delegate :describe, :property, to: Spectre
|
456
|
+
delegate :describe, :property, :skip, to: Spectre
|
444
457
|
end
|
445
458
|
|
446
459
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spectre-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.12.
|
4
|
+
version: 1.12.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Neubauer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ectoplasm
|
@@ -80,14 +80,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
80
80
|
requirements:
|
81
81
|
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
83
|
+
version: 3.0.0
|
84
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
requirements: []
|
90
|
-
rubygems_version: 3.
|
90
|
+
rubygems_version: 3.3.7
|
91
91
|
signing_key:
|
92
92
|
specification_version: 4
|
93
93
|
summary: Describe and run automated tests
|