rhg: add harness tests for rhg files
Differential Revision: https://phab.mercurial-scm.org/D8873
--- a/tests/test-rhg.t Thu Jul 30 16:55:44 2020 +0200
+++ b/tests/test-rhg.t Mon Aug 03 11:55:59 2020 +0200
@@ -1,5 +1,6 @@
#require rust
+Define an rhg function that will only run if rhg exists
$ rhg() {
> if [ -f "$RUNTESTDIR/../rust/target/debug/rhg" ]; then
> "$RUNTESTDIR/../rust/target/debug/rhg" "$@"
@@ -8,19 +9,56 @@
> exit 80
> fi
> }
+
+Unimplemented command
$ rhg unimplemented-command
[252]
+
+Finding root
$ rhg root
abort: no repository found in '$TESTTMP' (.hg not found)!
[255]
+
$ hg init repository
$ cd repository
$ rhg root
$TESTTMP/repository
+
+Unwritable file descriptor
$ rhg root > /dev/full
abort: No space left on device (os error 28)
[255]
+
+Deleted repository
$ rm -rf `pwd`
$ rhg root
abort: error getting current working directory: $ENOENT$
[255]
+
+Listing tracked files
+ $ cd $TESTTMP
+ $ hg init repository
+ $ cd repository
+ $ for i in 1 2 3; do
+ > echo $i >> file$i
+ > hg add file$i
+ > done
+ > hg commit -m "commit $i" -q
+
+Listing tracked files from root
+ $ rhg files
+ file1
+ file2
+ file3
+
+Listing tracked files from subdirectory
+ $ mkdir -p path/to/directory
+ $ cd path/to/directory
+ $ rhg files
+ ../../../file1
+ ../../../file2
+ ../../../file3
+
+Listing tracked files through broken pipe
+ $ rhg files | head -n 1
+ ../../../file1