aboutsummaryrefslogtreecommitdiff
path: root/t/t0070-fundamental.sh
diff options
context:
space:
mode:
authorArnout Engelen <arnouten@bzzt.net>2010-12-18 22:28:00 +0100
committerJunio C Hamano <gitster@pobox.com>2010-12-21 19:51:17 -0800
commit6cf6bb3e47ac2f667fa0b27a4222e903ff6fb77c (patch)
tree6f85fb8abadf0e819712c74361b52852858d543a /t/t0070-fundamental.sh
parent853563d7344ee532aa56f8a9aabcfdfb5c4fe2c3 (diff)
downloadgit-6cf6bb3e47ac2f667fa0b27a4222e903ff6fb77c.tar.gz
git-6cf6bb3e47ac2f667fa0b27a4222e903ff6fb77c.tar.xz
Improve error messages when temporary file creation fails
Before, when creating a temporary file failed, a generic 'Unable to create temporary file' message was printed. In some cases this could lead to confusion as to which directory should be checked for correct permissions etc. This patch adds the template for the temporary filename to the error message, converting it to an absolute path if needed. A test verifies that the template is indeed printed when pointing to a nonexistent or unwritable directory. A copy of the original template is made in case mkstemp clears the template. Signed-off-by: Arnout Engelen <arnouten@bzzt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0070-fundamental.sh')
-rwxr-xr-xt/t0070-fundamental.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t0070-fundamental.sh b/t/t0070-fundamental.sh
index 680d7d686..9bee8bfd2 100755
--- a/t/t0070-fundamental.sh
+++ b/t/t0070-fundamental.sh
@@ -12,4 +12,17 @@ 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 'mktemp to unwritable directory prints filename' '
+ mkdir cannotwrite &&
+ chmod -w cannotwrite &&
+ test_when_finished "chmod +w cannotwrite" &&
+ test_must_fail test-mktemp cannotwrite/testXXXXXX 2>err &&
+ grep "cannotwrite/test" err
+'
+
test_done