# HG changeset patch # User mpm@selenic.com # Date 1120204285 28800 # Node ID 96ff7dae94f791128c4d0f35fe6407f6762f0930 # Parent 92b60cabf808ec810ef33a3816b5007ffd85836f [PATCH] Tests for clone command -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] Tests for clone command From: Bryan O'Sullivan This patch adds two new tests. One tests clone's correct operation, the other that clone fails when it should. This patch depends on oserror.patch. manifest hash: a0c9c4932baf29e7b33b2bd2003ddd2254ce65d3 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCxPX9ywK+sNU5EO8RAmSNAJ9esixtATdkszwLltu65dzpKf6P4gCcCqGT +Z7CTbXRTFcJvmXFlvEo0xE= =6fqz -----END PGP SIGNATURE----- diff -r 92b60cabf808 -r 96ff7dae94f7 tests/test-clone --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-clone Thu Jun 30 23:51:25 2005 -0800 @@ -0,0 +1,28 @@ +#!/bin/bash + +set -x +mkdir a +cd a +hg init +echo a > a +hg add a +hg commit -t test -u test -d '0 0' + +# Default operation +hg clone . ../b +cd ../b +cat a +hg verify + +# No update +hg clone -U . ../c +cd ../c +cat a +hg verify + +# Default destination +mkdir ../d +cd ../d +hg clone ../a +cd a +hg cat a diff -r 92b60cabf808 -r 96ff7dae94f7 tests/test-clone-failure --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-clone-failure Thu Jun 30 23:51:25 2005 -0800 @@ -0,0 +1,43 @@ +#!/bin/bash + +set -x + +# No local source +hg clone a b +echo $? + +# No remote source +hg clone http://127.0.0.1:3121/a b +echo $? +rm -rf b # work around bug with http clone + +# Inaccessible source +mkdir a +chmod 000 a +hg clone a b +echo $? + +# Inaccessible destination +mkdir b +cd b +hg init +hg clone . ../a +echo $? +cd .. +chmod 700 a +rm -rf a b + +# Source of wrong type +mkfifo a +hg clone a b +echo $? +rm a + +# Default destination, same directory +mkdir q +cd q +hg init +cd .. +hg clone q + +true diff -r 92b60cabf808 -r 96ff7dae94f7 tests/test-clone-failure.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-clone-failure.out Thu Jun 30 23:51:25 2005 -0800 @@ -0,0 +1,44 @@ ++ hg clone a b +abort: No such file or directory: a ++ echo 255 +255 ++ hg clone http://127.0.0.1:3121/a b +requesting all changes +adding changesets +abort: error 111: Connection refused +transaction abort! +rollback completed ++ echo 255 +255 ++ rm -rf b ++ mkdir a ++ chmod 000 a ++ hg clone a b +cp: cannot stat `a/.hg': Permission denied +abort: cp exited with status 1 ++ echo 255 +255 ++ mkdir b ++ cd b ++ hg init ++ hg clone . ../a +abort: destination '../a' already exists ++ echo 1 +1 ++ cd .. ++ chmod 700 a ++ rm -rf a b ++ mkfifo a ++ hg clone a b +cp: cannot stat `a/.hg': Not a directory +abort: cp exited with status 1 ++ echo 255 +255 ++ rm a ++ mkdir q ++ cd q ++ hg init ++ cd .. ++ hg clone q +abort: destination 'q' already exists ++ true diff -r 92b60cabf808 -r 96ff7dae94f7 tests/test-clone.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-clone.out Thu Jun 30 23:51:25 2005 -0800 @@ -0,0 +1,32 @@ ++ mkdir a ++ cd a ++ hg init ++ echo a ++ hg add a ++ hg commit -t test -u test -d '0 0' ++ hg clone . ../b ++ cd ../b ++ cat a +a ++ hg verify +checking changesets +checking manifests +crosschecking files in changesets and manifests +checking files +1 files, 1 changesets, 1 total revisions ++ hg clone -U . ../c ++ cd ../c ++ cat a +cat: a: No such file or directory ++ hg verify +checking changesets +checking manifests +crosschecking files in changesets and manifests +checking files +1 files, 1 changesets, 1 total revisions ++ mkdir ../d ++ cd ../d ++ hg clone ../a ++ cd a ++ hg cat a +a