March 8, 2025.
- Python 3.6 or higher is now required
- The temporary file discovery logic was rewritten, thus it will flag dangling temporary files more reliably
- Various metadata updates to reflect that scripttest is now a PyPA project hosted on GitHub and ReadTheDocs
- Don't attempt to hash a named pipe to avoid indefinite hanging
- Include tests in source distributions
- Use CRC32 to protect against a race condition where if a run took less than 1 second updates files would not appear to be updated.
- Python 3 support (thanks Marc Abramowitz!)
- Python 3 fixes
- Python 3 compatibility, from Hugo Tavares
- More Windows fixes, from Hugo Tavares
- Windows fixes (thanks Dave Abrahams); including an option for more careful string splitting (useful when testing a script with a space in the path), and more careful handling of environmental variables.
- Added a
capture_temp
argument to :class:`scripttest.TestFileEnvironment` andenv.assert_no_temp()
to test that no temporary files are left over.
- Fixed regression with
FoundDir.invalid
- Windows fix for cleaning up scratch files more reliably
- Allow spaces in the
script
name, e.g.,C:/program files/some-script
(but you must use multiple arguments toenv.run(script, more_args)
). - Remove the resolution of scripts to an absolute path (just allow the OS to do this).
- Don't fail if there is an invalid symlink
env.run()
now takes a keyword argumentquiet
. If quiet is false, then if there is any error (return code != 0, or stderr output) the complete output of the script will be printed.- ScriptTest puts a marker file in scratch directories it deletes, so that if you point it at a directory not created by ScriptTest it will raise an error. Without this, unwitting developers could point ScriptTest at the project directory, which would cause the entire project directory to be wiped.
- ProcResults now no longer print the absolute path of the script (which is often system dependent, and so not good for doctests).
- Added :func:`scripttest.ProcResults.wildcard_matches` which returns file objects based on a wildcard expression.
Initial release