static void test_dir(void) { test_opendir(); test_canonpath(); test_abspath(); test_basename(); test_dirname(); }
int main(int argc , char ** argv) { test_dirname(); test_filename(); test_alloc_filename_empty_strings(); exit(0); }
int main(int argc, char **argv) { char buffer1[PATH_MAX + 1], buffer2[PATH_MAX + 1]; subtest = 1; /* initialize */ start(43); executable = argv[0]; getcwd(basepath, sizeof(basepath)); /* prepare some symlinks to make it more difficult */ if (symlink("/", addbasepath(buffer1, L(1))) < 0) ERR; if (symlink(basepath, addbasepath(buffer1, L(2))) < 0) ERR; /* perform some tests */ check_realpath_recurse(basepath, PATH_DEPTH); /* now try with recursive symlinks */ if (symlink(addbasepath(buffer1, L(3)), addbasepath(buffer2, L(3))) < 0) ERR; if (symlink(addbasepath(buffer1, L(5)), addbasepath(buffer2, L(4))) < 0) ERR; if (symlink(addbasepath(buffer1, L(4)), addbasepath(buffer2, L(5))) < 0) ERR; check_realpath_step_by_step(addbasepath(buffer1, L(3)), ELOOP); check_realpath_step_by_step(addbasepath(buffer1, L(4)), ELOOP); check_realpath_step_by_step(addbasepath(buffer1, L(5)), ELOOP); /* delete the symlinks */ cleanup(); /* also test dirname */ test_dirname("", "."); test_dirname(".", "."); test_dirname("..", "."); test_dirname("x", "."); test_dirname("xy", "."); test_dirname("x/y", "x"); test_dirname("xy/z", "xy"); test_dirname("x/yz", "x"); test_dirname("ab/cd", "ab"); test_dirname("x//y", "x"); test_dirname("xy//z", "xy"); test_dirname("x//yz", "x"); test_dirname("ab//cd", "ab"); test_dirname("/", "/"); test_dirname("/x", "/"); test_dirname("/xy", "/"); test_dirname("/x/y", "/x"); test_dirname("/xy/z", "/xy"); test_dirname("/x/yz", "/x"); test_dirname("/ab/cd", "/ab"); test_dirname("/x//y", "/x"); test_dirname("/xy//z", "/xy"); test_dirname("/x//yz", "/x"); test_dirname("/ab//cd", "/ab"); test_dirname("/usr/src", "/usr"); test_dirname("/usr/src/test", "/usr/src"); test_dirname("usr/src", "usr"); test_dirname("usr/src/test", "usr/src"); /* done */ quit(); return(-1); /* impossible */ }