view tests/README @ 576:da11baf5de7b

Handle unknown files better on update -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Handle unknown files better on update If we spot an unknown file that's identical to one that's in the update, we get the updated one so that it shows up in the dirstate properly. manifest hash: 988aca64f255df67c27d1c6f8694ea098e4ec159 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCxyFyywK+sNU5EO8RAjmiAKCTgINXMPB1CxHt0OgHYPucfjCS7QCcDpJJ VgKqZS54hTAWN3jL2yllUhI= =iPQD -----END PGP SIGNATURE-----
author mpm@selenic.com
date Sat, 02 Jul 2005 15:21:22 -0800
parents b4e0e20646bb
children 0fb498458905
line wrap: on
line source

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 -t "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 -t "test" -u test -d "0 0"

- diff will show the current time

  use hg diff | sed "s/\(\(---\|+++\).*\)\t.*/\1/" to strip dates

- set -x and pipelines don't generate stable output

  turn off set -x or break pipelines into pieces