package testo-diff
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Pure-OCaml diff implementation
Install
dune-project
Dependency
Authors
Maintainers
Sources
testo-0.3.4.tbz
sha256=50c4ad248a3234274c84f80b56d2c4007238c65cfd1e0a66b1952deaf04a4765
sha512=522c856350ea1cc3ca17cde59cbd50440ff36681952f672cfa0ba4451db41343a6de3ca0101f7d4465d30de3f337f226df289bbc21780f8a18a6d9a622e3fb55
doc/CHANGES.html
0.3.4 (2026-01-17)
- Add support for checked output files (#134).
- Add an option
inline_logsto create a test for which logs are always or never shown inline (#142). - Add a command-line option
--max-inline-log-bytesto limit the size of unchecked test output (logs) shown inline when reporting the status of a test. The default limit is 1MB (#144). - Improve internal error handling (#153, #154).
- Add support for boolean selection queries on test tags, extending
-t(#5). The query language keywordsand,or,not,all, andnonecan no longer be used as tag names. - New experimental submodule [Testo.Lazy_with_output] module for lazy computations that cache standard output and error output in addition to the computation’s result or exception. This allows for sharing context between tests running in the same worker process. It saves unnecessary computations while providing the same logs for each test sharing this context (#156).
- Report and highlight differences in Unix vs. Windows line endings as well as missing trailing newlines (#163).
- Testo’s snapshot files are now open in text mode for Windows-Unix compatibility. When reading files on Windows, CRLFs are converted to LFs. When writing, LFs are converted to CRLFs. Git or equivalent must be set up to convert line endings appropriately when moving files across platforms (#165).
- A series of functions for reading and writing files has been deprecated and renamed to hint that we’re reading or writing in text mode on Windows. These functions are
write_file,read_file,map_file,copy_file, andwith_temp_file. The new names arewrite_text_file,read_text_file, etc. (#165). - Testo’s own test suite now passes successfully on Windows.
- Add a
-C/--chdiroption to set the current working directory (#167). - Add support for a
Testo.checkfunction and testables, replicating the similar functionality found in Alcotest. This makes it practical to write tests that don’t depend on the Alcotest library (#169). - Show current working directory (cwd) when reporting missing files if one of the paths is relative (#170).
- Rename the
brokenoption ofTesto.createandTesto.updatetoflaky(#172).
0.2.0 (2025-09-11)
- Fix: handle windows paths correctly CLI help output (https://github.com/semgrep/testo/pull/121)
- Fix: correct path masking on Windows paths (https://github.com/semgrep/testo/pull/121)
- Fix: prevent “Bad file descriptor” errors arising from output redirection on Windows (https://github.com/semgrep/testo/pull/121)
- Fix: handle temporary file deletion cleanly on windows (https://github.com/semgrep/testo/pull/119)
- Fix: don’t set signals on Windows (https://github.com/semgrep/testo/pull/118).
- Add
Testo.with_chdir(https://github.com/semgrep/testo/pull/104). - Fix nonsensical diff formatting (https://github.com/semgrep/testo/pull/104).
- Fix: enable the approval of the output of a test that is expected to complete but produces the incorrect output. Running the
approvesubcommand on such a test now successfully changes its status from XFAIL to XPASS (#103). - Allow multiple
-ssearch queries in the same test command, allowing the selection of various tests by their name or hash (#110). - Add a
--expertoption to hide the legend printed byrunandstatus(#109). - Add a
--autocleanoption torunandstatussubcommands to delete test snapshots that don’t belong to any known test as it typically happens after tests are renamed (#126). - Add support for timeouts (#127).
0.1.0 (2024-11-10)
First official release
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page