mesa_test 0.2.1 → 0.2.2
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 +5 -5
- data/bin/mesa_test +24 -9
- data/lib/mesa_test.rb +25 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 26ef4bd6ae1c1477a4854e2538e82739cc014f8f
|
4
|
+
data.tar.gz: 3c6f8083a3b8f398581d84dbd90e655b7d106a2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c3d20717f37ff348806b287c97e450e102e8bbd21bdebdeffbe54c265091d578c0d3dee5aa7761aa8ce6912b61ad18e7bda8ddfd88f956540b9ebde36104183
|
7
|
+
data.tar.gz: 8b096bd903232e3ebd9b9eb9db216bac67540368417307eac3596e991da07a67768e0cc83d36804e8c62167d2b6677698e95295a79caf26794a03c49c398aee3
|
data/bin/mesa_test
CHANGED
@@ -59,11 +59,15 @@ class MesaTest < Thor
|
|
59
59
|
type: :string, default: 'all', aliases: '-m'
|
60
60
|
option :log, type: :boolean, default: true, desc: 'Save yml file of test ' \
|
61
61
|
'results in test case directory.'
|
62
|
+
option :auto_diff, desc: 'Automatically determine if diffs should be run '\
|
63
|
+
'from svn log entry. Overrides --diff or --no-diff.',
|
64
|
+
type: :boolean, default: false
|
62
65
|
def test_one(mesa_dir, test_case_name)
|
63
66
|
s = create_and_check_submitter(force: options[:force]) if options[:submit]
|
64
67
|
m = create_and_check_mesa(mesa_dir: mesa_dir, diff: options[:diff],
|
65
68
|
mod: options[:module].downcase.to_sym,
|
66
|
-
use_svn: options[:svn], using_sdk: using_sdk?(s)
|
69
|
+
use_svn: options[:svn], using_sdk: using_sdk?(s),
|
70
|
+
auto_diff: options[:auto_diff])
|
67
71
|
t = create_and_check_test_case(mesa: m, test_case_name: test_case_name,
|
68
72
|
mod: options[:module].downcase.to_sym)
|
69
73
|
|
@@ -113,11 +117,16 @@ class MesaTest < Thor
|
|
113
117
|
type: :string, default: 'all', aliases: '-m'
|
114
118
|
option :log, type: :boolean, default: true, desc: 'Save yml file of test ' \
|
115
119
|
'results in test case directory.'
|
120
|
+
option :auto_diff, desc: 'Automatically determine if diffs should be run '\
|
121
|
+
'from svn log entry. Overrides --diff or --no-diff.',
|
122
|
+
type: :boolean, default: false
|
116
123
|
def test_revision(mesa_dir)
|
117
124
|
s = create_and_check_submitter(force: options[:force]) if options[:submit]
|
118
125
|
m = create_and_check_mesa(mesa_dir: mesa_dir, diff: options[:diff],
|
119
126
|
mod: options[:module].downcase.to_sym,
|
120
|
-
use_svn: options[:svn],
|
127
|
+
use_svn: options[:svn],
|
128
|
+
using_sdk: using_sdk?(s),
|
129
|
+
auto_diff: options[:auto_diff])
|
121
130
|
|
122
131
|
# run all tests
|
123
132
|
m.each_test_run_and_diff(log_results: options[:log],
|
@@ -274,8 +283,11 @@ class MesaTest < Thor
|
|
274
283
|
'submission of complete results.', default: false
|
275
284
|
option :log, type: :boolean, default: true, desc: 'Save yml file of test ' \
|
276
285
|
'results in test case directory.'
|
286
|
+
option :auto_diff, desc: 'Automatically determine if diffs should be run '\
|
287
|
+
'from svn log entry. Overrides --diff or --no-diff.',
|
288
|
+
type: :boolean, default: false
|
277
289
|
def install_and_test_revision(version, mesa_dir)
|
278
|
-
s = nil
|
290
|
+
s = nil # to make sure using_sdk? below will work properly
|
279
291
|
s = create_and_check_submitter(force: options[:force]) if options[:submit]
|
280
292
|
mesa_version, diff = filter_version_and_diff(version, s)
|
281
293
|
if mesa_version.nil?
|
@@ -292,7 +304,8 @@ class MesaTest < Thor
|
|
292
304
|
shell.say "\nFailed in compiling MESA r-#{m.version_number}.", :red
|
293
305
|
else
|
294
306
|
check_mesa(m)
|
295
|
-
update_mesa(mesa: m, diff: diff, mod: options[:module].downcase.to_sym
|
307
|
+
update_mesa(mesa: m, diff: diff, mod: options[:module].downcase.to_sym,
|
308
|
+
auto_diff: options[:auto_diff])
|
296
309
|
|
297
310
|
# run all tests. Don't be fooled, whether or not a diff happens is set
|
298
311
|
# by the diff attribute of the mesa object, set above.
|
@@ -335,10 +348,10 @@ class MesaTest < Thor
|
|
335
348
|
end
|
336
349
|
|
337
350
|
def create_and_check_mesa(mesa_dir:, use_svn: true, diff: true, mod: :all,
|
338
|
-
using_sdk: true)
|
351
|
+
using_sdk: true, auto_diff: false)
|
339
352
|
m = Mesa.new(mesa_dir: mesa_dir, use_svn: use_svn, using_sdk: using_sdk)
|
340
353
|
check_mesa(m)
|
341
|
-
update_mesa(mesa: m, diff: diff, mod: mod)
|
354
|
+
update_mesa(mesa: m, diff: diff, mod: mod, auto_diff: true)
|
342
355
|
m
|
343
356
|
end
|
344
357
|
|
@@ -349,10 +362,12 @@ class MesaTest < Thor
|
|
349
362
|
end
|
350
363
|
end
|
351
364
|
|
352
|
-
def update_mesa(mesa:, diff: true, mod: :all)
|
365
|
+
def update_mesa(mesa:, diff: true, mod: :all, auto_diff: false)
|
353
366
|
mesa.load_test_source_data(mod: mod)
|
354
|
-
# choose whether to update checksums
|
355
|
-
mesa.update_checksums = !diff
|
367
|
+
# choose whether to update checksums.
|
368
|
+
mesa.update_checksums = !diff unless diff.nil?
|
369
|
+
# automatically figure out diff situation. Overrides choice from diff!
|
370
|
+
mesa.determine_diff if auto_diff
|
356
371
|
end
|
357
372
|
|
358
373
|
def create_and_check_test_case(mesa:, test_case_name:, mod: :all)
|
data/lib/mesa_test.rb
CHANGED
@@ -553,6 +553,31 @@ class Mesa
|
|
553
553
|
@use_svn
|
554
554
|
end
|
555
555
|
|
556
|
+
def determine_diff
|
557
|
+
# automatically determine if update_checksums should be true (don't do
|
558
|
+
# diffs or true (DO do diffs). Only works if svn data has ALREADY been
|
559
|
+
# loaded
|
560
|
+
|
561
|
+
# don't do anything to @update_checksums if we haven't loaded svn data
|
562
|
+
return unless @svn_log
|
563
|
+
|
564
|
+
# by default, DON'T do diffs
|
565
|
+
@update_checksums = true
|
566
|
+
|
567
|
+
# list of phrases, which, if present in the log entry, will trigger diffs
|
568
|
+
[
|
569
|
+
/updated? checksums?/i,
|
570
|
+
/checksums? updated?/i,
|
571
|
+
/ready for diffs?/i,
|
572
|
+
].each { |trigger| @update_checksums = false if trigger =~ @svn_log }
|
573
|
+
if @update_checksums
|
574
|
+
shell.say "\nFrom svn log, didn't decide to tak diffs."
|
575
|
+
else
|
576
|
+
shell.say "From svn log, automatically decided to take diffs."
|
577
|
+
end
|
578
|
+
shell.say "log entry: #{@svn_log}"
|
579
|
+
end
|
580
|
+
|
556
581
|
def version_number
|
557
582
|
version = @svn_version || 0
|
558
583
|
# fall back to MESA_DIR/data's version number svn didn't work
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mesa_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Wolf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
82
|
version: '0'
|
83
83
|
requirements: []
|
84
84
|
rubyforge_project:
|
85
|
-
rubygems_version: 2.
|
85
|
+
rubygems_version: 2.6.14
|
86
86
|
signing_key:
|
87
87
|
specification_version: 4
|
88
88
|
summary: Command line tool for running and reporting the MESA test suites.
|