judges 0.59.0 → 0.60.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 +2 -1
- data/Gemfile.lock +55 -41
- data/Rakefile +1 -1
- data/features/test.feature +2 -2
- data/judges.gemspec +2 -1
- data/lib/judges/commands/test.rb +2 -2
- data/lib/judges/commands/update.rb +7 -3
- data/lib/judges/judge.rb +1 -0
- data/lib/judges.rb +1 -1
- metadata +15 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5ac172cd19babb5a8fcbe6b7bc6311b70df9ff437dfb8bff633ffeeaf68218ce
|
|
4
|
+
data.tar.gz: 34776e965033db141dfabd895e41f554fffb6977caeb7aa6a39718c61d67d228
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6965159d5e0cf14900bb8a7ac9b546e809ba199b52c6581edd3819a1a0d477b8e1536ece942971e16aadf951987badcae88e16a93291965037f9693d42c32358
|
|
7
|
+
data.tar.gz: 07313a43d4badf58218d153ba18264090ef4ad57bf3d195fce77a48009f891453b817eccbbc504b5be29fefa55266ad8c5ebb1ec8ab17a8a88a4836e9d229571
|
data/Gemfile
CHANGED
|
@@ -18,6 +18,7 @@ gem 'os', '~>1.1', require: false
|
|
|
18
18
|
gem 'qbash', '~>0.4', require: false
|
|
19
19
|
gem 'rake', '~>13.2', require: false
|
|
20
20
|
gem 'random-port', '~>0.7', require: false
|
|
21
|
+
gem 'rdoc', '7.2.0', require: false # GPL
|
|
21
22
|
gem 'rubocop', '~>1.74', require: false
|
|
22
23
|
gem 'rubocop-minitest', '~>0.38', require: false
|
|
23
24
|
gem 'rubocop-performance', '~>1.25', require: false
|
|
@@ -26,4 +27,4 @@ gem 'simplecov', '~>0.22', require: false
|
|
|
26
27
|
gem 'simplecov-cobertura', '~>3.0', require: false
|
|
27
28
|
gem 'w3c_validators', '~>1.3', require: false
|
|
28
29
|
gem 'webmock', '~>3.25', require: false
|
|
29
|
-
gem 'yard', '
|
|
30
|
+
gem 'yard', '0.9.38', require: false # GPL
|
data/Gemfile.lock
CHANGED
|
@@ -6,6 +6,7 @@ PATH
|
|
|
6
6
|
baza.rb (~> 0.10)
|
|
7
7
|
concurrent-ruby (~> 1.2)
|
|
8
8
|
elapsed (~> 0.2)
|
|
9
|
+
ellipsized (~> 0.3)
|
|
9
10
|
factbase (~> 0.16)
|
|
10
11
|
gli (~> 2.21)
|
|
11
12
|
iri (~> 0.11)
|
|
@@ -28,7 +29,7 @@ GEM
|
|
|
28
29
|
ast (2.4.3)
|
|
29
30
|
backtrace (0.4.1)
|
|
30
31
|
base64 (0.3.0)
|
|
31
|
-
baza.rb (0.
|
|
32
|
+
baza.rb (0.14.3)
|
|
32
33
|
backtrace (~> 0.4)
|
|
33
34
|
elapsed (~> 0.2)
|
|
34
35
|
faraday (~> 2.13)
|
|
@@ -59,29 +60,31 @@ GEM
|
|
|
59
60
|
multi_test (~> 1.1)
|
|
60
61
|
sys-uname (~> 1.3)
|
|
61
62
|
cucumber-ci-environment (11.0.0)
|
|
62
|
-
cucumber-core (16.
|
|
63
|
+
cucumber-core (16.2.0)
|
|
63
64
|
cucumber-gherkin (> 36, < 40)
|
|
64
65
|
cucumber-messages (> 31, < 33)
|
|
65
66
|
cucumber-tag-expressions (> 6, < 9)
|
|
66
|
-
cucumber-cucumber-expressions (
|
|
67
|
+
cucumber-cucumber-expressions (19.0.0)
|
|
67
68
|
bigdecimal
|
|
68
|
-
cucumber-gherkin (
|
|
69
|
-
cucumber-messages (>= 31, <
|
|
69
|
+
cucumber-gherkin (38.0.0)
|
|
70
|
+
cucumber-messages (>= 31, < 33)
|
|
70
71
|
cucumber-html-formatter (22.3.0)
|
|
71
72
|
cucumber-messages (> 23, < 33)
|
|
72
|
-
cucumber-messages (
|
|
73
|
+
cucumber-messages (32.0.1)
|
|
73
74
|
cucumber-tag-expressions (8.1.0)
|
|
75
|
+
date (3.5.1)
|
|
74
76
|
decoor (0.1.0)
|
|
75
77
|
diff-lcs (1.6.2)
|
|
76
78
|
docile (1.4.1)
|
|
77
|
-
elapsed (0.
|
|
79
|
+
elapsed (0.3.1)
|
|
78
80
|
loog (~> 0.6)
|
|
79
81
|
tago (~> 0.1)
|
|
80
82
|
ellipsized (0.3.0)
|
|
83
|
+
erb (6.0.1)
|
|
81
84
|
ethon (0.18.0)
|
|
82
85
|
ffi (>= 1.15.0)
|
|
83
86
|
logger
|
|
84
|
-
factbase (0.19.
|
|
87
|
+
factbase (0.19.6)
|
|
85
88
|
backtrace (~> 0.4)
|
|
86
89
|
decoor (~> 0.1)
|
|
87
90
|
ellipsized (~> 0.3)
|
|
@@ -92,11 +95,11 @@ GEM
|
|
|
92
95
|
others (~> 0.1)
|
|
93
96
|
tago (~> 0.1)
|
|
94
97
|
yaml (~> 0.3)
|
|
95
|
-
faraday (2.14.
|
|
98
|
+
faraday (2.14.1)
|
|
96
99
|
faraday-net_http (>= 2.0, < 3.5)
|
|
97
100
|
json
|
|
98
101
|
logger
|
|
99
|
-
faraday-http-cache (2.
|
|
102
|
+
faraday-http-cache (2.6.1)
|
|
100
103
|
faraday (>= 0.8)
|
|
101
104
|
faraday-multipart (1.2.0)
|
|
102
105
|
multipart-post (~> 2.0)
|
|
@@ -104,24 +107,25 @@ GEM
|
|
|
104
107
|
net-http (~> 0.5)
|
|
105
108
|
faraday-retry (2.4.0)
|
|
106
109
|
faraday (~> 2.0)
|
|
107
|
-
ffi (1.17.
|
|
108
|
-
ffi (1.17.
|
|
109
|
-
ffi (1.17.
|
|
110
|
-
ffi (1.17.
|
|
111
|
-
ffi (1.17.
|
|
112
|
-
ffi (1.17.
|
|
113
|
-
ffi (1.17.
|
|
114
|
-
ffi (1.17.
|
|
115
|
-
ffi (1.17.
|
|
110
|
+
ffi (1.17.3-aarch64-linux-gnu)
|
|
111
|
+
ffi (1.17.3-aarch64-linux-musl)
|
|
112
|
+
ffi (1.17.3-arm-linux-gnu)
|
|
113
|
+
ffi (1.17.3-arm-linux-musl)
|
|
114
|
+
ffi (1.17.3-arm64-darwin)
|
|
115
|
+
ffi (1.17.3-x64-mingw-ucrt)
|
|
116
|
+
ffi (1.17.3-x86_64-darwin)
|
|
117
|
+
ffi (1.17.3-x86_64-linux-gnu)
|
|
118
|
+
ffi (1.17.3-x86_64-linux-musl)
|
|
116
119
|
gli (2.22.2)
|
|
117
120
|
ostruct
|
|
118
121
|
hashdiff (1.2.1)
|
|
119
|
-
iri (0.11.
|
|
120
|
-
json (2.18.
|
|
122
|
+
iri (0.11.8)
|
|
123
|
+
json (2.18.1)
|
|
121
124
|
language_server-protocol (3.17.0.5)
|
|
122
125
|
lint_roller (1.1.0)
|
|
123
126
|
logger (1.7.0)
|
|
124
|
-
loog (0.
|
|
127
|
+
loog (0.8.0)
|
|
128
|
+
ellipsized
|
|
125
129
|
logger (~> 1.0)
|
|
126
130
|
memoist3 (1.0.0)
|
|
127
131
|
mini_mime (1.1.5)
|
|
@@ -133,30 +137,30 @@ GEM
|
|
|
133
137
|
builder
|
|
134
138
|
minitest (>= 5.0)
|
|
135
139
|
ruby-progressbar
|
|
136
|
-
minitest-retry (0.3.
|
|
140
|
+
minitest-retry (0.3.1)
|
|
137
141
|
minitest (>= 5.0)
|
|
138
142
|
moments (0.3.0)
|
|
139
143
|
multi_test (1.1.0)
|
|
140
144
|
multipart-post (2.4.1)
|
|
141
145
|
net-http (0.9.1)
|
|
142
146
|
uri (>= 0.11.1)
|
|
143
|
-
nokogiri (1.
|
|
147
|
+
nokogiri (1.19.0-aarch64-linux-gnu)
|
|
144
148
|
racc (~> 1.4)
|
|
145
|
-
nokogiri (1.
|
|
149
|
+
nokogiri (1.19.0-aarch64-linux-musl)
|
|
146
150
|
racc (~> 1.4)
|
|
147
|
-
nokogiri (1.
|
|
151
|
+
nokogiri (1.19.0-arm-linux-gnu)
|
|
148
152
|
racc (~> 1.4)
|
|
149
|
-
nokogiri (1.
|
|
153
|
+
nokogiri (1.19.0-arm-linux-musl)
|
|
150
154
|
racc (~> 1.4)
|
|
151
|
-
nokogiri (1.
|
|
155
|
+
nokogiri (1.19.0-arm64-darwin)
|
|
152
156
|
racc (~> 1.4)
|
|
153
|
-
nokogiri (1.
|
|
157
|
+
nokogiri (1.19.0-x64-mingw-ucrt)
|
|
154
158
|
racc (~> 1.4)
|
|
155
|
-
nokogiri (1.
|
|
159
|
+
nokogiri (1.19.0-x86_64-darwin)
|
|
156
160
|
racc (~> 1.4)
|
|
157
|
-
nokogiri (1.
|
|
161
|
+
nokogiri (1.19.0-x86_64-linux-gnu)
|
|
158
162
|
racc (~> 1.4)
|
|
159
|
-
nokogiri (1.
|
|
163
|
+
nokogiri (1.19.0-x86_64-linux-musl)
|
|
160
164
|
racc (~> 1.4)
|
|
161
165
|
online (0.3.0)
|
|
162
166
|
openssl (>= 3)
|
|
@@ -166,12 +170,15 @@ GEM
|
|
|
166
170
|
ostruct (0.6.3)
|
|
167
171
|
others (0.1.1)
|
|
168
172
|
parallel (1.27.0)
|
|
169
|
-
parser (3.3.10.
|
|
173
|
+
parser (3.3.10.1)
|
|
170
174
|
ast (~> 2.4.1)
|
|
171
175
|
racc
|
|
172
|
-
prism (1.
|
|
173
|
-
|
|
174
|
-
|
|
176
|
+
prism (1.9.0)
|
|
177
|
+
psych (5.3.1)
|
|
178
|
+
date
|
|
179
|
+
stringio
|
|
180
|
+
public_suffix (7.0.2)
|
|
181
|
+
qbash (0.7.2)
|
|
175
182
|
backtrace (> 0)
|
|
176
183
|
elapsed (> 0)
|
|
177
184
|
loog (> 0)
|
|
@@ -179,12 +186,16 @@ GEM
|
|
|
179
186
|
racc (1.8.1)
|
|
180
187
|
rainbow (3.1.1)
|
|
181
188
|
rake (13.3.1)
|
|
182
|
-
random-port (0.
|
|
189
|
+
random-port (0.8.2)
|
|
183
190
|
tago (~> 0.0)
|
|
191
|
+
rdoc (7.2.0)
|
|
192
|
+
erb
|
|
193
|
+
psych (>= 4.0.0)
|
|
194
|
+
tsort
|
|
184
195
|
regexp_parser (2.11.3)
|
|
185
196
|
retries (0.0.5)
|
|
186
197
|
rexml (3.4.4)
|
|
187
|
-
rubocop (1.
|
|
198
|
+
rubocop (1.84.2)
|
|
188
199
|
json (~> 2.3)
|
|
189
200
|
language_server-protocol (~> 3.17.0.2)
|
|
190
201
|
lint_roller (~> 1.1.0)
|
|
@@ -192,7 +203,7 @@ GEM
|
|
|
192
203
|
parser (>= 3.3.0.2)
|
|
193
204
|
rainbow (>= 2.2.2, < 4.0)
|
|
194
205
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
195
|
-
rubocop-ast (>= 1.
|
|
206
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
196
207
|
ruby-progressbar (~> 1.7)
|
|
197
208
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
198
209
|
rubocop-ast (1.49.0)
|
|
@@ -219,12 +230,14 @@ GEM
|
|
|
219
230
|
simplecov (~> 0.19)
|
|
220
231
|
simplecov-html (0.13.2)
|
|
221
232
|
simplecov_json_formatter (0.1.4)
|
|
233
|
+
stringio (3.2.0)
|
|
222
234
|
sys-uname (1.4.1)
|
|
223
235
|
ffi (~> 1.1)
|
|
224
236
|
memoist3 (~> 1.0.0)
|
|
225
|
-
tago (0.
|
|
237
|
+
tago (0.7.0)
|
|
226
238
|
timeout (0.6.0)
|
|
227
239
|
total (0.4.2)
|
|
240
|
+
tsort (0.2.0)
|
|
228
241
|
typhoeus (1.4.1)
|
|
229
242
|
ethon (>= 0.9.0)
|
|
230
243
|
unicode-display_width (3.2.0)
|
|
@@ -267,6 +280,7 @@ DEPENDENCIES
|
|
|
267
280
|
qbash (~> 0.4)
|
|
268
281
|
rake (~> 13.2)
|
|
269
282
|
random-port (~> 0.7)
|
|
283
|
+
rdoc (= 7.2.0)
|
|
270
284
|
rubocop (~> 1.74)
|
|
271
285
|
rubocop-minitest (~> 0.38)
|
|
272
286
|
rubocop-performance (~> 1.25)
|
|
@@ -275,7 +289,7 @@ DEPENDENCIES
|
|
|
275
289
|
simplecov-cobertura (~> 3.0)
|
|
276
290
|
w3c_validators (~> 1.3)
|
|
277
291
|
webmock (~> 3.25)
|
|
278
|
-
yard (
|
|
292
|
+
yard (= 0.9.38)
|
|
279
293
|
|
|
280
294
|
BUNDLED WITH
|
|
281
295
|
2.6.8
|
data/Rakefile
CHANGED
|
@@ -37,7 +37,7 @@ task :picks do
|
|
|
37
37
|
next if OS.windows?
|
|
38
38
|
%w[test lib].each do |d|
|
|
39
39
|
Dir["#{d}/**/*.rb"].each do |f|
|
|
40
|
-
qbash("bundle exec ruby #{Shellwords.escape(f)}",
|
|
40
|
+
qbash("bundle exec ruby #{Shellwords.escape(f)}", stdout: $stdout, env: { 'PICKS' => 'yes' })
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
end
|
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.
|
|
19
|
+
When I run bin/judges with "--factbase 0.19.6 --verbose test --judge guess ./fixtures"
|
|
20
20
|
Then Exit code is zero
|
|
21
|
-
And Stdout contains "Factbase version to be used: '0.19.
|
|
21
|
+
And Stdout contains "Factbase version to be used: '0.19.6'"
|
|
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.60.0'
|
|
13
13
|
s.license = 'MIT'
|
|
14
14
|
s.summary = 'Command-Line Tool for a Factbase'
|
|
15
15
|
s.description =
|
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
|
|
|
29
29
|
s.add_dependency 'baza.rb', '~>0.10'
|
|
30
30
|
s.add_dependency 'concurrent-ruby', '~>1.2'
|
|
31
31
|
s.add_dependency 'elapsed', '~>0.2'
|
|
32
|
+
s.add_dependency 'ellipsized', '~>0.3'
|
|
32
33
|
s.add_dependency 'factbase', '~>0.16'
|
|
33
34
|
s.add_dependency 'gli', '~>2.21'
|
|
34
35
|
s.add_dependency 'iri', '~>0.11'
|
data/lib/judges/commands/test.rb
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 Yegor Bugayenko
|
|
4
4
|
# SPDX-License-Identifier: MIT
|
|
5
|
-
|
|
6
5
|
require 'nokogiri'
|
|
7
6
|
require 'factbase'
|
|
8
7
|
require 'backtrace'
|
|
9
8
|
require 'factbase/to_xml'
|
|
10
9
|
require 'elapsed'
|
|
10
|
+
require 'ellipsized'
|
|
11
11
|
require 'timeout'
|
|
12
12
|
require_relative '../../judges'
|
|
13
13
|
require_relative '../../judges/to_rel'
|
|
@@ -106,7 +106,7 @@ class Judges::Test
|
|
|
106
106
|
format(fmt, 'Script', 'Seconds', 'Result'),
|
|
107
107
|
format(fmt, '---', '---', '---'),
|
|
108
108
|
times.sort_by { |_, v| v }.reverse.map do |script, sec|
|
|
109
|
-
format(fmt, script, format('%.3f', sec), errors.include?(script) ? 'ERROR' : 'OK')
|
|
109
|
+
format(fmt, script.ellipsized(50), format('%.3f', sec), errors.include?(script) ? 'ERROR' : 'OK')
|
|
110
110
|
end.join("\n ")
|
|
111
111
|
].join("\n ")
|
|
112
112
|
)
|
|
@@ -213,9 +213,13 @@ class Judges::Update
|
|
|
213
213
|
throw :"👍 The '#{judge.name}' judge #{impact} out of #{fb.size} facts"
|
|
214
214
|
end
|
|
215
215
|
rescue StandardError, SyntaxError => e
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
if e.is_a?(RuntimeError) && e.message == 'skip'
|
|
217
|
+
result = 'SKIPPED'
|
|
218
|
+
else
|
|
219
|
+
@loog.warn(Backtrace.new(e))
|
|
220
|
+
errors << e.message
|
|
221
|
+
result = 'ERROR'
|
|
222
|
+
end
|
|
219
223
|
ensure
|
|
220
224
|
statistics&.record(judge.name, Time.now - start_time, result, impact) if start_time
|
|
221
225
|
end
|
data/lib/judges/judge.rb
CHANGED
|
@@ -81,6 +81,7 @@ class Judges::Judge
|
|
|
81
81
|
# rubocop:disable Lint/RescueException
|
|
82
82
|
rescue Exception => e
|
|
83
83
|
# rubocop:enable Lint/RescueException
|
|
84
|
+
raise e if e.is_a?(RuntimeError) && e.message == 'skip'
|
|
84
85
|
@loog.error(Backtrace.new(e))
|
|
85
86
|
raise e if e.is_a?(StandardError)
|
|
86
87
|
raise e if e.is_a?(Timeout::ExitException)
|
data/lib/judges.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: judges
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.60.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yegor Bugayenko
|
|
@@ -65,6 +65,20 @@ dependencies:
|
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
67
|
version: '0.2'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: ellipsized
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '0.3'
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '0.3'
|
|
68
82
|
- !ruby/object:Gem::Dependency
|
|
69
83
|
name: factbase
|
|
70
84
|
requirement: !ruby/object:Gem::Requirement
|