6 #include "pppd-private.h"
8 /* globals used in test.c... */
13 /* check if path exists and returns its type */
19 if (stat(path, &statbuf) < 0)
22 return statbuf.st_mode & S_IFMT;
27 if (mkdir_recursive("dir"))
30 if (file_type("dir") != S_IFDIR)
39 if (mkdir_recursive("dir/subdir/subsubdir"))
42 if (file_type("dir/subdir/subsubdir") != S_IFDIR)
45 rmdir("dir/subdir/subsubdir");
47 /* try again with partial existence */
48 if (mkdir_recursive("dir/subdir/subsubdir"))
51 if (file_type("dir/subdir/subsubdir") != S_IFDIR)
54 rmdir("dir/subdir/subsubdir");
61 test_recurse_multislash() {
62 if (mkdir_recursive("dir/subdir///subsubdir"))
65 if (file_type("dir/subdir/subsubdir") != S_IFDIR)
68 rmdir("dir/subdir/subsubdir");
71 /* try again with partial existence */
72 if (mkdir_recursive("dir/subdir/subsubdir///"))
75 if (file_type("dir/subdir/subsubdir") != S_IFDIR)
78 rmdir("dir/subdir/subsubdir");
85 test_parent_notdir() {
86 int fd = open("file", O_CREAT, 0600);
91 if (mkdir_recursive("file") == 0)
93 if (mkdir_recursive("file/dir") == 0)
103 char *base_dir = strdup("/tmp/ppp_utils_utest.XXXXXX");
106 if (mkdtemp(base_dir) == NULL) {
107 printf("Could not create test directory, aborting\n");
111 if (chdir(base_dir) < 0) {
112 printf("Could not enter newly created test dir, aborting\n");
117 printf("Could not create simple directory\n");
121 if (test_recurse()) {
122 printf("Could not create recursive directory\n");
126 if (test_recurse_multislash()) {
127 printf("Could not create recursive directory with multiple slashes\n");
131 if (test_parent_notdir()) {
132 printf("Creating over a file appeared to work?\n");