Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/README @ 523:003df62ae39f
[PATCH] Force "hg clone" to always create a new directory
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Force "hg clone" to always create a new directory
From: Bryan O'Sullivan <bos@serpentine.com>
I just screwed myself by typing "hg clone foo" without specifying a
destination directory, and after I was done mopping up the mess,
concluded that this is a dangerous mode of operation that has no
practical value.
I've thus modified the clone command so that it always creates a
destination directory. If none is specified, the destination is taken
as the basename of the source.
hg clone foo
-> error, because foo already exists
hg clone http://www.selenic.com/hg
-> new repo, named hg
hg clone ../bar
-> new repo, named bar
manifest hash: f21ed8f805a60c1326d99220772e1574b0870d6c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwxsIywK+sNU5EO8RAgooAKC3IL6vKyADb9s2qqqi4GMw2Z7asACbBtE/
TvPgwGtIiB2GC+N+V7r1VpI=
=uTcK
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Wed, 29 Jun 2005 14:04:56 -0800 |
parents | b4e0e20646bb |
children | 0fb498458905 |
rev | line source |
---|---|
331 | 1 A simple testing framework |
2 | |
332 | 3 To run the tests, do: |
4 | |
5 cd tests/ | |
6 ./run-tests | |
7 | |
331 | 8 This finds all scripts in the test directory named test-* and executes |
9 them. The scripts can be either shell scripts or Python. Each test is | |
10 run in a temporary directory that is removed when the test is complete. | |
11 | |
12 A test-<x> succeeds if the script returns success and its output | |
13 matches test-<x>.out. If the new output doesn't match, it is stored in | |
14 test-<x>.err. | |
15 | |
16 There are some tricky points here that you should be aware of when | |
17 writing tests: | |
18 | |
19 - hg commit and hg up -m want user interaction | |
20 | |
21 for commit use -t "text" | |
22 for hg up -m, set HGMERGE to something noninteractive (like true or merge) | |
23 | |
24 - changeset hashes will change based on user and date which make | |
25 things like hg history output change | |
26 | |
27 use commit -t "test" -u test -d "0 0" | |
28 | |
29 - diff will show the current time | |
30 | |
31 use hg diff | sed "s/\(\(---\|+++\).*\)\t.*/\1/" to strip dates | |
32 | |
332 | 33 - set -x and pipelines don't generate stable output |
34 | |
35 turn off set -x or break pipelines into pieces | |
36 |