Mercurial > hg
view tests/README @ 2703:d32b31e88391
run-tests.py: fix diff output when test-foo.out doesn't exist.
Previously, if test-foo.out doesn't exist and test-foo outputs
something, the first line of the diff will look like this:
-+changeset: 0:0acdaf898367
(note the leading "-")
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Fri, 21 Jul 2006 01:51:17 -0300 |
parents | e506c14382fd |
children | 1c66aad252f9 |
line wrap: on
line source
A simple testing framework To run the tests, do: cd tests/ python run-tests.py This finds all scripts in the test directory named test-* and executes them. The scripts can be either shell scripts or Python. Each test is run in a temporary directory that is removed when the test is complete. A test-<x> succeeds if the script returns success and its output matches test-<x>.out. If the new output doesn't match, it is stored in test-<x>.err. There are some tricky points here that you should be aware of when writing tests: - hg commit and hg merge want user interaction for commit use -m "text" for hg merge, set HGMERGE to something noninteractive (like true or merge) - changeset hashes will change based on user and date which make things like hg history output change use commit -m "test" -u test -d "1000000 0" - diff will show the current time use hg diff | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/" to strip dates