##// END OF EJS Templates
Added test for relative paths and all status flags for 'hg status'
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein -
r1624:d9e576e5 default
Show More
Name Size Modified Last Commit Author
/ tests
README Loading ...
fish-merge Loading ...
run-tests Loading ...
test-addremove Loading ...
test-addremove.out Loading ...
test-archive Loading ...
test-archive.out Loading ...
test-backwards-remove Loading ...
test-backwards-remove.out Loading ...
test-bad-pull Loading ...
test-bad-pull.out Loading ...
test-basic Loading ...
test-basic.out Loading ...
test-bdiff Loading ...
test-bdiff.out Loading ...
test-cat Loading ...
test-cat.out Loading ...
test-clone Loading ...
test-clone-failure Loading ...
test-clone-failure.out Loading ...
test-clone-r Loading ...
test-clone-r.out Loading ...
test-clone.out Loading ...
test-commit Loading ...
test-commit.out Loading ...
test-conflict Loading ...
test-conflict.out Loading ...
test-confused-revert Loading ...
test-confused-revert.out Loading ...
test-copy Loading ...
test-copy.out Loading ...
test-copy2 Loading ...
test-copy2.out Loading ...
test-diffdir Loading ...
test-diffdir.out Loading ...
test-empty Loading ...
test-empty-dir Loading ...
test-empty-dir.out Loading ...
test-empty.out Loading ...
test-encode Loading ...
test-encode.out Loading ...
test-filebranch Loading ...
test-filebranch.out Loading ...
test-flags Loading ...
test-flags.out Loading ...
test-grep Loading ...
test-grep.out Loading ...
test-help Loading ...
test-help.out Loading ...
test-hgignore Loading ...
test-hgignore.out Loading ...
test-hgrc Loading ...
test-hgrc.out Loading ...
test-hook Loading ...
test-hook.out Loading ...
test-hup Loading ...
test-hup.out Loading ...
test-locate Loading ...
test-locate.out Loading ...
test-merge-revert Loading ...
test-merge-revert.out Loading ...
test-merge-revert2 Loading ...
test-merge-revert2.out Loading ...
test-merge1 Loading ...
test-merge1.out Loading ...
test-merge2 Loading ...
test-merge2.out Loading ...
test-merge3 Loading ...
test-merge3.out Loading ...
test-merge4 Loading ...
test-merge4.out Loading ...
test-merge5 Loading ...
test-merge5.out Loading ...
test-merge6 Loading ...
test-merge6.out Loading ...
test-merge7 Loading ...
test-merge7.out Loading ...
test-notfound Loading ...
test-notfound.out Loading ...
test-permissions Loading ...
test-permissions.out Loading ...
test-pull Loading ...
test-pull-permission Loading ...
test-pull-permission.out Loading ...
test-pull.out Loading ...
test-push-warn Loading ...
test-push-warn.out Loading ...
test-rawcommit1 Loading ...
test-rawcommit1.out Loading ...
test-remove Loading ...
test-remove.out Loading ...
test-rename Loading ...
test-rename.out Loading ...
test-revert Loading ...
test-revert-unknown Loading ...
test-revert-unknown.out Loading ...
test-revert.out Loading ...
test-ro-message Loading ...
test-ro-message.out Loading ...
test-simple-update Loading ...
test-simple-update.out Loading ...
test-ssh Loading ...
test-ssh.out Loading ...
test-static-http Loading ...
test-static-http.out Loading ...
test-status Loading ...
test-status.out Loading ...
test-symlinks Loading ...
test-symlinks.out Loading ...
test-tag Loading ...
test-tag.out Loading ...
test-tags Loading ...
test-tags.out Loading ...
test-undo Loading ...
test-undo.out Loading ...
test-unrelated-pull Loading ...
test-unrelated-pull.out Loading ...
test-up-local-change Loading ...
test-up-local-change.out Loading ...
test-update-reverse Loading ...
test-update-reverse.out Loading ...
test-walk Loading ...
test-walk.out Loading ...

A simple testing framework

To run the tests, do:

cd tests/
./run-tests

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 up -m want user interaction

for commit use -m "text"
for hg up -m, 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 "0 0"

- diff will show the current time

use hg diff | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/" to strip
dates