Browse Source

Merge branch 'jc/dir-iterator-test-fix'

* jc/dir-iterator-test-fix:
  test-dir-iterator: do not assume errno values
maint
Junio C Hamano 6 years ago
parent
commit
cc2a7403fe
  1. 11
      t/helper/test-dir-iterator.c
  2. 4
      t/t0066-dir-iterator.sh

11
t/helper/test-dir-iterator.c

@ -4,6 +4,15 @@
#include "iterator.h" #include "iterator.h"
#include "dir-iterator.h" #include "dir-iterator.h"


static const char *error_name(int error_number)
{
switch (error_number) {
case ENOENT: return "ENOENT";
case ENOTDIR: return "ENOTDIR";
default: return "ESOMETHINGELSE";
}
}

/* /*
* usage: * usage:
* tool-test dir-iterator [--follow-symlinks] [--pedantic] directory_path * tool-test dir-iterator [--follow-symlinks] [--pedantic] directory_path
@ -31,7 +40,7 @@ int cmd__dir_iterator(int argc, const char **argv)
diter = dir_iterator_begin(path.buf, flags); diter = dir_iterator_begin(path.buf, flags);


if (!diter) { if (!diter) {
printf("dir_iterator_begin failure: %d\n", errno); printf("dir_iterator_begin failure: %s\n", error_name(errno));
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }



4
t/t0066-dir-iterator.sh

@ -55,13 +55,13 @@ test_expect_success 'dir-iterator should list files in the correct order' '
test_expect_success 'begin should fail upon inexistent paths' ' test_expect_success 'begin should fail upon inexistent paths' '
test_must_fail test-tool dir-iterator ./inexistent-path \ test_must_fail test-tool dir-iterator ./inexistent-path \
>actual-inexistent-path-output && >actual-inexistent-path-output &&
echo "dir_iterator_begin failure: 2" >expected-inexistent-path-output && echo "dir_iterator_begin failure: ENOENT" >expected-inexistent-path-output &&
test_cmp expected-inexistent-path-output actual-inexistent-path-output test_cmp expected-inexistent-path-output actual-inexistent-path-output
' '


test_expect_success 'begin should fail upon non directory paths' ' test_expect_success 'begin should fail upon non directory paths' '
test_must_fail test-tool dir-iterator ./dir/b >actual-non-dir-output && test_must_fail test-tool dir-iterator ./dir/b >actual-non-dir-output &&
echo "dir_iterator_begin failure: 20" >expected-non-dir-output && echo "dir_iterator_begin failure: ENOTDIR" >expected-non-dir-output &&
test_cmp expected-non-dir-output actual-non-dir-output test_cmp expected-non-dir-output actual-non-dir-output
' '



Loading…
Cancel
Save