mesa_test 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|