judges 0.51.0 → 0.52.0
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/Gemfile +1 -1
- data/Gemfile.lock +12 -10
- data/features/test.feature +2 -2
- data/judges.gemspec +1 -1
- data/lib/judges/commands/test.rb +18 -2
- data/lib/judges.rb +1 -1
- data/package-lock.json +464 -464
- data/test/commands/test_print.rb +6 -2
- data/test/commands/test_test.rb +53 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50ec9297bcf78cdacb7f57b46a8c7d8622f450c81816128a8dde263703563738
|
4
|
+
data.tar.gz: 9cb7c62c9d2eef9d682b12911b9b2f4ce08ba4f24aa6449c696304a0d671b6bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 405e06091477a5888985490ce86d69034c47c65011cbcc4ef2e72c08ab7163e7287a737bceb6fb3a9cea0a0c299347eb37c3f3bc4ecfe357fa9caaa34441f605
|
7
|
+
data.tar.gz: 61506eac6256b6b060108e8e98f8ccb530c2daca64fc2e165b488bd28e9fe1fba1e41a6a1bdc1f3cde1aadd5e03447fef83cc45f3b9616affe3c4e7855ef737e
|
data/Gemfile
CHANGED
@@ -22,7 +22,7 @@ gem 'rubocop-minitest', '~>0.0', require: false
|
|
22
22
|
gem 'rubocop-performance', '~>1.25', require: false
|
23
23
|
gem 'rubocop-rake', '~>0.0', require: false
|
24
24
|
gem 'simplecov', '~>0.22', require: false
|
25
|
-
gem 'simplecov-cobertura', '~>
|
25
|
+
gem 'simplecov-cobertura', '~>3.0', require: false
|
26
26
|
gem 'w3c_validators', '~>1.3', require: false
|
27
27
|
gem 'webmock', '~>3.25', require: false
|
28
28
|
gem 'yard', '~>0.9', require: false
|
data/Gemfile.lock
CHANGED
@@ -28,7 +28,7 @@ GEM
|
|
28
28
|
ast (2.4.3)
|
29
29
|
backtrace (0.4.1)
|
30
30
|
base64 (0.3.0)
|
31
|
-
baza.rb (0.9.
|
31
|
+
baza.rb (0.9.11)
|
32
32
|
backtrace (~> 0.4)
|
33
33
|
elapsed (~> 0.0)
|
34
34
|
faraday (~> 2.13)
|
@@ -67,7 +67,7 @@ GEM
|
|
67
67
|
bigdecimal
|
68
68
|
cucumber-gherkin (30.0.4)
|
69
69
|
cucumber-messages (> 25, < 28)
|
70
|
-
cucumber-html-formatter (21.
|
70
|
+
cucumber-html-formatter (21.13.0)
|
71
71
|
cucumber-messages (> 19, < 28)
|
72
72
|
cucumber-messages (27.2.0)
|
73
73
|
cucumber-tag-expressions (6.1.2)
|
@@ -80,7 +80,7 @@ GEM
|
|
80
80
|
ellipsized (0.3.0)
|
81
81
|
ethon (0.16.0)
|
82
82
|
ffi (>= 1.15.0)
|
83
|
-
factbase (0.
|
83
|
+
factbase (0.13.0)
|
84
84
|
backtrace (~> 0.4)
|
85
85
|
decoor (~> 0.0)
|
86
86
|
ellipsized (~> 0.3)
|
@@ -91,7 +91,7 @@ GEM
|
|
91
91
|
others (~> 0.0)
|
92
92
|
tago (~> 0.0)
|
93
93
|
yaml (~> 0.3)
|
94
|
-
faraday (2.13.
|
94
|
+
faraday (2.13.2)
|
95
95
|
faraday-net_http (>= 2.0, < 3.5)
|
96
96
|
json
|
97
97
|
logger
|
@@ -116,7 +116,7 @@ GEM
|
|
116
116
|
ostruct
|
117
117
|
hashdiff (1.2.0)
|
118
118
|
iri (0.11.2)
|
119
|
-
json (2.
|
119
|
+
json (2.13.0)
|
120
120
|
language_server-protocol (3.17.0.5)
|
121
121
|
lint_roller (1.1.0)
|
122
122
|
logger (1.7.0)
|
@@ -179,7 +179,7 @@ GEM
|
|
179
179
|
regexp_parser (2.10.0)
|
180
180
|
retries (0.0.5)
|
181
181
|
rexml (3.4.1)
|
182
|
-
rubocop (1.
|
182
|
+
rubocop (1.79.0)
|
183
183
|
json (~> 2.3)
|
184
184
|
language_server-protocol (~> 3.17.0.2)
|
185
185
|
lint_roller (~> 1.1.0)
|
@@ -187,10 +187,11 @@ GEM
|
|
187
187
|
parser (>= 3.3.0.2)
|
188
188
|
rainbow (>= 2.2.2, < 4.0)
|
189
189
|
regexp_parser (>= 2.9.3, < 3.0)
|
190
|
-
rubocop-ast (>= 1.
|
190
|
+
rubocop-ast (>= 1.46.0, < 2.0)
|
191
191
|
ruby-progressbar (~> 1.7)
|
192
|
+
tsort (>= 0.2.0)
|
192
193
|
unicode-display_width (>= 2.4.0, < 4.0)
|
193
|
-
rubocop-ast (1.
|
194
|
+
rubocop-ast (1.46.0)
|
194
195
|
parser (>= 3.3.7.2)
|
195
196
|
prism (~> 1.4)
|
196
197
|
rubocop-minitest (0.38.1)
|
@@ -209,7 +210,7 @@ GEM
|
|
209
210
|
docile (~> 1.1)
|
210
211
|
simplecov-html (~> 0.11)
|
211
212
|
simplecov_json_formatter (~> 0.1)
|
212
|
-
simplecov-cobertura (
|
213
|
+
simplecov-cobertura (3.0.0)
|
213
214
|
rexml
|
214
215
|
simplecov (~> 0.19)
|
215
216
|
simplecov-html (0.13.1)
|
@@ -219,6 +220,7 @@ GEM
|
|
219
220
|
tago (0.1.0)
|
220
221
|
timeout (0.4.3)
|
221
222
|
total (0.4.1)
|
223
|
+
tsort (0.2.0)
|
222
224
|
typhoeus (1.4.1)
|
223
225
|
ethon (>= 0.9.0)
|
224
226
|
unicode-display_width (3.1.4)
|
@@ -265,7 +267,7 @@ DEPENDENCIES
|
|
265
267
|
rubocop-performance (~> 1.25)
|
266
268
|
rubocop-rake (~> 0.0)
|
267
269
|
simplecov (~> 0.22)
|
268
|
-
simplecov-cobertura (~>
|
270
|
+
simplecov-cobertura (~> 3.0)
|
269
271
|
w3c_validators (~> 1.3)
|
270
272
|
webmock (~> 3.25)
|
271
273
|
yard (~> 0.9)
|
data/features/test.feature
CHANGED
@@ -16,9 +16,9 @@ Feature: Test
|
|
16
16
|
And Exit code is zero
|
17
17
|
|
18
18
|
Scenario: Factbase version can be set
|
19
|
-
When I run bin/judges with "--factbase 0.
|
19
|
+
When I run bin/judges with "--factbase 0.13.0 --verbose test --judge guess ./fixtures"
|
20
20
|
Then Exit code is zero
|
21
|
-
And Stdout contains "Factbase version to be used: '0.
|
21
|
+
And Stdout contains "Factbase version to be used: '0.13.0'"
|
22
22
|
|
23
23
|
Scenario: Simple test of no judges
|
24
24
|
Given I run bin/judges with "test --judge absent_for_sure ./fixtures"
|
data/judges.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
|
10
10
|
s.required_ruby_version = '>=3.2'
|
11
11
|
s.name = 'judges'
|
12
|
-
s.version = '0.
|
12
|
+
s.version = '0.52.0'
|
13
13
|
s.license = 'MIT'
|
14
14
|
s.summary = 'Command-Line Tool for a Factbase'
|
15
15
|
s.description =
|
data/lib/judges/commands/test.rb
CHANGED
@@ -8,6 +8,7 @@ require 'factbase'
|
|
8
8
|
require 'backtrace'
|
9
9
|
require 'factbase/to_xml'
|
10
10
|
require 'elapsed'
|
11
|
+
require 'timeout'
|
11
12
|
require_relative '../../judges'
|
12
13
|
require_relative '../../judges/to_rel'
|
13
14
|
require_relative '../../judges/judges'
|
@@ -79,7 +80,13 @@ class Judges::Test
|
|
79
80
|
buf.info("Running #{rb} assertion script...")
|
80
81
|
$fb = fb
|
81
82
|
$loog = buf
|
82
|
-
|
83
|
+
if yaml['timeout']
|
84
|
+
Timeout.timeout(yaml['timeout']) do
|
85
|
+
load(File.join(judge.dir, rb), true)
|
86
|
+
end
|
87
|
+
else
|
88
|
+
load(File.join(judge.dir, rb), true)
|
89
|
+
end
|
83
90
|
end
|
84
91
|
tests += 1
|
85
92
|
rescue StandardError => e
|
@@ -161,6 +168,7 @@ class Judges::Test
|
|
161
168
|
def test_one(fb, opts, judge, tname, yaml, assert: true)
|
162
169
|
options = Judges::Options.new(opts['option']) + Judges::Options.new(yaml['options'])
|
163
170
|
runs = opts['runs'] || yaml['runs'] || 1
|
171
|
+
timeout = yaml['timeout']
|
164
172
|
(1..runs).each do |r|
|
165
173
|
fbx = fb
|
166
174
|
if opts['log']
|
@@ -169,8 +177,16 @@ class Judges::Test
|
|
169
177
|
end
|
170
178
|
expected_failure = yaml['expected_failure']
|
171
179
|
begin
|
172
|
-
|
180
|
+
if timeout
|
181
|
+
Timeout.timeout(timeout) do
|
182
|
+
judge.run(fbx, {}, {}, options)
|
183
|
+
end
|
184
|
+
else
|
185
|
+
judge.run(fbx, {}, {}, options)
|
186
|
+
end
|
173
187
|
raise 'Exception expected but not raised' if expected_failure
|
188
|
+
rescue Timeout::Error => e
|
189
|
+
raise "Test timed out after #{timeout} seconds"
|
174
190
|
# rubocop:disable Lint/RescueException
|
175
191
|
rescue Exception => e
|
176
192
|
# rubocop:enable Lint/RescueException
|
data/lib/judges.rb
CHANGED