diff options
Diffstat (limited to 'test/unistd')
-rw-r--r-- | test/unistd/Makefile | 2 | ||||
-rw-r--r-- | test/unistd/errno.c | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/test/unistd/Makefile b/test/unistd/Makefile index d684f0690..4db50174d 100644 --- a/test/unistd/Makefile +++ b/test/unistd/Makefile @@ -1,7 +1,7 @@ # uClibc unistd tests # Licensed under the GNU Library General Public License, see COPYING.LIB -TESTS = clone fork getcwd getopt getopt_long preadwrite vfork +TESTS = clone errno fork getcwd getopt getopt_long preadwrite vfork include ../Test.mak diff --git a/test/unistd/errno.c b/test/unistd/errno.c new file mode 100644 index 000000000..746c21d89 --- /dev/null +++ b/test/unistd/errno.c @@ -0,0 +1,27 @@ +/* based originally on one the clone tests in the LTP */ + +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> +#include <sched.h> + +int child_fn(void *arg) +{ + fprintf(stderr, "in child_fn\n"); + exit(1); +} + +int main(void) +{ + int r_clone, ret_errno; + + r_clone = clone(child_fn, NULL, (int) NULL, NULL); + ret_errno = errno; + if (ret_errno != EINVAL) { + fprintf(stderr, "clone: res=%d (%d) errno=%d %m\n", + r_clone, (int) NULL, errno); + return 1; + } + + return 0; +} |