Test your infrastructure as code.
The infrastructure test is useful for:
- Sysadmin teachers who want to evaluate students remote machines.
- Students who want to evaluate their learning process.
- Professionals who want to monitor their remote machines.
Install Ruby and then:
gem install teutonCreate your test file:
# File: examples/02-target/start.rb
group "Learn about targets" do
target "Create user obiwan", weight: 2
run "id obiwan"
expect ["uid=", "(obiwan)", "gid="]
target "Delete user vader"
run "id vader"
expect_fail
end
start do
show
export
endUsage: Run test with teuton run TESTPATH.
$ teuton run examples/02-target
------------------------------------
Started at 2025-12-01 18:14:44 +0000
F.
Finished in 0.005 seconds
------------------------------------
CASE RESULTS
+------+-----------+-------+-------+
| CASE | MEMBERS | GRADE | STATE |
| 01 | anonymous | 33.0 | ? |
+------+-----------+-------+-------+Output: reports saved into var/TESTNAME folder.
$ tree var
var
└── 02-target
├── case-01.txt
├── moodle.csv
└── resume.txt
Consult the generated output files
- Use simple DSL to define your tests:
target,run,expectand more. - Remote devices only require SSH or Telnet service installed.
- Output format: txt, html, json, yaml, markdown, etc.
- Multiplatform.
- Free Software License.
- Installation
- Teuton commands
- teuton config: suggest config file.
- teuton check: check test syntax.
- teuton help: show command help.
- teuton new: create new test.
- teuton readme: generate test documentation.
- teuton run: run test.
- Learning guide. Learn writing your own tests. Examples.
- Create NEW test
- Evaluate TARGET
- Check REMOTE HOSTS
- Read CONFIG file
- Use several files
- CHECK test syntax
- Target WEIGHT
- UNIQUE values
- SEND report copies to remote hosts
- DEBUG results
- Export other FORMATS
- PRESERVE old reports
- Hide FEEDBACK from reports
- MOODLE
- Build README from test
- INCLUDE more configuration files
- ALIAS
- LOG messages
- Don't get params, just read vars
- MACROS
- Checking exit codes
- RESULT object
- How to test code
- How to test SQL and database
- expect vs result TODO
- EXPECT_SEQUENCE
- RUN_SCRIPT
- UPLOAD
- Configuration file: Reserved params, configure hosts, etc.
- Language reference. DSL used to define tests.
- expect: check run output with expectations.
- export: save evaluation reports.
- get: read config params.
- group: group targets.
- play: starts main execution.
- result: contains run output.
- run: execute command on local/remote host.
- send: send reports into remote machines.
- set: write new param.
- show: show progress on screen.
- target: define new target.
- Modes of use: Classroom, contest, standalone.
- More information
- Email:
teuton.software@protonmail.com
- Make sure you have Ruby installed
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request.
You can also create issues with your requests, incidences or suggestions.
