spectre-core 1.12.3 → 1.12.4
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 +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
|