judges 0.43.0 ā 0.44.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.lock +1 -1
- data/bin/judges +2 -0
- data/judges.gemspec +1 -1
- data/lib/judges/commands/update.rb +6 -0
- data/lib/judges.rb +1 -1
- data/test/commands/test_update.rb +36 -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: bc9d8bdc800247520e9f42a07f90143c7c3fcf505a4a993221d7aa8437b11611
|
4
|
+
data.tar.gz: 21d88232ebe5299cf672945ab83c702a3c942d984f233bd9f714fb2cdb846609
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb1ac7d1219d4f901c5856e8c2698c4e77eaf5a3b0f8f0658bc94e1304f5597b3cada4a9c1ba85660bbaebd81a2e03cea58a92b7ba8e1a2c820e3403ea269a60
|
7
|
+
data.tar.gz: a9937c3f3d031d3d2c6e1265d8ccc2bf0365ffcda171d539bdf03a22d68d6a3d887a6010beb876c17fd1f2a31cd38d06d0e7473861bc3e6cb2a21b62857041a3
|
data/Gemfile.lock
CHANGED
data/bin/judges
CHANGED
@@ -89,6 +89,8 @@ class JudgesGLI extend GLI::App
|
|
89
89
|
c.switch([:summary], default_value: false)
|
90
90
|
c.desc 'Use default logging facility'
|
91
91
|
c.switch([:log], default_value: true)
|
92
|
+
c.desc 'Expect at least one judge to be used (fail if none are used)'
|
93
|
+
c.switch([:'expect-judges'], default_value: true)
|
92
94
|
run_it(c, 'update')
|
93
95
|
end
|
94
96
|
|
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.44.0'
|
13
13
|
s.license = 'MIT'
|
14
14
|
s.summary = 'Command-Line Tool for a Factbase'
|
15
15
|
s.description =
|
@@ -145,6 +145,7 @@ class Judges::Update
|
|
145
145
|
def cycle(opts, judges, fb, options, start, errors)
|
146
146
|
churn = Factbase::Churn.new
|
147
147
|
global = {}
|
148
|
+
used = 0
|
148
149
|
elapsed(@loog, level: Logger::INFO) do
|
149
150
|
done =
|
150
151
|
judges.each_with_index do |judge, i|
|
@@ -154,6 +155,7 @@ class Judges::Update
|
|
154
155
|
end
|
155
156
|
next unless include?(opts, judge.name)
|
156
157
|
@loog.info("\nš Running #{judge.name} (##{i}) at #{judge.dir.to_rel} (#{start.ago} already)...")
|
158
|
+
used += 1
|
157
159
|
elapsed(@loog, level: Logger::INFO) do
|
158
160
|
c = one_judge(opts, fb, judge, global, options, errors)
|
159
161
|
churn += c
|
@@ -166,6 +168,10 @@ class Judges::Update
|
|
166
168
|
throw :"š #{done} judge(s) processed" if errors.empty?
|
167
169
|
throw :"ā #{done} judge(s) processed with #{errors.size} errors"
|
168
170
|
end
|
171
|
+
if used.zero?
|
172
|
+
raise 'No judges were used, while at least one expected to run' if opts['expect-judges']
|
173
|
+
@loog.info('No judges were used (looks like an error); not failing because of --no-expect-judges')
|
174
|
+
end
|
169
175
|
unless errors.empty?
|
170
176
|
raise "Failed to update correctly (#{errors.size} errors)" unless opts['quiet']
|
171
177
|
@loog.info('Not failing because of the --quiet flag provided')
|
data/lib/judges.rb
CHANGED
@@ -156,4 +156,40 @@ class TestUpdate < Minitest::Test
|
|
156
156
|
assert_equal(0, fb.size)
|
157
157
|
end
|
158
158
|
end
|
159
|
+
|
160
|
+
def test_fails_when_no_judges_used
|
161
|
+
assert_raises(StandardError) do
|
162
|
+
Dir.mktmpdir do |d|
|
163
|
+
save_it(File.join(d, 'foo/foo.rb'), '$fb.insert')
|
164
|
+
file = File.join(d, 'base.fb')
|
165
|
+
Judges::Update.new(Loog::NULL).run({ 'judge' => ['nonexistent'], 'expect-judges' => true }, [d, file])
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
def test_fails_when_empty_directory
|
171
|
+
assert_raises(StandardError) do
|
172
|
+
Dir.mktmpdir do |d|
|
173
|
+
file = File.join(d, 'base.fb')
|
174
|
+
Judges::Update.new(Loog::NULL).run({ 'expect-judges' => true }, [d, file])
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
def test_no_failure_when_expect_judges_false
|
180
|
+
Dir.mktmpdir do |d|
|
181
|
+
file = File.join(d, 'base.fb')
|
182
|
+
Judges::Update.new(Loog::NULL).run({ 'expect-judges' => false }, [d, file])
|
183
|
+
assert_path_exists(file)
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
def test_no_failure_with_nonexistent_judge_when_expect_judges_false
|
188
|
+
Dir.mktmpdir do |d|
|
189
|
+
save_it(File.join(d, 'foo/foo.rb'), '$fb.insert')
|
190
|
+
file = File.join(d, 'base.fb')
|
191
|
+
Judges::Update.new(Loog::NULL).run({ 'judge' => ['nonexistent'], 'expect-judges' => false }, [d, file])
|
192
|
+
assert_path_exists(file)
|
193
|
+
end
|
194
|
+
end
|
159
195
|
end
|