mirror of
https://github.com/git/git
synced 2024-10-28 19:25:47 +00:00

Some of our tests try to make sure Git behaves sensibly in a read-only directory, by dropping 'w' permission bit before doing a test and then restoring it after it is done. The latter is needed for the test framework to clean after itself without leaving a leftover directory that cannot be removed. Ancient parts of tests however arrange the above with chmod a-w . && ... do the test ... status=$? chmod 775 . (exit $status) which obviously would not work if the test somehow dies before it has the chance to do "chmod 775". Rewrite them by following a more robust pattern recently written tests use, which is test_when_finished "chmod 775 ." && chmod a-w . && ... do the test ... Signed-off-by: Junio C Hamano <gitster@pobox.com>
37 lines
922 B
Bash
Executable file
37 lines
922 B
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='check that the most basic functions work
|
|
|
|
|
|
Verify wrappers and compatibility functions.
|
|
'
|
|
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'character classes (isspace, isalpha etc.)' '
|
|
test-ctype
|
|
'
|
|
|
|
test_expect_success 'mktemp to nonexistent directory prints filename' '
|
|
test_must_fail test-mktemp doesnotexist/testXXXXXX 2>err &&
|
|
grep "doesnotexist/test" err
|
|
'
|
|
|
|
test_expect_success POSIXPERM,SANITY 'mktemp to unwritable directory prints filename' '
|
|
mkdir cannotwrite &&
|
|
test_when_finished "chmod +w cannotwrite" &&
|
|
chmod -w cannotwrite &&
|
|
test_must_fail test-mktemp cannotwrite/testXXXXXX 2>err &&
|
|
grep "cannotwrite/test" err
|
|
'
|
|
|
|
test_expect_success 'git_mkstemps_mode does not fail if fd 0 is not open' '
|
|
git commit --allow-empty -m message <&-
|
|
'
|
|
|
|
test_expect_success 'check for a bug in the regex routines' '
|
|
# if this test fails, re-build git with NO_REGEX=1
|
|
test-regex --bug
|
|
'
|
|
|
|
test_done
|