From 6158d0e16611338b13649a14210ca6413ddb2ea2 Mon Sep 17 00:00:00 2001 From: Giacomo Tesio Date: Wed, 23 Aug 2017 04:25:30 +0200 Subject: [PATCH] qa: newlib test for chdir and mkdir --- qa/lib/newlib/103-files.c | 44 ++++++++++++++++++++++++++++ qa/lib/newlib/199-files-CLEAR.runner | 3 ++ qa/lib/newlib/build.json | 2 ++ 3 files changed, 49 insertions(+) create mode 100644 qa/lib/newlib/103-files.c create mode 100755 qa/lib/newlib/199-files-CLEAR.runner diff --git a/qa/lib/newlib/103-files.c b/qa/lib/newlib/103-files.c new file mode 100644 index 0000000..360803a --- /dev/null +++ b/qa/lib/newlib/103-files.c @@ -0,0 +1,44 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, char **argv) +{ + int ret; + char buf[256]; + + ret = chdir("/tmp"); + if(ret != 0){ + printf("FAIL: chdir(/tmp) returns %d\n", ret); + exit(1); + } + + ret = chdir("/inexistent_folder"); + if(ret != -1 || errno != ENOENT){ + printf("FAIL: chdir(/inexistent_folder) returns %d; errno %d\n", ret, errno); + exit(2); + } + + if(getcwd(buf, sizeof(buf)) == NULL){ + perror("FAIL: getcwd failed"); + exit(3); + } + if(strcmp("/tmp", buf) != 0){ + printf("FAIL: getcwd() returns %s instead of /tmp\n", buf); + exit(4); + } + + ret = mkdir("qa-files", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); + if(ret != 0){ + printf("FAIL: mkdir(qa-files) in /tmp returns %d\n", ret); + exit(5); + } + + return 0; +} diff --git a/qa/lib/newlib/199-files-CLEAR.runner b/qa/lib/newlib/199-files-CLEAR.runner new file mode 100755 index 0000000..b0da545 --- /dev/null +++ b/qa/lib/newlib/199-files-CLEAR.runner @@ -0,0 +1,3 @@ +#!/cmd/rc + +rm -fr /tmp/qa-files diff --git a/qa/lib/newlib/build.json b/qa/lib/newlib/build.json index aa65487..14e8018 100644 --- a/qa/lib/newlib/build.json +++ b/qa/lib/newlib/build.json @@ -38,6 +38,7 @@ "100-files.c", "101-files.c", "102-files.c", + "103-files.c", "200-signals.c", "201-signals.c", "202-signals.c", @@ -86,6 +87,7 @@ "100-files.c", "101-files.c", "102-files.c", + "103-files.c", "200-signals.c", "201-signals.c", "202-signals.c",