teuton 2.1.8 → 2.1.9
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 +5 -8
- data/bin/check_teuton +43 -0
- data/docs/changelog/contributions.md +32 -0
- data/docs/changelog/v2.1.md +22 -0
- data/docs/changelog/v2.2.md +29 -0
- data/docs/commands/README.md +105 -7
- data/docs/commands/example_check.md +54 -0
- data/docs/commands/example_run.md +112 -0
- data/docs/dsl/README.md +11 -9
- data/docs/dsl/definition/expect.md +25 -21
- data/docs/dsl/definition/group.md +5 -1
- data/docs/dsl/definition/result.md +45 -34
- data/docs/dsl/definition/run_local.md +34 -0
- data/docs/dsl/definition/run_remote.md +119 -0
- data/docs/dsl/definition/target.md +6 -0
- data/docs/dsl/execution/export.md +27 -19
- data/docs/dsl/execution/play.md +4 -0
- data/docs/dsl/execution/send.md +21 -2
- data/docs/dsl/execution/show.md +13 -8
- data/docs/dsl/setting/get.md +24 -8
- data/docs/dsl/setting/set.md +8 -3
- data/docs/install/README.md +19 -26
- data/docs/install/modes_of_use.md +27 -26
- data/docs/install/scripts.md +53 -36
- data/docs/install/vagrant_docker.md +56 -0
- data/docs/learn/README.md +13 -6
- data/docs/learn/example-01-target.md +78 -61
- data/docs/learn/example-02-config.md +152 -0
- data/docs/learn/example-03-remote-hosts.md +31 -25
- data/docs/learn/example-04-use.md +23 -17
- data/docs/learn/example-05-debug.md +24 -17
- data/docs/learn/example-06-log.md +70 -0
- data/lib/teuton/application.rb +7 -4
- data/lib/teuton/case_manager/case/case.rb +4 -1
- data/lib/teuton/case_manager/case/dsl/expect.rb +3 -1
- data/lib/teuton/case_manager/case/dsl/goto.rb +12 -7
- data/lib/teuton/case_manager/case/dsl/macro.rb +38 -0
- data/lib/teuton/case_manager/case/dsl/main.rb +1 -2
- data/lib/teuton/case_manager/case/dsl/target.rb +1 -1
- data/lib/teuton/case_manager/case/runner.rb +7 -7
- data/lib/teuton/case_manager/case_manager.rb +1 -20
- data/lib/teuton/case_manager/check_cases.rb +12 -2
- data/lib/teuton/case_manager/dsl.rb +4 -6
- data/lib/teuton/case_manager/export_manager.rb +29 -3
- data/lib/teuton/case_manager/report.rb +29 -8
- data/lib/teuton/case_manager/show.rb +8 -4
- data/lib/teuton/cli.rb +1 -0
- data/lib/teuton/cli/play.rb +1 -0
- data/lib/teuton/cli/version.rb +1 -4
- data/lib/teuton/files/config.yaml +0 -1
- data/lib/teuton/files/start.rb +1 -1
- data/lib/teuton/files/template/case.html +135 -0
- data/lib/teuton/files/template/resume.html +115 -0
- data/lib/teuton/project/laboratory/builtin.rb +2 -1
- data/lib/teuton/project/laboratory/dsl.rb +13 -15
- data/lib/teuton/project/laboratory/laboratory.rb +5 -1
- data/lib/teuton/project/laboratory/show.rb +21 -13
- data/lib/teuton/project/name_file_finder.rb +6 -1
- data/lib/teuton/project/project.rb +7 -3
- data/lib/teuton/project/readme/dsl.rb +3 -1
- data/lib/teuton/project/readme/readme.rb +37 -26
- data/lib/teuton/project/skeleton.rb +20 -4
- data/lib/teuton/report/close.rb +15 -11
- data/lib/teuton/report/formatter/formatter_factory.rb +10 -6
- data/lib/teuton/report/formatter/html_formatter.rb +16 -79
- data/lib/teuton/report/formatter/resume_html_formatter.rb +39 -0
- data/lib/teuton/report/formatter/resume_yaml_formatter.rb +7 -1
- data/lib/teuton/report/report.rb +5 -4
- data/lib/teuton/report/show.rb +55 -26
- metadata +26 -39
- data/docs/changelog/todo.md +0 -46
- data/docs/commands/create_skeleton.md +0 -31
- data/docs/commands/help.md +0 -13
- data/docs/commands/revise_test.md +0 -46
- data/docs/commands/run_test_unit.md +0 -78
- data/docs/commands/show_version.md +0 -9
- data/docs/developers/01-telnet.md +0 -121
- data/docs/developers/02-ssh.md +0 -93
- data/docs/developers/03-encoding.md +0 -153
- data/docs/developers/comparative.md +0 -17
- data/docs/dsl/_Sidebar.md +0 -30
- data/docs/dsl/definition/goto.md +0 -112
- data/docs/dsl/definition/run.md +0 -23
- data/docs/install/tested_os.md +0 -25
- data/docs/install/vagrant.md +0 -9
- data/docs/learn/example-02-configfile.md +0 -174
- data/docs/learn/quick-demo.md +0 -170
- data/lib/teuton/case_manager/case/dsl/check.rb +0 -24
- data/lib/teuton/case_manager/case/dsl/missing.rb +0 -12
- data/lib/teuton/files/gitignore +0 -2
|
@@ -1,104 +1,41 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'erb'
|
|
3
4
|
require_relative 'yaml_formatter'
|
|
5
|
+
require_relative '../../application'
|
|
4
6
|
|
|
5
7
|
##
|
|
6
8
|
# HTMLFormatter class receive a [Report] and generates HAML output.
|
|
7
|
-
class
|
|
9
|
+
class HTMLFormatter < YAMLFormatter
|
|
8
10
|
##
|
|
9
11
|
# Class constructor
|
|
10
12
|
# @param report [Report] Parent object that contains data to be exported.
|
|
11
13
|
def initialize(report)
|
|
12
14
|
super(report)
|
|
13
15
|
@data = {}
|
|
16
|
+
filepath = File.join(File.dirname(__FILE__), '..', '..', 'files', 'template', 'case.html')
|
|
17
|
+
@template = File.read(filepath)
|
|
14
18
|
end
|
|
15
19
|
|
|
16
20
|
##
|
|
17
21
|
# Process data from parent object and export it into YAML format.
|
|
18
|
-
# @return [nil]
|
|
19
22
|
def process
|
|
20
23
|
build_data
|
|
21
|
-
# w @data.to_yaml # Write data into ouput file
|
|
22
24
|
build_page
|
|
23
25
|
deinit
|
|
24
26
|
end
|
|
25
27
|
|
|
28
|
+
##
|
|
29
|
+
# Build html case page
|
|
26
30
|
def build_page
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
puts "<header><h1><a name=\"index\">Checking Machines v0.4</a></h1>"
|
|
37
|
-
puts '<ul>'
|
|
38
|
-
@data[:head].each do |key,value|
|
|
39
|
-
puts "<li><b>"+key.to_s+": </b>"+value.to_s+"</li>" if key!=:title
|
|
40
|
-
end
|
|
41
|
-
puts '</ul>'
|
|
42
|
-
puts "<table border=1 >"
|
|
43
|
-
puts "<thead><tr><td>Members</td><td>Grade</td><td>Fails</td></tr></thead>"
|
|
44
|
-
puts "<tbody>"
|
|
45
|
-
|
|
46
|
-
counter=0
|
|
47
|
-
@data[:groups].each do |group|
|
|
48
|
-
group[:targets].each do |target|
|
|
49
|
-
counter+=1
|
|
50
|
-
puts "<tr><td><a href=\"#group"+counter.to_s+"\">"+target.head[:members]+"</a></td>"
|
|
51
|
-
puts "<td>"+target[:tail][:grade]+"</td>"
|
|
52
|
-
puts "<td>"+target[:tail][:fail_counter]+"</td></tr>"
|
|
53
|
-
end
|
|
54
|
-
puts "</tbody></table></header>"
|
|
55
|
-
puts "<h1>Cases</h1>"
|
|
56
|
-
|
|
57
|
-
counter=0
|
|
58
|
-
@data[:groups].each do |group|
|
|
59
|
-
counter += 1
|
|
60
|
-
process_datagroup(group, counter)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
puts '<ul>'
|
|
64
|
-
@tail.each do |key,value|
|
|
65
|
-
puts "<li><b>"+key.to_s+": </b>"+value.to_s+"</li>"
|
|
66
|
-
end
|
|
67
|
-
puts '</ul>'
|
|
68
|
-
puts "</body></html>"
|
|
31
|
+
config = @data[:config]
|
|
32
|
+
results = @data[:results]
|
|
33
|
+
logs = @data[:logs]
|
|
34
|
+
groups = @data[:groups]
|
|
35
|
+
groups = @data[:groups]
|
|
36
|
+
hall_of_fame = @data[:hall_of_fame]
|
|
37
|
+
version = Application::VERSION
|
|
38
|
+
renderer = ERB.new(@template)
|
|
39
|
+
w renderer.result(binding)
|
|
69
40
|
end
|
|
70
|
-
|
|
71
|
-
def process_datagroup(pGroup, pCounter)
|
|
72
|
-
puts "<h2><a name=\"group"+pCounter.to_s+"\">Case members "+@head[:members]+"</a> (<a href=\"#index\">up</a>)</h2>"
|
|
73
|
-
puts "<table border=1 >"
|
|
74
|
-
puts "<thead><tr><td>Params</td><td>Results</td></tr></thead>"
|
|
75
|
-
puts "<tbody><tr>"
|
|
76
|
-
puts "<td><ul>"
|
|
77
|
-
pGroup.head.each do |key,value|
|
|
78
|
-
puts "<li><b>"+key.to_s+"</b>= "+value.to_s+"</li>" if key!=:members
|
|
79
|
-
end
|
|
80
|
-
puts "</ul></td>"
|
|
81
|
-
puts '<td><ul>'
|
|
82
|
-
pGroup.tail.each do |key,value|
|
|
83
|
-
puts "<li><b>"+key.to_s+"</b>= "+value.to_s+"</li>"
|
|
84
|
-
end
|
|
85
|
-
puts '</ul></td>'
|
|
86
|
-
|
|
87
|
-
puts '</tr></tbdody></table>'
|
|
88
|
-
puts '<h3>Test log</h3>'
|
|
89
|
-
puts '<ul>'
|
|
90
|
-
pGroup.lines.each do |i|
|
|
91
|
-
if i.class.to_s=='Hash' then
|
|
92
|
-
value=0.0
|
|
93
|
-
value=i[:weight] if i[:check]
|
|
94
|
-
a="<li>"+i[:id].to_s+" ("+value.to_s+") [weight="+i[:weight].to_s+"] "
|
|
95
|
-
a+="<i>"+i[:description]+"</i>: "+i[:command]+"</li>"
|
|
96
|
-
puts a
|
|
97
|
-
else
|
|
98
|
-
puts "<li>"+i.to_s+"</li>"
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
puts '</ul>'
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
41
|
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'erb'
|
|
4
|
+
require_relative 'resume_yaml_formatter'
|
|
5
|
+
require_relative '../../application'
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# HTMLFormatter class receive a [Report] and generates HAML output.
|
|
9
|
+
class ResumeHTMLFormatter < ResumeYAMLFormatter
|
|
10
|
+
##
|
|
11
|
+
# Class constructor
|
|
12
|
+
# @param report [Report] Parent object that contains data to be exported.
|
|
13
|
+
def initialize(report)
|
|
14
|
+
super(report)
|
|
15
|
+
@data = {}
|
|
16
|
+
filepath = File.join(File.dirname(__FILE__), '..', '..', 'files', 'template', 'resume.html')
|
|
17
|
+
@template = File.read(filepath)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
##
|
|
21
|
+
# Process data from parent object and export it into YAML format.
|
|
22
|
+
def process
|
|
23
|
+
build_data
|
|
24
|
+
build_page
|
|
25
|
+
deinit
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
##
|
|
29
|
+
# Build html case page
|
|
30
|
+
def build_page
|
|
31
|
+
config = @data[:config]
|
|
32
|
+
cases = @data[:cases]
|
|
33
|
+
results = @data[:results]
|
|
34
|
+
hall_of_fame = @data[:hall_of_fame]
|
|
35
|
+
version = Application::VERSION
|
|
36
|
+
renderer = ERB.new(@template)
|
|
37
|
+
w renderer.result(binding)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
|
|
2
2
|
require_relative 'resume_array_formatter'
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
##
|
|
5
|
+
# ResumeHTMLFormatter class
|
|
5
6
|
class ResumeYAMLFormatter < ResumeArrayFormatter
|
|
7
|
+
##
|
|
8
|
+
# Initialize class
|
|
9
|
+
# @param report (Report)
|
|
6
10
|
def initialize(report)
|
|
7
11
|
super(report)
|
|
8
12
|
@data = {}
|
|
9
13
|
end
|
|
10
14
|
|
|
15
|
+
##
|
|
16
|
+
# Process resume report
|
|
11
17
|
def process
|
|
12
18
|
build_data
|
|
13
19
|
w @data.to_yaml # Write data into ouput file
|
data/lib/teuton/report/report.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
|
|
2
3
|
require 'terminal-table'
|
|
3
4
|
require_relative '../application'
|
|
@@ -32,9 +33,9 @@ class Report
|
|
|
32
33
|
@id = id
|
|
33
34
|
@filename = "case-#{@id}"
|
|
34
35
|
@output_dir = Application.instance.output_basedir
|
|
35
|
-
@head
|
|
36
|
-
@lines
|
|
37
|
-
@tail
|
|
36
|
+
@head = {}
|
|
37
|
+
@lines = []
|
|
38
|
+
@tail = {}
|
|
38
39
|
# @history save 1 letter for every target.
|
|
39
40
|
# For example: "..F." means: good, good, fail and good
|
|
40
41
|
# I will use this in the future stats manager.
|
|
@@ -57,7 +58,7 @@ class Report
|
|
|
57
58
|
# Export resumed data from all Cases, to specified format.
|
|
58
59
|
# @param format [Symbol] Select export format. Default value is :txt.
|
|
59
60
|
def export_resume(format = :txt)
|
|
60
|
-
@format = "resume_#{format
|
|
61
|
+
@format = "resume_#{format}".to_sym
|
|
61
62
|
filepath = File.join(@output_dir, @filename + '.' \
|
|
62
63
|
+ FormatterFactory.ext(@format))
|
|
63
64
|
formatter = FormatterFactory.get(self, @format, filepath)
|
data/lib/teuton/report/show.rb
CHANGED
|
@@ -17,52 +17,69 @@ class Report
|
|
|
17
17
|
|
|
18
18
|
private
|
|
19
19
|
|
|
20
|
+
##
|
|
21
|
+
# Display initial configurations
|
|
20
22
|
def show_initial_configurations
|
|
21
|
-
puts 'INITIAL CONFIGURATIONS'
|
|
23
|
+
puts Rainbow('INITIAL CONFIGURATIONS').bright
|
|
22
24
|
my_screen_table = Terminal::Table.new do |st|
|
|
23
25
|
@head.each do |key, value|
|
|
24
26
|
st.add_row [key.to_s, trim(value)]
|
|
25
27
|
end
|
|
26
28
|
end
|
|
27
|
-
puts my_screen_table
|
|
29
|
+
puts "#{my_screen_table}\n\n"
|
|
28
30
|
end
|
|
29
31
|
|
|
32
|
+
##
|
|
33
|
+
# Display resume
|
|
30
34
|
def show_resume
|
|
31
35
|
show_case_list
|
|
32
36
|
show_conn_status
|
|
33
37
|
end
|
|
34
38
|
|
|
39
|
+
##
|
|
40
|
+
# Display case list
|
|
35
41
|
def show_case_list
|
|
36
|
-
puts 'CASE RESULTS'
|
|
42
|
+
puts Rainbow('CASE RESULTS').bright
|
|
37
43
|
my_screen_table = Terminal::Table.new do |st|
|
|
38
|
-
st.add_row [
|
|
44
|
+
st.add_row %w[CASE MEMBERS GRADE STATE]
|
|
39
45
|
@lines.each do |line|
|
|
40
46
|
st.add_row [line[:id], line[:members], line[:grade], line[:letter]]
|
|
41
47
|
end
|
|
42
48
|
end
|
|
43
|
-
puts my_screen_table
|
|
49
|
+
puts "#{my_screen_table}\n\n"
|
|
44
50
|
end
|
|
45
51
|
|
|
52
|
+
##
|
|
53
|
+
# Display Connection status
|
|
54
|
+
# rubocop:disable Metrics/MethodLength
|
|
55
|
+
# rubocop:disable Metrics/AbcSize
|
|
46
56
|
def show_conn_status
|
|
47
|
-
|
|
48
|
-
@lines.each { |line|
|
|
49
|
-
return if
|
|
57
|
+
errors = 0
|
|
58
|
+
@lines.each { |line| errors += line[:conn_status].size }
|
|
59
|
+
return if errors.zero?
|
|
50
60
|
|
|
51
|
-
puts 'CONN ERRORS'
|
|
61
|
+
puts Rainbow('CONN ERRORS').bright
|
|
52
62
|
my_screen_table = Terminal::Table.new do |st|
|
|
53
|
-
st.add_row [
|
|
63
|
+
st.add_row %w[CASE MEMBERS HOST ERROR]
|
|
54
64
|
@lines.each do |line|
|
|
55
|
-
line[:conn_status].each_pair do |
|
|
56
|
-
st.add_row [line[:id], line[:members],
|
|
65
|
+
line[:conn_status].each_pair do |host, error|
|
|
66
|
+
st.add_row [line[:id], line[:members], host,
|
|
67
|
+
Rainbow(error).red.bright]
|
|
57
68
|
end
|
|
58
69
|
end
|
|
59
70
|
end
|
|
60
|
-
puts my_screen_table
|
|
71
|
+
puts "#{my_screen_table}\n\n"
|
|
61
72
|
end
|
|
73
|
+
# rubocop:enable Metrics/MethodLength
|
|
74
|
+
# rubocop:enable Metrics/AbcSize
|
|
62
75
|
|
|
76
|
+
# rubocop:disable Style/FormatString
|
|
77
|
+
# rubocop:disable Style/FormatStringToken
|
|
78
|
+
# rubocop:disable Metrics/AbcSize
|
|
79
|
+
# rubocop:disable Metrics/MethodLength
|
|
63
80
|
def show_targets_history
|
|
64
81
|
tab = ' '
|
|
65
|
-
puts 'CASE RESULTS'
|
|
82
|
+
puts Rainbow('CASE RESULTS').bright
|
|
66
83
|
if @lines.size == 1
|
|
67
84
|
puts @lines[0]
|
|
68
85
|
else
|
|
@@ -70,44 +87,56 @@ class Report
|
|
|
70
87
|
if i.class.to_s == 'Hash'
|
|
71
88
|
value = 0.0
|
|
72
89
|
value = i[:weight] if i[:check]
|
|
73
|
-
print tab +
|
|
74
|
-
print ' (
|
|
75
|
-
|
|
90
|
+
print tab + '%03d' % i[:id].to_i
|
|
91
|
+
print ' (%2.1f' % value.to_f
|
|
92
|
+
print '/%2.1f' % i[:weight].to_f
|
|
93
|
+
puts ') %s' % i[:description].to_s
|
|
76
94
|
else
|
|
77
|
-
puts tab
|
|
95
|
+
puts "#{tab}=> #{i}"
|
|
78
96
|
end
|
|
79
97
|
end
|
|
80
98
|
end
|
|
81
99
|
puts "\n\n"
|
|
82
100
|
end
|
|
101
|
+
# rubocop:enable Style/FormatString
|
|
102
|
+
# rubocop:enable Style/FormatStringToken
|
|
103
|
+
# rubocop:enable Metrics/AbcSize
|
|
104
|
+
# rubocop:enable Metrics/MethodLength
|
|
83
105
|
|
|
106
|
+
##
|
|
107
|
+
# Display final values section on screen
|
|
84
108
|
def show_final_values
|
|
85
|
-
puts 'FINAL VALUES'
|
|
109
|
+
puts Rainbow('FINAL VALUES').bright
|
|
86
110
|
my_screen_table = Terminal::Table.new do |st|
|
|
87
111
|
@tail.each do |key, value|
|
|
88
112
|
st.add_row [key.to_s, value.to_s]
|
|
89
113
|
end
|
|
90
114
|
end
|
|
91
|
-
puts my_screen_table
|
|
115
|
+
puts "#{my_screen_table}\n\n"
|
|
92
116
|
end
|
|
93
117
|
|
|
118
|
+
##
|
|
119
|
+
# Display hall of fame section on screen
|
|
94
120
|
def show_hall_of_fame
|
|
95
121
|
app = Application.instance
|
|
96
122
|
return if app.hall_of_fame.size < 3
|
|
97
123
|
|
|
98
|
-
puts 'HALL OF FAME'
|
|
124
|
+
puts Rainbow('HALL OF FAME').bright
|
|
99
125
|
my_screen_table = Terminal::Table.new do |st|
|
|
100
126
|
app.hall_of_fame.each do |line|
|
|
101
127
|
st.add_row [line[0], line[1]]
|
|
102
128
|
end
|
|
103
129
|
end
|
|
104
|
-
puts my_screen_table
|
|
130
|
+
puts "#{my_screen_table}\n"
|
|
105
131
|
end
|
|
106
132
|
|
|
133
|
+
##
|
|
134
|
+
# Trim absolute path values
|
|
107
135
|
def trim(input)
|
|
108
|
-
|
|
109
|
-
return
|
|
110
|
-
|
|
111
|
-
|
|
136
|
+
return input unless input.to_s.start_with? Dir.pwd.to_s
|
|
137
|
+
return input if input == Dir.pwd.to_s
|
|
138
|
+
|
|
139
|
+
offset = Dir.pwd.length + 1
|
|
140
|
+
input[offset, input.size].to_s
|
|
112
141
|
end
|
|
113
142
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: teuton
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Vargas Ruiz
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-04-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: json_pure
|
|
@@ -148,80 +148,67 @@ description: |2
|
|
|
148
148
|
email: teuton.software@protonmail.com
|
|
149
149
|
executables:
|
|
150
150
|
- teuton
|
|
151
|
+
- check_teuton
|
|
151
152
|
extensions: []
|
|
152
153
|
extra_rdoc_files:
|
|
153
154
|
- README.md
|
|
154
155
|
- LICENSE
|
|
155
156
|
- docs/learn/example-03-remote-hosts.md
|
|
156
157
|
- docs/learn/example-05-debug.md
|
|
158
|
+
- docs/learn/example-02-config.md
|
|
157
159
|
- docs/learn/example-11-first-test.md
|
|
158
160
|
- docs/learn/videos.md
|
|
159
|
-
- docs/learn/example-
|
|
161
|
+
- docs/learn/example-06-log.md
|
|
160
162
|
- docs/learn/example-04-use.md
|
|
161
|
-
- docs/learn/quick-demo.md
|
|
162
163
|
- docs/learn/example-01-target.md
|
|
163
164
|
- docs/learn/README.md
|
|
164
165
|
- docs/changelog/v2.1.md
|
|
165
|
-
- docs/changelog/
|
|
166
|
+
- docs/changelog/v2.2.md
|
|
167
|
+
- docs/changelog/contributions.md
|
|
166
168
|
- docs/changelog/servidor-de-retos.md
|
|
167
169
|
- docs/changelog/v2.0.md
|
|
168
|
-
- docs/commands/
|
|
169
|
-
- docs/commands/help.md
|
|
170
|
-
- docs/commands/revise_test.md
|
|
171
|
-
- docs/commands/create_skeleton.md
|
|
170
|
+
- docs/commands/example_run.md
|
|
172
171
|
- docs/commands/README.md
|
|
173
|
-
- docs/commands/
|
|
174
|
-
- docs/dsl/definition/run.md
|
|
175
|
-
- docs/dsl/definition/goto.md
|
|
172
|
+
- docs/commands/example_check.md
|
|
176
173
|
- docs/dsl/definition/result.md
|
|
177
174
|
- docs/dsl/definition/target.md
|
|
178
175
|
- docs/dsl/definition/group.md
|
|
179
176
|
- docs/dsl/definition/expect.md
|
|
177
|
+
- docs/dsl/definition/run_local.md
|
|
178
|
+
- docs/dsl/definition/run_remote.md
|
|
180
179
|
- docs/dsl/execution/export.md
|
|
181
180
|
- docs/dsl/execution/play.md
|
|
182
181
|
- docs/dsl/execution/send.md
|
|
183
182
|
- docs/dsl/execution/show.md
|
|
184
|
-
- docs/dsl/_Sidebar.md
|
|
185
183
|
- docs/dsl/setting/set.md
|
|
186
184
|
- docs/dsl/setting/get.md
|
|
187
185
|
- docs/dsl/README.md
|
|
188
186
|
- docs/Challenge-Server-Project.md
|
|
189
|
-
- docs/developers/comparative.md
|
|
190
|
-
- docs/developers/03-encoding.md
|
|
191
|
-
- docs/developers/01-telnet.md
|
|
192
|
-
- docs/developers/02-ssh.md
|
|
193
|
-
- docs/install/vagrant.md
|
|
194
187
|
- docs/install/modes_of_use.md
|
|
195
|
-
- docs/install/
|
|
188
|
+
- docs/install/vagrant_docker.md
|
|
196
189
|
- docs/install/scripts.md
|
|
197
190
|
- docs/install/README.md
|
|
198
191
|
- docs/install/manual.md
|
|
199
192
|
files:
|
|
200
193
|
- LICENSE
|
|
201
194
|
- README.md
|
|
195
|
+
- bin/check_teuton
|
|
202
196
|
- bin/teuton
|
|
203
197
|
- docs/Challenge-Server-Project.md
|
|
198
|
+
- docs/changelog/contributions.md
|
|
204
199
|
- docs/changelog/servidor-de-retos.md
|
|
205
|
-
- docs/changelog/todo.md
|
|
206
200
|
- docs/changelog/v2.0.md
|
|
207
201
|
- docs/changelog/v2.1.md
|
|
202
|
+
- docs/changelog/v2.2.md
|
|
208
203
|
- docs/commands/README.md
|
|
209
|
-
- docs/commands/
|
|
210
|
-
- docs/commands/
|
|
211
|
-
- docs/commands/revise_test.md
|
|
212
|
-
- docs/commands/run_test_unit.md
|
|
213
|
-
- docs/commands/show_version.md
|
|
214
|
-
- docs/developers/01-telnet.md
|
|
215
|
-
- docs/developers/02-ssh.md
|
|
216
|
-
- docs/developers/03-encoding.md
|
|
217
|
-
- docs/developers/comparative.md
|
|
204
|
+
- docs/commands/example_check.md
|
|
205
|
+
- docs/commands/example_run.md
|
|
218
206
|
- docs/dsl/README.md
|
|
219
|
-
- docs/dsl/_Sidebar.md
|
|
220
207
|
- docs/dsl/definition/expect.md
|
|
221
|
-
- docs/dsl/definition/goto.md
|
|
222
208
|
- docs/dsl/definition/group.md
|
|
223
209
|
- docs/dsl/definition/result.md
|
|
224
|
-
- docs/dsl/definition/
|
|
210
|
+
- docs/dsl/definition/run_local.md
|
|
211
|
+
- docs/dsl/definition/run_remote.md
|
|
225
212
|
- docs/dsl/definition/target.md
|
|
226
213
|
- docs/dsl/execution/export.md
|
|
227
214
|
- docs/dsl/execution/play.md
|
|
@@ -233,16 +220,15 @@ files:
|
|
|
233
220
|
- docs/install/manual.md
|
|
234
221
|
- docs/install/modes_of_use.md
|
|
235
222
|
- docs/install/scripts.md
|
|
236
|
-
- docs/install/
|
|
237
|
-
- docs/install/vagrant.md
|
|
223
|
+
- docs/install/vagrant_docker.md
|
|
238
224
|
- docs/learn/README.md
|
|
239
225
|
- docs/learn/example-01-target.md
|
|
240
|
-
- docs/learn/example-02-
|
|
226
|
+
- docs/learn/example-02-config.md
|
|
241
227
|
- docs/learn/example-03-remote-hosts.md
|
|
242
228
|
- docs/learn/example-04-use.md
|
|
243
229
|
- docs/learn/example-05-debug.md
|
|
230
|
+
- docs/learn/example-06-log.md
|
|
244
231
|
- docs/learn/example-11-first-test.md
|
|
245
|
-
- docs/learn/quick-demo.md
|
|
246
232
|
- docs/learn/videos.md
|
|
247
233
|
- lib/teuton.rb
|
|
248
234
|
- lib/teuton/application.rb
|
|
@@ -253,14 +239,13 @@ files:
|
|
|
253
239
|
- lib/teuton/case_manager/case/case.rb
|
|
254
240
|
- lib/teuton/case_manager/case/close.rb
|
|
255
241
|
- lib/teuton/case_manager/case/config.rb
|
|
256
|
-
- lib/teuton/case_manager/case/dsl/check.rb
|
|
257
242
|
- lib/teuton/case_manager/case/dsl/deprecated.rb
|
|
258
243
|
- lib/teuton/case_manager/case/dsl/expect.rb
|
|
259
244
|
- lib/teuton/case_manager/case/dsl/getset.rb
|
|
260
245
|
- lib/teuton/case_manager/case/dsl/goto.rb
|
|
261
246
|
- lib/teuton/case_manager/case/dsl/log.rb
|
|
247
|
+
- lib/teuton/case_manager/case/dsl/macro.rb
|
|
262
248
|
- lib/teuton/case_manager/case/dsl/main.rb
|
|
263
|
-
- lib/teuton/case_manager/case/dsl/missing.rb
|
|
264
249
|
- lib/teuton/case_manager/case/dsl/send.rb
|
|
265
250
|
- lib/teuton/case_manager/case/dsl/target.rb
|
|
266
251
|
- lib/teuton/case_manager/case/dsl/unique.rb
|
|
@@ -288,8 +273,9 @@ files:
|
|
|
288
273
|
- lib/teuton/cli/version.rb
|
|
289
274
|
- lib/teuton/files/README.md
|
|
290
275
|
- lib/teuton/files/config.yaml
|
|
291
|
-
- lib/teuton/files/gitignore
|
|
292
276
|
- lib/teuton/files/start.rb
|
|
277
|
+
- lib/teuton/files/template/case.html
|
|
278
|
+
- lib/teuton/files/template/resume.html
|
|
293
279
|
- lib/teuton/project/configfile_reader.rb
|
|
294
280
|
- lib/teuton/project/laboratory/builtin.rb
|
|
295
281
|
- lib/teuton/project/laboratory/dsl.rb
|
|
@@ -311,6 +297,7 @@ files:
|
|
|
311
297
|
- lib/teuton/report/formatter/list_formatter.rb
|
|
312
298
|
- lib/teuton/report/formatter/moodle_csv_formatter.rb
|
|
313
299
|
- lib/teuton/report/formatter/resume_array_formatter.rb
|
|
300
|
+
- lib/teuton/report/formatter/resume_html_formatter.rb
|
|
314
301
|
- lib/teuton/report/formatter/resume_json_formatter.rb
|
|
315
302
|
- lib/teuton/report/formatter/resume_list_formatter.rb
|
|
316
303
|
- lib/teuton/report/formatter/resume_txt_formatter.rb
|