From 29a397e2b28783c18e896da3fce8335130c271fa Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 9 Apr 2020 15:39:23 -0400 Subject: Add test_fs_mkdirs --- tests/test_fs_mkdirs.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/test_fs_mkdirs.c (limited to 'tests') diff --git a/tests/test_fs_mkdirs.c b/tests/test_fs_mkdirs.c new file mode 100644 index 0000000..85ebfad --- /dev/null +++ b/tests/test_fs_mkdirs.c @@ -0,0 +1,40 @@ +#include "spm.h" +#include "framework.h" + +const char *testFmt = "returned '%d', expected '%d'\n"; +struct TestCase testCase[] = { + {.arg[0].str = "one", .truthValue.signed_integer = 0}, + {.arg[0].str = "one/two", .truthValue.signed_integer = 0}, + {.arg[0].str = "one/two/three", .truthValue.signed_integer = 0}, + {.arg[0].str = "one/two/three/four", .truthValue.signed_integer = 0}, + {.arg[0].str = "one/two/three/four/five", .truthValue.signed_integer = 0}, +}; +size_t numCases = sizeof(testCase) / sizeof(struct TestCase); + +int main(int argc, char *argv[]) { + for (size_t i = 0; i < numCases; i++) { + int present = 0; + int result = 0; + char path_root[PATH_MAX] = {"test_fs_mkdirs_XXXXXX"}; + char *path = NULL; + + if (mkdtemp(path_root) == NULL) { + perror("mkdtemp failed to create temporary directory"); + exit(errno); + } + + path = join((char *[]){path_root, testCase[i].caseValue.str, NULL}, DIRSEPS); + + if ((result = mkdirs(path, 0755)) < 0) { + perror(path); + exit(1); + } + present = access(path, X_OK); + + myassert(result == 0, testFmt, result, testCase[i].truthValue.signed_integer); + myassert(present == 0, testFmt, result, testCase[i].truthValue.signed_integer); + + rmdirs(path); + } + return 0; +} \ No newline at end of file -- cgit From c68875da963b896f3155eacc14db145382e2eab4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 9 Apr 2020 15:39:39 -0400 Subject: remove whitespace --- tests/test_fs_get_file_size.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'tests') diff --git a/tests/test_fs_get_file_size.c b/tests/test_fs_get_file_size.c index ce93b13..fa38b8f 100644 --- a/tests/test_fs_get_file_size.c +++ b/tests/test_fs_get_file_size.c @@ -3,8 +3,6 @@ #define KILOBYTE 1024 - - const char *testFmt = "returned '%zu', expected '%zu'\n"; struct TestCase testCase[] = { {.caseValue.unsigned_integer = 0, .truthValue.unsigned_integer = 0}, -- cgit From 4257dafd1f3b0bcb6325519287481976c960be49 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 9 Apr 2020 15:42:42 -0400 Subject: Check if directories were removed --- tests/test_fs_mkdirs.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests') diff --git a/tests/test_fs_mkdirs.c b/tests/test_fs_mkdirs.c index 85ebfad..5229769 100644 --- a/tests/test_fs_mkdirs.c +++ b/tests/test_fs_mkdirs.c @@ -35,6 +35,9 @@ int main(int argc, char *argv[]) { myassert(present == 0, testFmt, result, testCase[i].truthValue.signed_integer); rmdirs(path); + + present = access(path, X_OK); + myassert(present != 0, testFmt, result, testCase[i].truthValue.signed_integer); } return 0; } \ No newline at end of file -- cgit