@@ -757,7 +757,6 @@ mkdir02 mkdir02
mkdir03 mkdir03
mkdir04 mkdir04
mkdir05 mkdir05
-mkdir05A symlink01 -T mkdir05
mkdir09 mkdir09
#mkdirat test cases
@@ -9,6 +9,7 @@
* EFAULT, ENAMETOOLONG, EEXIST, ENOENT, ENOTDIR, ELOOP and EROFS
*/
+#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -19,6 +20,9 @@
#include "tst_test.h"
#define TST_EEXIST "tst_eexist"
+#define TST_PIPE "tst_pipe"
+#define TST_FOLDER "tst_folder"
+#define TST_SYMLINK "tst_symlink"
#define TST_ENOENT "tst_enoent/tst"
#define TST_ENOTDIR_FILE "tst_enotdir"
#define TST_ENOTDIR_DIR "tst_enotdir/tst"
@@ -41,6 +45,9 @@ static struct tcase {
{NULL, EFAULT},
{long_dir, ENAMETOOLONG},
{TST_EEXIST, EEXIST},
+ {TST_FOLDER, EEXIST},
+ {TST_PIPE, EEXIST},
+ {TST_SYMLINK, EEXIST},
{TST_ENOENT, ENOENT},
{TST_ENOTDIR_DIR, ENOTDIR},
{loop_dir, ELOOP},
@@ -70,7 +77,13 @@ static void verify_mkdir(unsigned int n)
static void setup(void)
{
unsigned int i;
+ char *tmpdir = tst_get_tmpdir();
+ SAFE_SYMLINK(tmpdir, TST_SYMLINK);
+ free(tmpdir);
+
+ SAFE_MKFIFO(TST_PIPE, 0777);
+ SAFE_MKDIR(TST_FOLDER, 0777);
SAFE_TOUCH(TST_EEXIST, MODE, NULL);
SAFE_TOUCH(TST_ENOTDIR_FILE, MODE, NULL);