X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-mkdirat.c;h=90b3807d959aa51a483996a023e2a18f643ddad7;hb=0ba087759d2797c8f7d3c34bef6268ba3fd212cb;hp=69d90b81e8eab01c2076812661c96dc717045556;hpb=da8f2a565cd9522f2a3a1400e538d1853374aa08;p=gnulib.git diff --git a/tests/test-mkdirat.c b/tests/test-mkdirat.c index 69d90b81e..90b3807d9 100644 --- a/tests/test-mkdirat.c +++ b/tests/test-mkdirat.c @@ -1,5 +1,5 @@ /* Tests of mkdirat. - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,6 +20,9 @@ #include +#include "signature.h" +SIGNATURE_CHECK (mkdirat, int, (int, char const *, mode_t)); + #include #include #include @@ -27,17 +30,9 @@ #include #include -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) +#include "progname.h" +#include "ignore-value.h" +#include "macros.h" #define BASE "test-mkdirat.t" @@ -53,12 +48,27 @@ do_mkdir (char const *name, mode_t mode) } int -main () +main (int argc _GL_UNUSED, char *argv[]) { int result; + set_program_name (argv[0]); + /* Clean up any trash from prior testsuite runs. */ - ASSERT (system ("rm -rf " BASE "*") == 0); + ignore_value (system ("rm -rf " BASE "*")); + + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (mkdirat (-1, "foo", 0700) == -1); + ASSERT (errno == EBADF); + } + { + close (99); + errno = 0; + ASSERT (mkdirat (99, "foo", 0700) == -1); + ASSERT (errno == EBADF); + } /* Test basic mkdir functionality. */ result = test_mkdir (do_mkdir, false);