Rere.py
Universal Behavior Testing Tool in Python.
Install / Use
/learn @tsoding/Rere.pyREADME
rere.py (Record Replay)
Universal Behavior Testing Tool in Python. The script is completely self-contained and expected to be simply copy-pasted to your project and modified as needed.
Quick Start
- Create a file with a shell command line per line. Let's call it test.list.
- Record the expected behavior of each shell command:
$ ./rere.py record test.list
The above command should create test.list.bi snapshot file with stdout, stderr, and returncode captured as the expected behavior. The file uses bi format, for more infor see Snapshot Schema.
- Replay the command lines checking their behavior against the recorded one:
$ ./rere.py replay test.list
- test.list.bi is expected to be committed into the project repo.
Snapshot Schema
The snapshot file uses bi format. Its schema goes as following (the order of fields matters):
- First comes an Integer field
countwhich denotes the amount of tests. - Then come the tests. Each test is a sequence of fields:
- Blob field
shellwhich contains the shell command to test, - Integer field
returncodewhich contains the expected exit code of the shell command, - Blob field
stdoutwhich contains the bytes of the expected standard output, - Blob field
stderrwhich contains the bytes of the expected standard error output.
- Blob field
See test.list.bi for an example.
