diff options
author | Johannes Sixt <j6t@kdbg.org> | 2009-03-04 22:38:24 +0100 |
---|---|---|
committer | Johannes Sixt <j6t@kdbg.org> | 2009-03-22 17:26:44 +0100 |
commit | 704a3143d5ba0709727430154ef3dad600aad4de (patch) | |
tree | ace848d8b1548a6574b6c18c665369b9469c1464 /t/test-lib.sh | |
parent | 7b7247b0d7cb6a105d87574642343480707414b3 (diff) | |
download | git-704a3143d5ba0709727430154ef3dad600aad4de.tar.gz |
Use prerequisite tags to skip tests that depend on symbolic links
Many tests depend on that symbolic links work. This introduces a check
that sets the prerequisite tag SYMLINKS if the file system supports
symbolic links. Since so many tests have to check for this prerequisite,
we do the check in test-lib.sh, so that we don't need to repeat the test
in many scripts.
To check for 'ln -s' failures, you can use a FAT partition on Linux:
$ mkdosfs -C git-on-fat 1000000
$ sudo mount -o loop,uid=j6t,gid=users,shortname=winnt git-on-fat /mnt
Clone git to /mnt and
$ GIT_SKIP_TESTS='t0001.1[34] t0010 t1301 t403[34] t4129.[47] t5701.7
t7701.3 t9100 t9101.26 t9119 t9124.[67] t9200.10 t9600.6' \
make test
(These additionally skipped tests depend on POSIX permissions that FAT on
Linux does not provide.)
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Diffstat (limited to 't/test-lib.sh')
-rw-r--r-- | t/test-lib.sh | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/t/test-lib.sh b/t/test-lib.sh index 3c65cfe1ab..5337e89202 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -689,3 +689,7 @@ case $(uname -s) in } ;; esac + +# test whether the filesystem supports symbolic links +ln -s x y 2>/dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS +rm -f y |