tesh
tesh copied to clipboard
TEstable SHell sessions in Markdown
To make debugging test failures more easy, let's visually highlight the difference between expected and actual output.
In style of https://github.com/NorfairKing/autorecorder
Look into: - https://github.com/bashup/mdsh - https://bitheap.org/cram/
[Sybil](https://sybil.readthedocs.io/) has a neat approach for hooking into pytest: https://sybil.readthedocs.io/en/latest/use.html#test-runner-integration Maybe we can reuse this?
Some code needs to have `# pragma: no cover` so that our coverage still shows as 100%. The reason is this code is executed in a subshell while testing (using...
The following snippet will crash tesh with the shown error: ~~~ ```bash tesh-session="hello" tesh-ps1=">>>" $ python Python 3.10... ... >>> exit() ``` ~~~ ``` Traceback (most recent call last): File...
In https://github.com/OceanSprint/tesh/issues/8 it is suggested that some specific output could be ignored when attempting to match an expected output, by using some kind of patterns. This could be extended so...
To have better control over what output should be ignored, we could introduce special keywords that make ignoring a bit more strict: * `/nix/store/[HASH]-myapp-0.1` * `/home/[PATH]/foo.txt` * `/nix/store/[HASH]-git-[^2.36.2]/bin/git`
Current workflow: 1. Do some changes in my CLI program. 2. Run `tesh` to see what output changed where. 3. Manually fix the expected output in shell session examples. Ideal...