avm-tools 0.111.0 → 0.112.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/lib/avm/tools/runner/app_src/test.rb +69 -7
- data/lib/avm/tools/version.rb +1 -1
- metadata +4 -5
- data/lib/avm/data.rb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b66b870dd3773fc0d1b9f01af2b1071c16dd477b97f11fdf97f2635bebadf8c
|
4
|
+
data.tar.gz: 1c7d80182eee3d3d144e324c4d189e1252d7b47284f03cc8404d3b01793159c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fc387867645488cfa6be38135087ff5ff9cd9b8785b6c09d38562faecc0e3c995d0415d36f70c1ff61765c0f3ea094f9007af3a9a4434c70d242a47e1ad852c
|
7
|
+
data.tar.gz: 64cd91c8f706d397354e1900028dc504863c6dedc7182da287d864e19e6ab00caf52e0754867d9c393001dd5486e80db5451e63440fe5db359152302a816cd44
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avm/tools/core_ext'
|
4
|
+
require 'avm/sources/tests/builder'
|
4
5
|
|
5
6
|
module Avm
|
6
7
|
module Tools
|
@@ -9,20 +10,81 @@ module Avm
|
|
9
10
|
class Test
|
10
11
|
runner_with :help do
|
11
12
|
desc 'Test local project.'
|
13
|
+
bool_opt '-a', '--all', 'Same as "--self --subs".'
|
14
|
+
bool_opt '-f', '--fail-fast', 'Abort after first failure.'
|
15
|
+
bool_opt '-m', '--main', 'Test main source.'
|
16
|
+
bool_opt '-s', '--subs', 'Test subs\' sources.'
|
17
|
+
pos_arg :source_id, repeat: true, optional: true
|
12
18
|
end
|
13
19
|
|
14
20
|
def run
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
21
|
+
reset_tested_units
|
22
|
+
start_banner
|
23
|
+
show_units_results
|
24
|
+
final_result
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
attr_accessor :tested_units
|
30
|
+
|
31
|
+
def failed_units
|
32
|
+
tested_units.select(&:failed?)
|
33
|
+
end
|
34
|
+
|
35
|
+
def final_result
|
36
|
+
if failed_units.any?
|
37
|
+
failed_units.each do |unit|
|
38
|
+
infov ' * Source', unit
|
39
|
+
info unit.logs.truncate_all
|
40
|
+
end
|
41
|
+
fatal_error 'Some test did not pass'
|
19
42
|
else
|
20
|
-
|
43
|
+
success 'None test failed'
|
21
44
|
end
|
22
45
|
end
|
23
46
|
|
24
|
-
def
|
25
|
-
|
47
|
+
def include_main?
|
48
|
+
parsed.main? || parsed.all?
|
49
|
+
end
|
50
|
+
|
51
|
+
def include_subs?
|
52
|
+
parsed.subs? || parsed.all?
|
53
|
+
end
|
54
|
+
|
55
|
+
def reset_tested_units
|
56
|
+
self.tested_units = []
|
57
|
+
end
|
58
|
+
|
59
|
+
def show_units_results
|
60
|
+
test_performer.units.each do |unit|
|
61
|
+
infov unit, unit_result(unit)
|
62
|
+
tested_units << unit
|
63
|
+
break if unit.failed? && parsed.fail_fast?
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def start_banner
|
68
|
+
runner_context.call(:instance_banner)
|
69
|
+
infov 'Selected units', test_performer.units.count
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_builder
|
73
|
+
r = ::Avm::Sources::Tests::Builder.new(runner_context.call(:subject))
|
74
|
+
.include_main(include_main?)
|
75
|
+
.include_subs(include_subs?)
|
76
|
+
parsed.source_id.inject(r) { |a, e| a.include_id(e) }
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_performer_uncached
|
80
|
+
test_builder.performer
|
81
|
+
end
|
82
|
+
|
83
|
+
def unit_result(unit)
|
84
|
+
(
|
85
|
+
[unit.result.to_label] +
|
86
|
+
%i[stdout stderr].map { |label| "#{label.to_s.upcase}: #{unit.logs[label]}" }
|
87
|
+
).join(' | '.blue)
|
26
88
|
end
|
27
89
|
end
|
28
90
|
end
|
data/lib/avm/tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.112.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha-parsers
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.9'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
40
|
+
version: '0.9'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: avm-eac_asciidoctor_base0
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -254,7 +254,6 @@ files:
|
|
254
254
|
- Gemfile
|
255
255
|
- exe/avm
|
256
256
|
- lib/avm.rb
|
257
|
-
- lib/avm/data.rb
|
258
257
|
- lib/avm/eac_rails_base0.rb
|
259
258
|
- lib/avm/eac_rails_base0/apache_host.rb
|
260
259
|
- lib/avm/eac_rails_base0/apache_path.rb
|