teuton 3.2.1 → 3.4.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/README.md +18 -20
- data/docs/commands/README.md +12 -10
- data/docs/commands/check.md +17 -15
- data/docs/commands/{readme.md → doc.md} +3 -5
- data/docs/commands/help.md +23 -13
- data/docs/devel/todo.md +2 -8
- data/docs/dsl/README.md +9 -8
- data/docs/dsl/event.md +172 -0
- data/docs/dsl/target.md +0 -14
- data/docs/install/t-node.md +10 -21
- data/docs/learn/01-cmd_new.md +1 -1
- data/docs/learn/02-target.md +52 -50
- data/docs/learn/03-remote_hosts.md +15 -16
- data/docs/learn/04-config.md +70 -69
- data/docs/learn/05-use.md +1 -1
- data/docs/learn/06-cmd_check.md +28 -26
- data/docs/learn/07-target_weight.md +7 -5
- data/docs/learn/08-unique_values.md +32 -30
- data/docs/learn/09-send.md +2 -2
- data/docs/learn/10-debug.md +38 -1
- data/docs/learn/11-export.md +1 -1
- data/docs/learn/12-preserve.md +4 -4
- data/docs/learn/13-feedback.md +12 -11
- data/docs/learn/14-moodle_id.md +3 -3
- data/docs/learn/15-readme.md +12 -12
- data/docs/learn/16-include.md +9 -9
- data/docs/learn/17-alias.md +2 -2
- data/docs/learn/18-log.md +46 -44
- data/docs/learn/19-read_vars.md +1 -1
- data/docs/learn/20-macros.md +1 -1
- data/docs/learn/21-exit_codes.md +1 -1
- data/docs/learn/22-result.md +1 -1
- data/docs/learn/23-test-code.md +14 -11
- data/docs/learn/24-test-sql.md +6 -6
- data/docs/learn/25-expect-result.md +1 -1
- data/docs/learn/26-expect_sequence.md +2 -2
- data/docs/learn/27-run_script.md +9 -6
- data/docs/learn/28-upload.md +3 -1
- data/docs/learn/31-event-stop.md +134 -0
- data/docs/learn/32-event-zero.md +127 -0
- data/docs/more.md +4 -1
- data/lib/teuton/case/{action.rb → action/action.rb} +18 -10
- data/lib/teuton/case/action/manager.rb +198 -0
- data/lib/teuton/case/case.rb +15 -13
- data/lib/teuton/case/close.rb +7 -7
- data/lib/teuton/case/dsl/all.rb +1 -0
- data/lib/teuton/case/dsl/event.rb +5 -0
- data/lib/teuton/case/dsl/expect.rb +6 -4
- data/lib/teuton/case/dsl/log.rb +10 -9
- data/lib/teuton/case/dsl/macro.rb +1 -1
- data/lib/teuton/case/dsl/run.rb +10 -15
- data/lib/teuton/case/dsl/target.rb +10 -3
- data/lib/teuton/case/play.rb +1 -1
- data/lib/teuton/case/result/ext_compare.rb +10 -10
- data/lib/teuton/case_manager/dsl.rb +6 -2
- data/lib/teuton/case_manager/ext/report.rb +0 -4
- data/lib/teuton/case_manager/show_resume_report.rb +29 -30
- data/lib/teuton/check/checker.rb +19 -8
- data/lib/teuton/check/dsl/all.rb +10 -16
- data/lib/teuton/check/dsl/event.rb +10 -0
- data/lib/teuton/check/dsl/expect.rb +21 -45
- data/lib/teuton/check/dsl/getset.rb +2 -2
- data/lib/teuton/check/dsl/run.rb +2 -2
- data/lib/teuton/check/dsl/target.rb +17 -0
- data/lib/teuton/check/show.rb +35 -41
- data/lib/teuton/cli/app.rb +16 -8
- data/lib/teuton/readme/dsl/all.rb +16 -2
- data/lib/teuton/readme/main.rb +2 -2
- data/lib/teuton/report/formatter/default/array.rb +15 -29
- data/lib/teuton/report/formatter/default/txt.rb +42 -30
- data/lib/teuton/report/formatter/resume/txt.rb +27 -26
- data/lib/teuton/report/formatter/resume/xml.rb +4 -4
- data/lib/teuton/report/report.rb +5 -36
- data/lib/teuton/utils/project.rb +4 -3
- data/lib/teuton/version.rb +1 -1
- metadata +14 -7
- data/docs/tutorial/es/nginx/README.md +0 -546
- data/lib/teuton/deprecated/utils.rb +0 -14
|
@@ -5,7 +5,7 @@ require_relative "getset"
|
|
|
5
5
|
require_relative "run"
|
|
6
6
|
|
|
7
7
|
module ReadmeDSL
|
|
8
|
-
def
|
|
8
|
+
def doc(text)
|
|
9
9
|
if @action.description.nil?
|
|
10
10
|
@current[:readme] << text # It's a group readme
|
|
11
11
|
else
|
|
@@ -13,6 +13,11 @@ module ReadmeDSL
|
|
|
13
13
|
end
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
+
def readme(...)
|
|
17
|
+
Logger.warn("Keyword deprecated: Replace 'readme' by 'doc'.")
|
|
18
|
+
doc(...)
|
|
19
|
+
end
|
|
20
|
+
|
|
16
21
|
def target(desc, args = {})
|
|
17
22
|
previous_host = @action.host
|
|
18
23
|
@action.description = desc
|
|
@@ -22,7 +27,16 @@ module ReadmeDSL
|
|
|
22
27
|
weight = args[:weight].to_f if args[:weight]
|
|
23
28
|
@action.weight = weight
|
|
24
29
|
end
|
|
25
|
-
|
|
30
|
+
|
|
31
|
+
def goal(...)
|
|
32
|
+
Logger.warn("Keyword deprecated: Replace 'goal' by 'target'.")
|
|
33
|
+
target(...)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def event(*args, &block)
|
|
37
|
+
# TODO
|
|
38
|
+
# args = on: XXX, when: XXX
|
|
39
|
+
end
|
|
26
40
|
|
|
27
41
|
def unique(_key, _value)
|
|
28
42
|
# Nothing to do
|
data/lib/teuton/readme/main.rb
CHANGED
|
@@ -20,7 +20,7 @@ def group(name, &block)
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def task(...)
|
|
23
|
-
Logger.warn "
|
|
23
|
+
Logger.warn "Keyword deprecated: Replace 'task' by 'group'"
|
|
24
24
|
group(...)
|
|
25
25
|
end
|
|
26
26
|
|
|
@@ -29,6 +29,6 @@ def play(&block)
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def start(...)
|
|
32
|
-
Logger.warn "
|
|
32
|
+
Logger.warn "Keyword deprecated: Replace `start' by' play'"
|
|
33
33
|
play(...)
|
|
34
34
|
end
|
|
@@ -33,45 +33,31 @@ class ArrayFormatter < BaseFormatter
|
|
|
33
33
|
groups = []
|
|
34
34
|
title = nil
|
|
35
35
|
targets = []
|
|
36
|
-
@lines.each do |
|
|
37
|
-
unless
|
|
38
|
-
@data[:logs] <<
|
|
36
|
+
@lines.each do |line|
|
|
37
|
+
unless line.instance_of? Hash
|
|
38
|
+
@data[:logs] << line.to_s # Add log line
|
|
39
39
|
next
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
value = 0.0
|
|
43
|
-
value =
|
|
44
|
-
if
|
|
42
|
+
# value = 0.0
|
|
43
|
+
# value = line[:weight] if line[:check]
|
|
44
|
+
if line[:groupname] != title
|
|
45
45
|
# Add currentgroup
|
|
46
46
|
groups << {title: title, targets: targets} unless title.nil?
|
|
47
47
|
# Create new group
|
|
48
|
-
title =
|
|
48
|
+
title = line[:groupname]
|
|
49
49
|
targets = []
|
|
50
50
|
end
|
|
51
|
-
|
|
52
|
-
target =
|
|
53
|
-
target[:target_id] = format("%<id>02d", id: i[:id])
|
|
54
|
-
target[:check] = i[:check]
|
|
55
|
-
target[:score] = value
|
|
56
|
-
target[:weight] = i[:weight]
|
|
57
|
-
target[:description] = i[:description]
|
|
58
|
-
|
|
59
|
-
target[:conn_type] = i[:conn_type]
|
|
60
|
-
target[:duration] = i[:duration]
|
|
61
|
-
|
|
62
|
-
target[:command] = i[:command]
|
|
63
|
-
target[:output] = i[:output]
|
|
64
|
-
target[:alterations] = i[:alterations]
|
|
65
|
-
target[:expected] = i[:expected]
|
|
66
|
-
target[:result] = i[:result]
|
|
51
|
+
target = line
|
|
52
|
+
target[:target_id] = format("%<id>02d", id: line[:id])
|
|
67
53
|
|
|
68
54
|
if options[:feedback] == false
|
|
69
|
-
target[:command] = "*" *
|
|
70
|
-
|
|
71
|
-
target[:output] = "*" *
|
|
72
|
-
target[:alterations] = "*" *
|
|
73
|
-
target[:expected] = "*" *
|
|
74
|
-
target[:result] = "*" *
|
|
55
|
+
target[:command] = "*" * line[:command].size
|
|
56
|
+
line[:output] = "" if line[:output].nil?
|
|
57
|
+
target[:output] = "*" * line[:output].size
|
|
58
|
+
target[:alterations] = "*" * line[:alterations].size
|
|
59
|
+
target[:expected] = "*" * line[:expected].size
|
|
60
|
+
target[:result] = "*" * line[:result].size
|
|
75
61
|
end
|
|
76
62
|
|
|
77
63
|
targets << target
|
|
@@ -23,44 +23,43 @@ class TXTFormatter < ArrayFormatter
|
|
|
23
23
|
private
|
|
24
24
|
|
|
25
25
|
def process_config
|
|
26
|
-
w "#{colorize("CONFIGURATION", :bg_blue)}\n"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
end
|
|
26
|
+
w "#{colorize(" \u{2692} CONFIGURATION", :bg_blue)}\n"
|
|
27
|
+
table = Terminal::Table.new do |t|
|
|
28
|
+
t.style = {border: :unicode}
|
|
29
|
+
@data[:config].sort.each { |key, value| t.add_row [key.to_s, value.to_s] }
|
|
31
30
|
end
|
|
32
|
-
w "#{
|
|
31
|
+
w "#{table}\n"
|
|
33
32
|
end
|
|
34
33
|
|
|
35
34
|
def process_logs
|
|
36
35
|
return if @data[:logs].empty?
|
|
37
36
|
|
|
38
|
-
w "#{colorize("LOGS", :bg_blue)}\n"
|
|
39
|
-
@data[:logs].each { |line| w "
|
|
37
|
+
w "#{colorize("\n \u{1f6c8} LOGS", :bg_blue)}\n"
|
|
38
|
+
@data[:logs].each { |line| w " #{line}\n" }
|
|
40
39
|
end
|
|
41
40
|
|
|
42
41
|
def process_groups
|
|
43
42
|
return if @data[:groups].empty?
|
|
44
43
|
|
|
45
|
-
w "\n#{colorize("GROUPS", :bg_blue)}\n"
|
|
44
|
+
w "\n#{colorize(" \u{2630} GROUPS", :bg_blue)}\n"
|
|
46
45
|
@data[:groups].each { |g| process_group g }
|
|
47
46
|
end
|
|
48
47
|
|
|
49
48
|
def process_results
|
|
50
|
-
w "\n#{colorize("RESULTS", :bg_blue)}\n"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
end
|
|
49
|
+
w "\n#{colorize(" \u{1f5f9} RESULTS", :bg_blue)}\n"
|
|
50
|
+
table = Terminal::Table.new do |t|
|
|
51
|
+
t.style = {border: :unicode}
|
|
52
|
+
@data[:results].each { |key, value| t.add_row [key.to_s, value.to_s] }
|
|
55
53
|
end
|
|
56
|
-
w "#{
|
|
54
|
+
w "#{table}\n"
|
|
57
55
|
end
|
|
58
56
|
|
|
59
57
|
def process_hof
|
|
60
58
|
return if @data[:hall_of_fame].empty?
|
|
61
59
|
|
|
62
|
-
w "\n#{colorize("HALL OF FAME", :bg_blue)}\n"
|
|
63
|
-
my_screen_table = Terminal::Table.new do |
|
|
60
|
+
w "\n#{colorize(" \u{2605} HALL OF FAME", :bg_blue)}\n"
|
|
61
|
+
my_screen_table = Terminal::Table.new do |t|
|
|
62
|
+
t.style = {border: :unicode}
|
|
64
63
|
@data[:hall_of_fame].each do |line|
|
|
65
64
|
color = :green
|
|
66
65
|
color = :red if line[0] < 50
|
|
@@ -70,7 +69,7 @@ class TXTFormatter < ArrayFormatter
|
|
|
70
69
|
text1 = colorize(text1, :bright)
|
|
71
70
|
text2 = colorize(text2, :bright)
|
|
72
71
|
end
|
|
73
|
-
|
|
72
|
+
t.add_row [text1, text2]
|
|
74
73
|
end
|
|
75
74
|
end
|
|
76
75
|
w "#{my_screen_table}\n"
|
|
@@ -80,21 +79,34 @@ class TXTFormatter < ArrayFormatter
|
|
|
80
79
|
|
|
81
80
|
def process_group(group)
|
|
82
81
|
tab = " "
|
|
83
|
-
w "
|
|
82
|
+
w " \u{25B6} #{colorize(group[:title], :blue_bright)}\n"
|
|
83
|
+
corner = nil
|
|
84
84
|
group[:targets].each do |i|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
if i[:check]
|
|
86
|
+
color = :green
|
|
87
|
+
symbol = Settings.letter[:ok]
|
|
88
|
+
else
|
|
89
|
+
color = :red
|
|
90
|
+
symbol = Settings.letter[:cross]
|
|
91
|
+
end
|
|
92
|
+
w tab * 1 + format(" #{symbol} %02d", i[:target_id].to_i)
|
|
88
93
|
text = "#{i[:score]}/#{i[:weight]}"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
w "#{
|
|
96
|
-
w "#{tab * 4}
|
|
94
|
+
corner = if corner.nil?
|
|
95
|
+
"┌──"
|
|
96
|
+
else
|
|
97
|
+
"├──"
|
|
98
|
+
end
|
|
99
|
+
s = " " * (10 - text.size)
|
|
100
|
+
w " (#{colorize(text, color)})#{s}#{corner}\n"
|
|
101
|
+
w "#{tab * 4}Description │ #{i[:description]}\n"
|
|
102
|
+
w "#{tab * 4}Command │ #{i[:command]}\n"
|
|
103
|
+
w "#{tab * 4}Output │ #{i[:output]}\n"
|
|
104
|
+
w "#{tab * 4}Duration │ #{i[:duration]} (#{i[:conn_type]})\n"
|
|
105
|
+
w "#{tab * 4}Alterations │ #{i[:alterations]}\n"
|
|
106
|
+
w "#{tab * 4}Expected │ #{i[:expected]}\n"
|
|
107
|
+
w "#{tab * 4}Result │ #{i[:result]}\n"
|
|
97
108
|
end
|
|
109
|
+
w "#{tab * 10}└──\n"
|
|
98
110
|
end
|
|
99
111
|
|
|
100
112
|
def colorize(text, option)
|
|
@@ -25,21 +25,21 @@ class ResumeTXTFormatter < ResumeArrayFormatter
|
|
|
25
25
|
private
|
|
26
26
|
|
|
27
27
|
def process_config
|
|
28
|
-
w "#{colorize("CONFIGURATION", :bg_blue)}\n"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
end
|
|
28
|
+
w "#{colorize(" \u{2692} CONFIGURATION ", :bg_blue)}\n"
|
|
29
|
+
table = Terminal::Table.new do |t|
|
|
30
|
+
t.style = {border: :unicode}
|
|
31
|
+
@data[:config].each { |key, value| t.add_row [key.to_s, trim(value)] }
|
|
33
32
|
end
|
|
34
|
-
w "#{
|
|
33
|
+
w "#{table}\n\n"
|
|
35
34
|
end
|
|
36
35
|
|
|
37
36
|
def process_cases
|
|
38
|
-
w "#{colorize("CASES", :bg_blue)}\n"
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
w "#{colorize(" \u{2630} CASES", :bg_blue)}\n"
|
|
38
|
+
table = Terminal::Table.new do |t|
|
|
39
|
+
t.style = {border: :unicode}
|
|
40
|
+
t.add_row %w[CASE MEMBERS GRADE STATE]
|
|
41
41
|
@data[:cases].each do |line|
|
|
42
|
-
|
|
42
|
+
t.add_row [
|
|
43
43
|
line[:id],
|
|
44
44
|
line[:members],
|
|
45
45
|
format(" %<grade>3d", {grade: line[:grade]}),
|
|
@@ -47,38 +47,39 @@ class ResumeTXTFormatter < ResumeArrayFormatter
|
|
|
47
47
|
]
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
|
-
w "#{
|
|
50
|
+
w "#{table}\n\n"
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def process_conn_errors
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
table = Terminal::Table.new do |t|
|
|
55
|
+
t.style = {border: :unicode}
|
|
56
|
+
t.add_row %w[CASE MEMBERS HOST ERROR]
|
|
56
57
|
@data[:cases].each do |line|
|
|
57
58
|
line[:conn_status].each_pair do |h, e|
|
|
58
|
-
|
|
59
|
+
t.add_row [line[:id], line[:members], h, colorize(e, :red_bright)]
|
|
59
60
|
end
|
|
60
61
|
end
|
|
61
62
|
end
|
|
62
|
-
return unless
|
|
63
|
+
return unless table.rows.size > 1
|
|
63
64
|
|
|
64
|
-
w "#{colorize("CONN ERRORS", :bg_blue)}\n#{
|
|
65
|
+
w "#{colorize(" \u{1f5f2} CONN ERRORS", :bg_blue)}\n#{table}\n\n"
|
|
65
66
|
end
|
|
66
67
|
|
|
67
68
|
def process_results
|
|
68
|
-
w "#{colorize("RESULTS", :bg_blue)}\n"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
end
|
|
69
|
+
w "#{colorize(" \u{1f5f9} RESULTS", :bg_blue)}\n"
|
|
70
|
+
table = Terminal::Table.new do |t|
|
|
71
|
+
t.style = {border: :unicode}
|
|
72
|
+
@data[:results].each { |key, value| t.add_row([key.to_s, value.to_s]) }
|
|
73
73
|
end
|
|
74
|
-
w "#{
|
|
74
|
+
w "#{table}\n\n"
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
def process_hof
|
|
78
78
|
return if @data[:hall_of_fame].size < MIN_HALL_OF_FAME
|
|
79
79
|
|
|
80
|
-
w "#{colorize(
|
|
81
|
-
|
|
80
|
+
w "#{colorize(' \u{2605} HALL OF FAME', :bg_blue)}\n"
|
|
81
|
+
table = Terminal::Table.new do |t|
|
|
82
|
+
t.style = {border: :unicode}
|
|
82
83
|
@data[:hall_of_fame].each do |line|
|
|
83
84
|
color = :green
|
|
84
85
|
color = :red if line[0] < 50
|
|
@@ -88,10 +89,10 @@ class ResumeTXTFormatter < ResumeArrayFormatter
|
|
|
88
89
|
text1 = colorize(text1, :bright)
|
|
89
90
|
text2 = colorize(text2, :bright)
|
|
90
91
|
end
|
|
91
|
-
|
|
92
|
+
t.add_row [text1, text2]
|
|
92
93
|
end
|
|
93
94
|
end
|
|
94
|
-
w "#{
|
|
95
|
+
w "#{table}\n"
|
|
95
96
|
end
|
|
96
97
|
|
|
97
98
|
def colorize(text, option)
|
|
@@ -61,10 +61,10 @@ class ResumeXMLFormatter < ResumeArrayFormatter
|
|
|
61
61
|
end
|
|
62
62
|
lines << " </conn_errors>"
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
return unless lines.size > 2
|
|
65
|
+
|
|
66
|
+
w lines.join("\n")
|
|
67
|
+
w "\n\n"
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
def process_results
|
data/lib/teuton/report/report.rb
CHANGED
|
@@ -3,16 +3,18 @@ require_relative "../utils/settings"
|
|
|
3
3
|
require_relative "formatter/formatter"
|
|
4
4
|
|
|
5
5
|
class Report
|
|
6
|
-
attr_accessor :id, :filename, :output_dir,
|
|
7
|
-
|
|
6
|
+
attr_accessor :id, :filename, :output_dir,
|
|
7
|
+
:head, :lines, :tail, :format, :history
|
|
8
8
|
|
|
9
9
|
def initialize(id = "00")
|
|
10
10
|
@id = id
|
|
11
11
|
@filename = "case-#{@id}"
|
|
12
|
-
@output_dir = Project.value[:
|
|
12
|
+
@output_dir = Project.value[:output_dir]
|
|
13
|
+
|
|
13
14
|
@head = {}
|
|
14
15
|
@lines = []
|
|
15
16
|
@tail = {unique_fault: 0}
|
|
17
|
+
# TODO
|
|
16
18
|
# [String] with 1 char for every target in @lines
|
|
17
19
|
# For example: "..F." means: good, good, fail and good
|
|
18
20
|
@history = ""
|
|
@@ -44,37 +46,4 @@ class Report
|
|
|
44
46
|
filepath = File.join(@output_dir, "moodle")
|
|
45
47
|
Formatter.call(self, {format: :moodle_csv}, filepath)
|
|
46
48
|
end
|
|
47
|
-
|
|
48
|
-
##
|
|
49
|
-
# Calculate final values:
|
|
50
|
-
# * grade
|
|
51
|
-
# * max_weight
|
|
52
|
-
# * good_weight,d
|
|
53
|
-
# * fail_weight
|
|
54
|
-
# * fail_counter
|
|
55
|
-
def close
|
|
56
|
-
max = good = fails = fail_counter = 0
|
|
57
|
-
@lines.each do |i|
|
|
58
|
-
next unless i.instance_of? Hash
|
|
59
|
-
|
|
60
|
-
max += i[:weight] if i[:weight].positive?
|
|
61
|
-
if i[:check]
|
|
62
|
-
good += i[:weight]
|
|
63
|
-
@history += Settings.letter[:good]
|
|
64
|
-
else
|
|
65
|
-
fails += i[:weight]
|
|
66
|
-
fail_counter += 1
|
|
67
|
-
@history += Settings.letter[:fail]
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
@tail[:max_weight] = max
|
|
71
|
-
@tail[:good_weight] = good
|
|
72
|
-
@tail[:fail_weight] = fails
|
|
73
|
-
@tail[:fail_counter] = fail_counter
|
|
74
|
-
|
|
75
|
-
i = good.to_f / max
|
|
76
|
-
i = 0 if i.nan?
|
|
77
|
-
@tail[:grade] = (100.0 * i).round
|
|
78
|
-
@tail[:grade] = 0 if @tail[:unique_fault].positive?
|
|
79
|
-
end
|
|
80
49
|
end
|
data/lib/teuton/utils/project.rb
CHANGED
|
@@ -8,6 +8,7 @@ class Project
|
|
|
8
8
|
@project[:running_basedir] = Dir.getwd
|
|
9
9
|
@project[:output_basedir] = "var"
|
|
10
10
|
@project[:output_dir] = @project[:output_basedir]
|
|
11
|
+
@project[:base_case_id] = "00"
|
|
11
12
|
@project[:name] = "teuton"
|
|
12
13
|
@project[:format] = :txt # Default export format
|
|
13
14
|
@project[:debug] = false # Disable/enable local executions
|
|
@@ -18,12 +19,12 @@ class Project
|
|
|
18
19
|
"quiet" => false
|
|
19
20
|
}
|
|
20
21
|
@project[:verbose] = true # Enable/disable screen outputs
|
|
21
|
-
@project[:global] = {}
|
|
22
22
|
@project[:ialias] = {} # Hash of Internal alias
|
|
23
|
-
@project[:
|
|
23
|
+
@project[:global] = {}
|
|
24
24
|
@project[:groups] = []
|
|
25
|
-
@project[:uses] = []
|
|
26
25
|
@project[:hall_of_fame] = [] # Hall of fame content
|
|
26
|
+
@project[:macros] = {}
|
|
27
|
+
@project[:uses] = []
|
|
27
28
|
end
|
|
28
29
|
|
|
29
30
|
def self.value
|
data/lib/teuton/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: teuton
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Vargas Ruiz
|
|
@@ -126,15 +126,16 @@ extra_rdoc_files:
|
|
|
126
126
|
- docs/commands/README.md
|
|
127
127
|
- docs/commands/check.md
|
|
128
128
|
- docs/commands/config.md
|
|
129
|
+
- docs/commands/doc.md
|
|
129
130
|
- docs/commands/help.md
|
|
130
131
|
- docs/commands/new.md
|
|
131
|
-
- docs/commands/readme.md
|
|
132
132
|
- docs/commands/run.md
|
|
133
133
|
- docs/config_file.md
|
|
134
134
|
- docs/devel/contribute.md
|
|
135
135
|
- docs/devel/diagram.md
|
|
136
136
|
- docs/devel/todo.md
|
|
137
137
|
- docs/dsl/README.md
|
|
138
|
+
- docs/dsl/event.md
|
|
138
139
|
- docs/dsl/expect.md
|
|
139
140
|
- docs/dsl/export.md
|
|
140
141
|
- docs/dsl/get.md
|
|
@@ -181,10 +182,11 @@ extra_rdoc_files:
|
|
|
181
182
|
- docs/learn/26-expect_sequence.md
|
|
182
183
|
- docs/learn/27-run_script.md
|
|
183
184
|
- docs/learn/28-upload.md
|
|
185
|
+
- docs/learn/31-event-stop.md
|
|
186
|
+
- docs/learn/32-event-zero.md
|
|
184
187
|
- docs/learn/README.md
|
|
185
188
|
- docs/modes_of_use.md
|
|
186
189
|
- docs/more.md
|
|
187
|
-
- docs/tutorial/es/nginx/README.md
|
|
188
190
|
files:
|
|
189
191
|
- LICENSE
|
|
190
192
|
- README.md
|
|
@@ -192,15 +194,16 @@ files:
|
|
|
192
194
|
- docs/commands/README.md
|
|
193
195
|
- docs/commands/check.md
|
|
194
196
|
- docs/commands/config.md
|
|
197
|
+
- docs/commands/doc.md
|
|
195
198
|
- docs/commands/help.md
|
|
196
199
|
- docs/commands/new.md
|
|
197
|
-
- docs/commands/readme.md
|
|
198
200
|
- docs/commands/run.md
|
|
199
201
|
- docs/config_file.md
|
|
200
202
|
- docs/devel/contribute.md
|
|
201
203
|
- docs/devel/diagram.md
|
|
202
204
|
- docs/devel/todo.md
|
|
203
205
|
- docs/dsl/README.md
|
|
206
|
+
- docs/dsl/event.md
|
|
204
207
|
- docs/dsl/expect.md
|
|
205
208
|
- docs/dsl/export.md
|
|
206
209
|
- docs/dsl/get.md
|
|
@@ -247,12 +250,14 @@ files:
|
|
|
247
250
|
- docs/learn/26-expect_sequence.md
|
|
248
251
|
- docs/learn/27-run_script.md
|
|
249
252
|
- docs/learn/28-upload.md
|
|
253
|
+
- docs/learn/31-event-stop.md
|
|
254
|
+
- docs/learn/32-event-zero.md
|
|
250
255
|
- docs/learn/README.md
|
|
251
256
|
- docs/modes_of_use.md
|
|
252
257
|
- docs/more.md
|
|
253
|
-
- docs/tutorial/es/nginx/README.md
|
|
254
258
|
- lib/teuton.rb
|
|
255
|
-
- lib/teuton/case/action.rb
|
|
259
|
+
- lib/teuton/case/action/action.rb
|
|
260
|
+
- lib/teuton/case/action/manager.rb
|
|
256
261
|
- lib/teuton/case/builtin/main.rb
|
|
257
262
|
- lib/teuton/case/builtin/package.rb
|
|
258
263
|
- lib/teuton/case/builtin/service.rb
|
|
@@ -263,6 +268,7 @@ files:
|
|
|
263
268
|
- lib/teuton/case/close.rb
|
|
264
269
|
- lib/teuton/case/config.rb
|
|
265
270
|
- lib/teuton/case/dsl/all.rb
|
|
271
|
+
- lib/teuton/case/dsl/event.rb
|
|
266
272
|
- lib/teuton/case/dsl/expect.rb
|
|
267
273
|
- lib/teuton/case/dsl/expect_exitcode.rb
|
|
268
274
|
- lib/teuton/case/dsl/expect_sequence.rb
|
|
@@ -300,15 +306,16 @@ files:
|
|
|
300
306
|
- lib/teuton/check/checker.rb
|
|
301
307
|
- lib/teuton/check/dsl/all.rb
|
|
302
308
|
- lib/teuton/check/dsl/builtin.rb
|
|
309
|
+
- lib/teuton/check/dsl/event.rb
|
|
303
310
|
- lib/teuton/check/dsl/expect.rb
|
|
304
311
|
- lib/teuton/check/dsl/expect_sequence.rb
|
|
305
312
|
- lib/teuton/check/dsl/getset.rb
|
|
306
313
|
- lib/teuton/check/dsl/run.rb
|
|
314
|
+
- lib/teuton/check/dsl/target.rb
|
|
307
315
|
- lib/teuton/check/main.rb
|
|
308
316
|
- lib/teuton/check/show.rb
|
|
309
317
|
- lib/teuton/cli/app.rb
|
|
310
318
|
- lib/teuton/cli/run.rb
|
|
311
|
-
- lib/teuton/deprecated/utils.rb
|
|
312
319
|
- lib/teuton/errors.rb
|
|
313
320
|
- lib/teuton/files/config.yaml
|
|
314
321
|
- lib/teuton/files/start.rb
|