Releases: facebookincubator/scrut
Releases · facebookincubator/scrut
v0.4.1 - Improve failed result rendering
Added
- Parameter
--max-multiline-matched-lines
fortest
andupdate
command with default100
- Automatic testing on PRs in Github
- Environment variable
SCRUT_DEFAULT_SHELL
to override detectedbash
binary at runtime
Changed
- Rendering of matches of multiline expectations in failed test results: output lines, that are covered by the multiline expectations, are now printed, limited to parameter-defined amount
Fixed
- Some integration tests on Windows
- Cleanup of temporary directories in unit tests on Windows
- Docker image building Github Action
Removed
- Obsolete test targets from
Makefile
v0.4.0
Add detached process handling (Linux/MacOS)
- Add new inline configuration option per-testcase
detached_kill_signal
that accepts common *nix signal notations (SIGTERM
,term
,15
) and can be disabled (disabled
) - Set default kill signal to
SIGTERM
in Linux/MacOS - Add support for Windows (accept new configuration, validate it correctly, do not act on it)
- Document new behavior
Improved interface and rewrote documentation
Interface
create
,test
andupdate
command now provide progress and better insight into what is being processed- New
--verbose
flag added to print also "info level" messages
- New
- New
--log-level
parameter added, defaults towarn
- When log level >=
info
disable progress printing is disabled and insteadinfo
andwarn
level log messages are printed
- When log level >=
Configuration
- Added per test case
skip_ansi_escaping
configuration option that allows for writing tests ignoring color encoding etc
Documentation / Guidance
- Added getting started section with installation guide
- Refactored tutorial into multiple pages and largelu rewritten / updated
- Separated catch-all-pages into structured Reference section
- Added curl-style installation script
- Added Dockerfile
- Added GitHub action instructions
Internal
- Dropped
colored
crate, because throuh usingindicatif
for progress theconsole
crate is already available and it provides the same function - Add GH action to build and publish docker image
- Added prism language support for bash / markdown "scrut style"
- Smol fixes in Makefile
v0.2.3
v0.2.2
Show output on timeout Summary: This CL makes timeouts being treated as validation errors. # Why? So far Scrut treated timeouts in test executions as fatal errors, which resulted in Scrut ending all test execution and printing out the file where the timeout occurred (see below). For trivial cases where only few test-cases where in a single test document and where timeouts occur consistently this is enough to identify the issue. However, if the document contains a large amount of of test cases, or when timeouts occur only occasionally, or when timeouts only occur in hard to reproduce environments (think windows test infra), then debugging such timeouts is hard and time consuming. # What? Treat timeouts as validation errors, which gives: - Timeout in one test document does not stop the execution of other test documents - Timeout error points to the specific test-case in the document where the timeout happened - Timeout error provides STDOUT and STDERR of the timed out execution (as much as is printed by the executed command before it is aborted) This makes it much easier for users to identify 1. Which command (test case) timed out 2. Why the timeout occurred (assuming the executed command is verbose enough) Reviewed By: AndreasBackx Differential Revision: D71402437 fbshipit-source-id: 0a7406f08754ed69f85c2afdebf2dcac24cfed8a
v0.2.1
Set license explicitly Summary: This CL sets the `license` attribute in `Cargo.toml` to MIT # Why? Clarifiy OSS use conditions. Referening license file instead of specifying `license` directly makes `crates.io` say this is a "non standard license". Setting instead `license` then also shows the license correctly. https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields # What? - Removed `license-file` that pointed to the included `LICENSE` file which contains a MIT license copy - Added `license = "MIT"` Reviewed By: AndreasBackx Differential Revision: D68321468 fbshipit-source-id: 2dccef335e1386d45edf16a7c0fe1784c448f83d