teuton 2.3.11 → 2.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 +44 -13
- data/docs/CHANGELOG.md +0 -13
- data/docs/changelog/todo.md +18 -0
- data/docs/changelog/v2.4.md +6 -2
- data/docs/dsl/execution/export.md +9 -15
- data/docs/dsl/execution/show.md +22 -7
- data/docs/ideas/{ideas.md → todo.md} +8 -16
- data/docs/learn/01-target.md +14 -43
- data/docs/learn/02-config.md +20 -37
- data/docs/learn/03-remote_hosts.md +20 -1
- data/docs/learn/04-new_test.md +4 -4
- data/docs/learn/05-use.md +3 -4
- data/docs/learn/06-debug.md +6 -9
- data/docs/learn/07-log.md +14 -14
- data/docs/learn/08-readme.md +4 -4
- data/docs/learn/13-include.md +13 -6
- data/docs/learn/14-alias.md +14 -8
- data/docs/learn/README.md +7 -7
- data/lib/teuton/case_manager/case/case.rb +1 -5
- data/lib/teuton/case_manager/case/dsl/expect.rb +2 -4
- data/lib/teuton/case_manager/case/dsl/log.rb +1 -2
- data/lib/teuton/case_manager/case/dsl/send.rb +4 -2
- data/lib/teuton/case_manager/case/play.rb +1 -2
- data/lib/teuton/case_manager/case/runner.rb +6 -7
- data/lib/teuton/case_manager/case_manager.rb +15 -11
- data/lib/teuton/case_manager/check_cases.rb +5 -7
- data/lib/teuton/case_manager/dsl.rb +1 -1
- data/lib/teuton/case_manager/export_manager.rb +13 -15
- data/lib/teuton/case_manager/hall_of_fame.rb +20 -16
- data/lib/teuton/case_manager/main.rb +1 -2
- data/lib/teuton/case_manager/report.rb +3 -3
- data/lib/teuton/report/formatter/base_formatter.rb +6 -7
- data/lib/teuton/report/formatter/{array_formatter.rb → default/array.rb} +44 -9
- data/lib/teuton/report/formatter/default/colored_text.rb +7 -0
- data/lib/teuton/report/formatter/default/html.rb +24 -0
- data/lib/teuton/report/formatter/default/json.rb +15 -0
- data/lib/teuton/report/formatter/{txt_formatter.rb → default/txt.rb} +4 -3
- data/lib/teuton/report/formatter/{xml_formatter.rb → default/xml.rb} +10 -4
- data/lib/teuton/report/formatter/default/yaml.rb +15 -0
- data/lib/teuton/report/formatter/formatter.rb +54 -0
- data/lib/teuton/report/formatter/moodle_csv_formatter.rb +4 -10
- data/lib/teuton/report/formatter/{resume_array_formatter.rb → resume/array.rb} +4 -7
- data/lib/teuton/report/formatter/resume/colored_text.rb +7 -0
- data/lib/teuton/report/formatter/{resume_html_formatter.rb → resume/html.rb} +7 -9
- data/lib/teuton/report/formatter/{resume_json_formatter.rb → resume/json.rb} +4 -4
- data/lib/teuton/report/formatter/{resume_txt_formatter.rb → resume/txt.rb} +4 -6
- data/lib/teuton/report/formatter/{resume_yaml_formatter.rb → resume/yaml.rb} +4 -3
- data/lib/teuton/report/report.rb +60 -43
- data/lib/teuton/report/show.rb +38 -24
- data/lib/teuton/version.rb +1 -1
- metadata +32 -33
- data/lib/teuton/case_manager/show.rb +0 -24
- data/lib/teuton/report/close.rb +0 -38
- data/lib/teuton/report/formatter/csv_formatter.rb +0 -25
- data/lib/teuton/report/formatter/formatter_factory.rb +0 -79
- data/lib/teuton/report/formatter/html_formatter.rb +0 -57
- data/lib/teuton/report/formatter/json_formatter.rb +0 -12
- data/lib/teuton/report/formatter/list_formatter.rb +0 -65
- data/lib/teuton/report/formatter/resume_list_formatter.rb +0 -62
- data/lib/teuton/report/formatter/yaml_formatter.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b683fafbf0ece0ad550d4ace207434c8ef27b4b2f37396ff6845c68b37a90694
|
4
|
+
data.tar.gz: 5dcb72959f019fdbb9c8a6afc4e87aa23fb8c7a4370e76516db3c0c82f4ce8e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38123e21191880cb1aef35a1a203c2c9af4125b2a7a0e04edb8bbae6d9ed723c1a0bb73a0783a0d951a833b29cf7ab924a42e44bf2a017bcabf38c44724e3ce4
|
7
|
+
data.tar.gz: 51a27604a6efef11534f1afe56c995757b6cf167e14eaff34c3245561c5c1ca290491f1897bc231c05e7bd2774cd5186f775e394f563e29d640f04d44574b0dc
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
|
2
|
+
# TEUTON
|
3
|
+
|
2
4
|
[](https://badge.fury.io/rb/teuton)
|
3
5
|

|
4
|
-

|
7
7
|
|
8
8
|
_Create Unit Test for your machines. Test your infraestructure as code._
|
9
9
|
|
@@ -18,23 +18,54 @@ Teuton allow us:
|
|
18
18
|
* Write unit tests for real or virtual devices, using simple DSL.
|
19
19
|
* Check compliance with requirements on local or remote devices.
|
20
20
|
|
21
|
-
#
|
21
|
+
# Installation
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
23
|
+
Install Ruby and then:
|
24
|
+
|
25
|
+
```
|
26
|
+
gem install teuton
|
27
|
+
```
|
28
|
+
|
29
|
+
> Install Teuton as normal user: `gem install --user-install teuton`
|
30
|
+
|
31
|
+
# Usage
|
32
|
+
|
33
|
+
Executing `teuton` command to run example test:
|
34
|
+
|
35
|
+
```
|
36
|
+
❯ teuton run examples/01-target
|
37
|
+
|
38
|
+
CASE RESULTS
|
39
|
+
+------+-----------+-------+-------+
|
40
|
+
| CASE | MEMBERS | GRADE | STATE |
|
41
|
+
| 01 | anonymous | 100.0 | ✔ |
|
42
|
+
+------+-----------+-------+-------+
|
43
|
+
|
44
|
+
```
|
30
45
|
|
31
46
|
# Features
|
32
47
|
|
33
48
|
* [Free Software License](LICENSE).
|
34
49
|
* Multiplatform.
|
35
|
-
* Remote machines only require SSH or Telnet service installed.
|
36
|
-
|
50
|
+
* Remote machines/devices only require SSH or Telnet service installed.
|
51
|
+
|
52
|
+
# Documentation
|
53
|
+
|
54
|
+
* [Blogs and videos](docs/videos.md)
|
55
|
+
* [Learning](docs/learn/README.md)
|
56
|
+
* [Commands](docs/commands/README.md)
|
57
|
+
* [Language reference](docs/dsl/README.md)
|
58
|
+
* [Installation](docs/install/README.md)
|
37
59
|
|
38
60
|
# Contact
|
39
61
|
|
40
62
|
* **Email**: `teuton.software@protonmail.com`
|
63
|
+
|
64
|
+
# Contributing
|
65
|
+
|
66
|
+
1. Make sure you have Ruby installed
|
67
|
+
1. Fork it
|
68
|
+
1. Create your feature branch (`git checkout -b my-new-feature`)
|
69
|
+
1. Commit your changes (`git commit -am 'Add some feature'`)
|
70
|
+
1. Push to the branch (`git push origin my-new-feature`)
|
71
|
+
1. Create new Pull Request.
|
data/docs/CHANGELOG.md
CHANGED
@@ -6,16 +6,3 @@
|
|
6
6
|
* [version 2.2](changelog/v2.2.md)
|
7
7
|
* [version 2.1](changelog/v2.1.md)
|
8
8
|
* [version 2.0](changelog/v2.0.md)
|
9
|
-
|
10
|
-
## TO-DO
|
11
|
-
|
12
|
-
- Teuton readme --lang=es
|
13
|
-
|
14
|
-
Revise documentation:
|
15
|
-
* Doc learn 10,11, 12,13 y 14
|
16
|
-
* 10 result and moodle_id
|
17
|
-
* 11 get_vars
|
18
|
-
* 12 alias
|
19
|
-
* 13 include
|
20
|
-
* 14 macro
|
21
|
-
* Doc tt_include
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
## TO-DO
|
3
|
+
|
4
|
+
New features:
|
5
|
+
- Teuton readme --lang=es
|
6
|
+
- Export files with other langs
|
7
|
+
|
8
|
+
Revise:
|
9
|
+
* verify get(:key) and get('key') works fine!
|
10
|
+
* Formatter: xml,
|
11
|
+
|
12
|
+
Revise documentation:
|
13
|
+
* Doc learn 10,11, 12,13 y 14
|
14
|
+
* 10 result and moodle_id
|
15
|
+
* 12 alias
|
16
|
+
* 13 include
|
17
|
+
* 14 macro
|
18
|
+
* Doc tt_include
|
data/docs/changelog/v2.4.md
CHANGED
@@ -2,10 +2,15 @@
|
|
2
2
|
## [2.4.0]
|
3
3
|
|
4
4
|
New features:
|
5
|
+
- Hide feedback from reports: `export feedback: false`
|
5
6
|
- Add new DSL keyword: expect_last, expect_fisrt
|
6
|
-
- New doc and example: learn-15-exit_codes
|
7
7
|
- Remove os gem.
|
8
8
|
- Change test output colors to green as use others test tools.
|
9
|
+
- Change show DSL params. Accepts one param "level" that indicates verbosity output level on screen.
|
10
|
+
|
11
|
+
New doc and example:
|
12
|
+
- 14-alias
|
13
|
+
- 16-exit_codes
|
9
14
|
|
10
15
|
Bug fixed:
|
11
16
|
- All "expect*" keywords must require 2 arguments. The second is optional.
|
@@ -13,4 +18,3 @@ Bug fixed:
|
|
13
18
|
Revise
|
14
19
|
- Remove colors to log text
|
15
20
|
- teuton readme: macros, getvars, expect_last, expect_first
|
16
|
-
- Formatter: xml, csv, list, etc.
|
@@ -23,13 +23,13 @@ Run test and build reports using `html` output format:
|
|
23
23
|
|
24
24
|
```ruby
|
25
25
|
play do
|
26
|
-
export format:
|
26
|
+
export format: 'html'
|
27
27
|
end
|
28
28
|
```
|
29
29
|
|
30
30
|
## Options
|
31
31
|
|
32
|
-
1. **format**: txt, html, yaml
|
32
|
+
1. **format**: txt, html, yaml, json, colored_text (txt with colors).
|
33
33
|
2. **preserve**: true, false.
|
34
34
|
|
35
35
|
## Usage
|
@@ -37,16 +37,10 @@ end
|
|
37
37
|
| | Command | Description |
|
38
38
|
| -- | ------------------------ | ----------- |
|
39
39
|
| 01 | `export` | Export report files using default ouput format |
|
40
|
-
| 02 | `export format: :txt` | Export file using TXT ouput format |
|
41
|
-
| 03 | `export format: :html`
|
42
|
-
| 04 | `export format:
|
43
|
-
| 05 | `export format:
|
44
|
-
| 06 | `export format: :colored_text` | Export file using colored TXT ouput format |
|
45
|
-
| 07 | `export preserve: true` |
|
46
|
-
| 08 | `export format: :html, preserve: true` |
|
47
|
-
| 09 | `export format: "txt"` | Same as 02 |
|
48
|
-
| 10 | `export format: "html"` | Same as 03 |
|
49
|
-
| 11 | `export format: "yaml"` | Same as 04 |
|
50
|
-
| 12 | `export format: "json"` | Same as 05 |
|
51
|
-
| 13 | `export format: "colored_text"` | Same as 06 |
|
52
|
-
| 14 | `export format: "html", preserve: true` | Same as 08 |
|
40
|
+
| 02 | `export format: 'txt'` or `export format: :txt` | Export file using TXT ouput format |
|
41
|
+
| 03 | `export format: 'html'` or `export format: :html` | Export file using HTML ouput format |
|
42
|
+
| 04 | `export format: 'yaml'` or `export format: :yaml`| Export file using YAML ouput format |
|
43
|
+
| 05 | `export format: 'json'` or `export format: :json`| Export file using JSON ouput format |
|
44
|
+
| 06 | `export format: 'colored_text'` or `export format: :colored_text` | Export file using colored TXT ouput format |
|
45
|
+
| 07 | `export preserve: true` | Export default format and preserve report copies |
|
46
|
+
| 08 | `export format: 'html', preserve: true` or `export format: :html, preserve: true` | Export 'html' format and preserve report copies |
|
data/docs/dsl/execution/show.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
## Description
|
8
8
|
|
9
|
-
When tests
|
9
|
+
When all tests are finished, the `show` command displays information on the screen about the final results.
|
10
10
|
|
11
11
|
## Usage
|
12
12
|
|
@@ -16,11 +16,26 @@ start do
|
|
16
16
|
end
|
17
17
|
```
|
18
18
|
|
19
|
+
or
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
start do
|
23
|
+
show verbose: 1
|
24
|
+
end
|
25
|
+
```
|
26
|
+
|
19
27
|
## Parameters
|
20
28
|
|
21
|
-
| Action
|
22
|
-
|
|
23
|
-
| `show`
|
24
|
-
| `show :
|
25
|
-
|
26
|
-
|
29
|
+
| Action | Description |
|
30
|
+
| -------------------- | --------------------------------- |
|
31
|
+
| `show` | Same as `show level: 0` (Default) |
|
32
|
+
| `show verbose: NUMBER` | NUMBER is the value of the verbose level |
|
33
|
+
|
34
|
+
|
35
|
+
| Verbosity level | Description |
|
36
|
+
| :-------------: | ----------- |
|
37
|
+
| 0 | No output |
|
38
|
+
| 1 | Default output messages |
|
39
|
+
| 2 | Show hall of fame |
|
40
|
+
| 3 | Show final values |
|
41
|
+
| 4 | Show Initial values |
|
@@ -3,24 +3,22 @@
|
|
3
3
|
|
4
4
|
Esta es una lista de ideas para que no se me olvide... lo podemos ir ajustando 😊
|
5
5
|
|
6
|
-
1.
|
6
|
+
1. TEST-EN-CADENA (smart-shell): es un proyecto en curso que trabajará en colaboración ceon teuton. Detecta las acciones del usuario dentro de la shell y automáticamente lanza el test para validar el cumplimiento de los objetivos. Si se supera un % se pasa al siguiente test.
|
7
7
|
|
8
|
-
2.
|
9
|
-
|
10
|
-
3. SERVIDOR TEUTON: Teuton web para recibir peticiones de los clientes... ?! Enganchar con teuton-server y teuton-client
|
8
|
+
2. SERVIDOR TEUTON: Teuton web para recibir peticiones de los clientes... ?! Enganchar con teuton-server y teuton-client
|
11
9
|
NO. quizás mejor enfoque. Tener un servidor dedicado con una página Web para lanzar test desde el propio servidor.
|
12
10
|
|
13
|
-
|
11
|
+
3. Editor de ficheros de configuración.... una especie de asistente de ayuda..
|
14
12
|
no le veo mucho sentido tener un editor específico pero si al ejecutar un reto
|
15
13
|
si hay valores con NODATA... entonces que pregunte al usuario y complete la
|
16
14
|
configuración sobre la marcha???
|
17
15
|
|
18
|
-
|
16
|
+
4. Editor de tests ?! .... lo veo complejo... a menos que se empiece por una versión simplificada.. El DSL es tan sencillo que no le veo sentido a un editor de retos. Pero si podemos aprovechar y crear una" librería " de los módulos más frecuentes?!... una ayuda para facilitar la creación de test... esto se puede emparejar con el editor de test...
|
19
17
|
|
20
|
-
|
21
|
-
|
18
|
+
5. `result.test("...")`
|
19
|
+
6. `send :email_to => :members_emails`
|
22
20
|
|
23
|
-
|
21
|
+
7. Empaquetar tests para facilitar su movilidad . Esto se combina muy bien con la opción de búsqueda de retos.... pensar en firma gpg o md5 de comprobación etc..
|
24
22
|
Al ejecutar un test poder hacerlo "teuton run PATH/TO/FILE.zip"
|
25
23
|
|
26
24
|
|
@@ -43,7 +41,7 @@ Al ejecutar un test poder hacerlo "teuton run PATH/TO/FILE.zip"
|
|
43
41
|
|
44
42
|
Create 2 evaluation modes:
|
45
43
|
1. Evaluate targets (current mode): `start :score=>:targets do ...`
|
46
|
-
1. Evaluate task: `start :score=>:
|
44
|
+
1. Evaluate task: `start :score=>:groups do ...`
|
47
45
|
|
48
46
|
|
49
47
|
## Pending
|
@@ -60,9 +58,6 @@ Create 2 evaluation modes:
|
|
60
58
|
* `expect result.ok?`, result from previous goto exec.
|
61
59
|
* `result.exit_code`, exit code from previous goto exec.
|
62
60
|
|
63
|
-
|
64
|
-
* Review docs and replace `"id #{get(:username)}"` by something line `"id "+get(:username)`.
|
65
|
-
|
66
61
|
### Reports and export keyword
|
67
62
|
|
68
63
|
* Work on more output formats: CSV, HTML, XML.
|
@@ -124,9 +119,6 @@ end
|
|
124
119
|
```
|
125
120
|
|
126
121
|
---
|
127
|
-
....
|
128
122
|
|
129
|
-
* config -> host_port
|
130
123
|
* teuton run into
|
131
|
-
* resume.html
|
132
124
|
* txt format -> remove conn_errors when errors = 0
|
data/docs/learn/01-target.md
CHANGED
@@ -47,67 +47,38 @@ DSL keywords:
|
|
47
47
|
|
48
48
|
## Run test
|
49
49
|
|
50
|
-
**Let's see example**: Executing ` teuton run examples/
|
50
|
+
**Let's see example**: Executing ` teuton run examples/01-target` command.
|
51
51
|
|
52
52
|
```bash
|
53
|
-
[INFO] ScriptPath => examples/learn-01-target/start.rb
|
54
|
-
[INFO] ConfigPath => examples/learn-01-target/config.yaml
|
55
|
-
[INFO] Pwd => /home/david/proy/repos/teuton.d/teuton
|
56
|
-
[INFO] TestName => learn-01-target
|
57
|
-
|
58
|
-
==================================
|
59
|
-
Executing [teuton] (version 2.2.0)
|
60
|
-
[INFO] Running in parallel (2020-10-10 12:29:34 +0100)
|
61
|
-
.
|
62
|
-
[INFO] Duration = 0.002 (2020-10-10 12:29:34 +0100)
|
63
|
-
==================================
|
64
|
-
|
65
|
-
INITIAL CONFIGURATIONS
|
66
|
-
+---------------+----------------------------------------+
|
67
|
-
| tt_title | Executing [teuton] (version 2.2.0) |
|
68
|
-
| tt_scriptname | examples/learn-01-target/start.rb |
|
69
|
-
| tt_configfile | examples/learn-01-target/config.yaml |
|
70
|
-
| tt_pwd | /home/david/proy/repos/teuton.d/teuton |
|
71
|
-
| tt_testname | learn-01-target |
|
72
|
-
| tt_sequence | false |
|
73
|
-
+---------------+----------------------------------------+
|
74
|
-
|
75
53
|
CASE RESULTS
|
76
54
|
+------+-----------+-------+-------+
|
77
55
|
| CASE | MEMBERS | GRADE | STATE |
|
78
|
-
| 01 | anonymous | 100.0 |
|
56
|
+
| 01 | anonymous | 100.0 | ✔ |
|
79
57
|
+------+-----------+-------+-------+
|
80
|
-
|
81
|
-
FINAL VALUES
|
82
|
-
+-------------+---------------------------+
|
83
|
-
| start_time | 2020-10-10 12:29:34 +0100 |
|
84
|
-
| finish_time | 2020-10-10 12:29:34 +0100 |
|
85
|
-
| duration | 0.002187719 |
|
86
|
-
+-------------+---------------------------+
|
87
58
|
```
|
88
59
|
|
89
60
|
## Output reports
|
90
61
|
|
91
|
-
**Output directory**: reports created into `var/
|
62
|
+
**Output directory**: reports created into `var/01-target/` output directory.
|
92
63
|
|
93
64
|
```bash
|
94
65
|
var
|
95
|
-
└──
|
66
|
+
└── 01-target
|
96
67
|
├── case-01.txt
|
97
68
|
├── moodle.csv
|
98
69
|
└── resume.txt
|
99
70
|
```
|
100
71
|
|
101
|
-
**Let's see example**: Executing `more var/
|
72
|
+
**Let's see example**: Executing `more var/01-target/case-01.txt` command.
|
102
73
|
|
103
74
|
```bash
|
104
75
|
CONFIGURATION
|
105
|
-
|
106
|
-
| tt_members | anonymous
|
107
|
-
| tt_sequence | false
|
108
|
-
| tt_skip | false
|
109
|
-
| tt_testname |
|
110
|
-
|
76
|
+
+-------------+-----------+
|
77
|
+
| tt_members | anonymous |
|
78
|
+
| tt_sequence | false |
|
79
|
+
| tt_skip | false |
|
80
|
+
| tt_testname | 01-target |
|
81
|
+
+-------------+-----------+
|
111
82
|
|
112
83
|
GROUPS
|
113
84
|
- Learn about targets
|
@@ -122,9 +93,9 @@ GROUPS
|
|
122
93
|
RESULTS
|
123
94
|
+--------------+---------------------------+
|
124
95
|
| case_id | 01 |
|
125
|
-
| start_time |
|
126
|
-
| finish_time |
|
127
|
-
| duration | 0.
|
96
|
+
| start_time | 2022-12-24 13:31:28 +0000 |
|
97
|
+
| finish_time | 2022-12-24 13:31:28 +0000 |
|
98
|
+
| duration | 0.001880141 |
|
128
99
|
| unique_fault | 0 |
|
129
100
|
| max_weight | 1.0 |
|
130
101
|
| good_weight | 1.0 |
|
data/docs/learn/02-config.md
CHANGED
@@ -58,38 +58,22 @@ end
|
|
58
58
|
Runing this example and see `show` keyword output:
|
59
59
|
|
60
60
|
```bash
|
61
|
-
> teuton run
|
62
|
-
|
63
|
-
|
64
|
-
| tt_title | Executing [teuton] (version 2.2.0) |
|
65
|
-
| tt_scriptname | examples/learn-02-config/start.rb |
|
66
|
-
| tt_configfile | examples/learn-02-config/config.yaml |
|
67
|
-
| tt_pwd | /home/david/proy/repos/teuton.d/teuton |
|
68
|
-
| tt_testname | learn-02-config |
|
69
|
-
| tt_sequence | false |
|
70
|
-
+---------------+----------------------------------------+
|
71
|
-
|
72
|
-
CASES
|
61
|
+
> teuton run examples/02-config
|
62
|
+
|
63
|
+
CASE RESULTS
|
73
64
|
+------+----------------+-------+-------+
|
74
65
|
| CASE | MEMBERS | GRADE | STATE |
|
75
|
-
| 01 | Student-name-1 |
|
76
|
-
| 02 | Student-name-2 |
|
66
|
+
| 01 | Student-name-1 | 100.0 | ✔ |
|
67
|
+
| 02 | Student-name-2 | 0.0 | ? |
|
77
68
|
+------+----------------+-------+-------+
|
78
|
-
|
79
|
-
RESULTS
|
80
|
-
+-------------+---------------------------+
|
81
|
-
| start_time | 2020-10-10 12:37:54 +0100 |
|
82
|
-
| finish_time | 2020-10-10 12:37:54 +0100 |
|
83
|
-
| duration | 0.002054143 |
|
84
|
-
+-------------+---------------------------+
|
85
69
|
```
|
86
70
|
|
87
71
|
## Results
|
88
72
|
|
89
|
-
Output reports are saved into `var/
|
73
|
+
Output reports are saved into `var/02-config/` directory. Detail output report is created for every case.
|
90
74
|
|
91
75
|
```
|
92
|
-
var/
|
76
|
+
var/02-config
|
93
77
|
├── case-01.txt
|
94
78
|
├── case-02.txt
|
95
79
|
├── moodle.csv
|
@@ -99,23 +83,22 @@ var/learn-02-config
|
|
99
83
|
Let's see `export` keyword output for case 01.
|
100
84
|
|
101
85
|
```
|
102
|
-
> more var/
|
86
|
+
> more var/02-config/case-01.txt
|
103
87
|
CONFIGURATION
|
104
|
-
|
105
|
-
| tt_members | Student-name-1
|
106
|
-
| tt_sequence | false
|
107
|
-
| tt_skip | false
|
108
|
-
| tt_testname |
|
109
|
-
| username | root
|
110
|
-
|
111
|
-
|
88
|
+
+-------------+----------------+
|
89
|
+
| tt_members | Student-name-1 |
|
90
|
+
| tt_sequence | false |
|
91
|
+
| tt_skip | false |
|
92
|
+
| tt_testname | 02-config |
|
93
|
+
| username | root |
|
94
|
+
+-------------+----------------+
|
112
95
|
|
113
96
|
GROUPS
|
114
97
|
- Reading params from config file
|
115
98
|
01 (1.0/1.0)
|
116
|
-
Description : Create user root
|
99
|
+
Description : Create user root
|
117
100
|
Command : id root
|
118
|
-
Duration : 0.
|
101
|
+
Duration : 0.002 (local)
|
119
102
|
Alterations : find(root) & count
|
120
103
|
Expected : Greater than 0 (String)
|
121
104
|
Result : 1 (Integer)
|
@@ -123,9 +106,9 @@ GROUPS
|
|
123
106
|
RESULTS
|
124
107
|
+--------------+---------------------------+
|
125
108
|
| case_id | 01 |
|
126
|
-
| start_time |
|
127
|
-
| finish_time |
|
128
|
-
| duration | 0.
|
109
|
+
| start_time | 2022-12-24 13:33:49 +0000 |
|
110
|
+
| finish_time | 2022-12-24 13:33:49 +0000 |
|
111
|
+
| duration | 0.001777756 |
|
129
112
|
| unique_fault | 0 |
|
130
113
|
| max_weight | 1.0 |
|
131
114
|
| good_weight | 1.0 |
|
@@ -81,11 +81,30 @@ end
|
|
81
81
|
|
82
82
|
* `send copy_to: :host1` keyword copy output report into remote machine (host1).
|
83
83
|
|
84
|
+
## Screen output
|
85
|
+
|
86
|
+
```
|
87
|
+
CASE RESULTS
|
88
|
+
+------+---------------+-------+-------+
|
89
|
+
| CASE | MEMBERS | GRADE | STATE |
|
90
|
+
| 01 | Darth Maul | 0.0 | ? |
|
91
|
+
| - | - | 0.0 | |
|
92
|
+
| 03 | Obiwan Kenobi | 0.0 | ? |
|
93
|
+
+------+---------------+-------+-------+
|
94
|
+
|
95
|
+
CONN ERRORS
|
96
|
+
+------+---------------+-------+------------------+
|
97
|
+
| CASE | MEMBERS | HOST | ERROR |
|
98
|
+
| 01 | Darth Maul | host1 | host_unreachable |
|
99
|
+
| 03 | Obiwan Kenobi | host1 | host_unreachable |
|
100
|
+
+------+---------------+-------+------------------+
|
101
|
+
```
|
102
|
+
|
84
103
|
## Results
|
85
104
|
|
86
105
|
```
|
87
106
|
var
|
88
|
-
└──
|
107
|
+
└── 03-remote-hosts
|
89
108
|
├── case-01.json
|
90
109
|
├── case-01.txt
|
91
110
|
├── case-03.json
|
data/docs/learn/04-new_test.md
CHANGED
@@ -13,8 +13,8 @@ Steps:
|
|
13
13
|
|
14
14
|
Create skeleton for a new project: `teuton create foo`
|
15
15
|
|
16
|
-
```
|
17
|
-
|
16
|
+
```
|
17
|
+
> teuton new foo
|
18
18
|
|
19
19
|
[INFO] Creating foo project skeleton
|
20
20
|
* Create dir => foo
|
@@ -22,7 +22,7 @@ $ teuton new foo
|
|
22
22
|
* Create file => foo/start.rb
|
23
23
|
```
|
24
24
|
|
25
|
-
> It
|
25
|
+
> NOTA: It is posible to create these files by hand.
|
26
26
|
|
27
27
|
This command will create:
|
28
28
|
|
@@ -81,7 +81,7 @@ Use a YAML file (`foo/config.yaml`) or JSON for your own configurations. In this
|
|
81
81
|
Now we only have to run the challenge:
|
82
82
|
|
83
83
|
```bash
|
84
|
-
|
84
|
+
> teuton run foo
|
85
85
|
```
|
86
86
|
|
87
87
|
Output files are saved into `var/foo` directory.
|
data/docs/learn/05-use.md
CHANGED
@@ -16,8 +16,9 @@ Learn how to:
|
|
16
16
|
This example has more files:
|
17
17
|
|
18
18
|
```bash
|
19
|
-
|
20
|
-
|
19
|
+
> tree example/04-use
|
20
|
+
|
21
|
+
example/04-require
|
21
22
|
├── config.yaml
|
22
23
|
├── network.rb
|
23
24
|
├── README.md
|
@@ -25,8 +26,6 @@ example/learn-04-require
|
|
25
26
|
└── users.rb
|
26
27
|
```
|
27
28
|
|
28
|
-
* `README.md` and `config.yaml` are the same as previous example.
|
29
|
-
|
30
29
|
## Execution section
|
31
30
|
|
32
31
|
Previous `start.rb` file is now splited in: start.rb, users.rb and network.rb.
|
data/docs/learn/06-debug.md
CHANGED
@@ -14,8 +14,9 @@ Learn how to:
|
|
14
14
|
|
15
15
|
## Tree directory
|
16
16
|
|
17
|
-
```
|
18
|
-
|
17
|
+
```
|
18
|
+
> tree learn/learn-06-debug
|
19
|
+
|
19
20
|
example/learn-06-debug
|
20
21
|
├── config.yaml
|
21
22
|
├── external.rb
|
@@ -48,12 +49,7 @@ When this happend, sometimes we need to verify or check rb file consistency and
|
|
48
49
|
|
49
50
|
Let's see example `teuton check examples/learn-01-target`:
|
50
51
|
|
51
|
-
```
|
52
|
-
[INFO] ScriptPath => examples/learn-01-target/start.rb
|
53
|
-
[INFO] ConfigPath => examples/learn-01-target/config.yaml
|
54
|
-
[INFO] Pwd => /mnt/home/leap/proy/repos/teuton.d/teuton
|
55
|
-
[INFO] TestName => learn-01-target
|
56
|
-
|
52
|
+
```
|
57
53
|
+----------------------------+
|
58
54
|
| GROUP: Learn about targets |
|
59
55
|
+----------------------------+
|
@@ -78,12 +74,13 @@ Let's see example `teuton check examples/learn-01-target`:
|
|
78
74
|
+----------------------+
|
79
75
|
| Revising CONFIG file |
|
80
76
|
+----------------------+
|
81
|
-
[WARN] File
|
77
|
+
[WARN] File /home/david/proy/repos/teuton.d/teuton/examples/01-target/config.yaml not found!
|
82
78
|
[INFO] Recomended content:
|
83
79
|
---
|
84
80
|
:global:
|
85
81
|
:cases:
|
86
82
|
- :tt_members: VALUE
|
83
|
+
|
87
84
|
```
|
88
85
|
|
89
86
|
In this case, Teuton detects that there isn't exist config file, and propose us content for `config.yaml`.
|
data/docs/learn/07-log.md
CHANGED
@@ -27,27 +27,27 @@ end
|
|
27
27
|
|
28
28
|
## Result
|
29
29
|
|
30
|
-
**Let's see example**: Content of `var/
|
30
|
+
**Let's see example**: Content of `var/07-log/case-01.txt` file.
|
31
31
|
|
32
|
-
```
|
32
|
+
```
|
33
33
|
CONFIGURATION
|
34
|
-
|
35
|
-
| tt_members | anonymous
|
36
|
-
| tt_sequence | false
|
37
|
-
| tt_skip | false
|
38
|
-
| tt_testname |
|
39
|
-
|
34
|
+
+-------------+-----------+
|
35
|
+
| tt_members | anonymous |
|
36
|
+
| tt_sequence | false |
|
37
|
+
| tt_skip | false |
|
38
|
+
| tt_testname | 07-log |
|
39
|
+
+-------------+-----------+
|
40
40
|
|
41
41
|
LOGS
|
42
|
-
[
|
43
|
-
[
|
42
|
+
[13:45:02] : Using log messages...
|
43
|
+
[13:45:02] ERROR: Problem detected!
|
44
44
|
|
45
45
|
GROUPS
|
46
46
|
- Learning about log messages
|
47
47
|
01 (1.0/1.0)
|
48
48
|
Description : Create user david
|
49
49
|
Command : id david
|
50
|
-
Duration : 0.
|
50
|
+
Duration : 0.002 (local)
|
51
51
|
Alterations : find(david) & count
|
52
52
|
Expected : Greater than 0 (String)
|
53
53
|
Result : 1 (Integer)
|
@@ -55,9 +55,9 @@ GROUPS
|
|
55
55
|
RESULTS
|
56
56
|
+--------------+---------------------------+
|
57
57
|
| case_id | 01 |
|
58
|
-
| start_time |
|
59
|
-
| finish_time |
|
60
|
-
| duration | 0.
|
58
|
+
| start_time | 2022-12-24 13:45:02 +0000 |
|
59
|
+
| finish_time | 2022-12-24 13:45:02 +0000 |
|
60
|
+
| duration | 0.001900685 |
|
61
61
|
| unique_fault | 0 |
|
62
62
|
| max_weight | 1.0 |
|
63
63
|
| good_weight | 1.0 |
|