test_path.c revision 8d3f9624838fe3f51aa71276ada9759b407a0ad3
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync/* Test path override code */
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync#include "../path.c"
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync/* Any log message kills the test. */
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (strcmp(path(_path), _path) != 0) return __LINE__; \
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (strcmp(path(_path), _newpath) != 0) return __LINE__; \
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncstatic void cleanup(void)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncstatic unsigned int do_test(void)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (mkdir("/tmp/qemu-test_path/DIR1/DIR2", 0700) != 0)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (mkdir("/tmp/qemu-test_path/DIR1/DIR3", 0700) != 0)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE", 0600)) != 0)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE2", 0600)) != 0)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE3", 0600)) != 0)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE4", 0600)) != 0)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE5", 0600)) != 0)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2", "/tmp/qemu-test_path/DIR1/DIR2");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/", "/tmp/qemu-test_path/DIR1/DIR2");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR3", "/tmp/qemu-test_path/DIR1/DIR3");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR3/", "/tmp/qemu-test_path/DIR1/DIR3");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/FILE2", "/tmp/qemu-test_path/DIR1/DIR2/FILE2");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/FILE3", "/tmp/qemu-test_path/DIR1/DIR2/FILE3");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/FILE4", "/tmp/qemu-test_path/DIR1/DIR2/FILE4");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/FILE5", "/tmp/qemu-test_path/DIR1/DIR2/FILE5");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/../DIR1", "/tmp/qemu-test_path/DIR1");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/../DIR1/", "/tmp/qemu-test_path/DIR1");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/../DIR1/", "/tmp/qemu-test_path/DIR1");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/../DIR2", "/tmp/qemu-test_path/DIR1/DIR2");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/../DIR2/../../DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/../DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/./DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/././DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/./DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/././DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/./FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/DIR1/DIR2/././FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync CHANGE_TO("/./DIR1/./DIR2/./FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync fprintf(stderr, "test_path: failed on line %i\n", ret);