test_path.c revision 178d85b8274f9ac82fb553c80760bbbb4044401c
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync/* Test path override code */
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync#include "../path.c"
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync/* Any log message kills the test. */
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync if (strcmp(path(_path), _path) != 0) return __LINE__; \
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync if (strcmp(path(_path), _newpath) != 0) return __LINE__; \
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsyncstatic void cleanup(void)
914d33aebb63d8c288dfd1b7e74f8e2acf3eaa66vboxsyncstatic unsigned int do_test(void)
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync if (mkdir("/tmp/qemu-test_path/DIR1/DIR2", 0700) != 0)
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync if (mkdir("/tmp/qemu-test_path/DIR1/DIR3", 0700) != 0)
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE", 0600)) != 0)
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE2", 0600)) != 0)
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE3", 0600)) != 0)
0f1e77149ab5ab40fa2bd74a5330e087416b3c7bvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE4", 0600)) != 0)
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE5", 0600)) != 0)
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync CHANGE_TO("/DIR1/DIR2", "/tmp/qemu-test_path/DIR1/DIR2");
548ca31b6b47c36bacce49bed3339cb8075b9681vboxsync CHANGE_TO("/DIR1/DIR2/", "/tmp/qemu-test_path/DIR1/DIR2");
a39ea3668b7019c23a68936259545f9b71bce1aavboxsync CHANGE_TO("/DIR1/DIR3", "/tmp/qemu-test_path/DIR1/DIR3");
a39ea3668b7019c23a68936259545f9b71bce1aavboxsync CHANGE_TO("/DIR1/DIR3/", "/tmp/qemu-test_path/DIR1/DIR3");
0f1e77149ab5ab40fa2bd74a5330e087416b3c7bvboxsync CHANGE_TO("/DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
0f1e77149ab5ab40fa2bd74a5330e087416b3c7bvboxsync CHANGE_TO("/DIR1/DIR2/FILE2", "/tmp/qemu-test_path/DIR1/DIR2/FILE2");
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync CHANGE_TO("/DIR1/DIR2/FILE3", "/tmp/qemu-test_path/DIR1/DIR2/FILE3");
548ca31b6b47c36bacce49bed3339cb8075b9681vboxsync CHANGE_TO("/DIR1/DIR2/FILE4", "/tmp/qemu-test_path/DIR1/DIR2/FILE4");
914d33aebb63d8c288dfd1b7e74f8e2acf3eaa66vboxsync CHANGE_TO("/DIR1/DIR2/FILE5", "/tmp/qemu-test_path/DIR1/DIR2/FILE5");
5b1d6bab9f4cf5dacf1883e7c4a40c84349f597fvboxsync CHANGE_TO("/DIR1/../DIR1", "/tmp/qemu-test_path/DIR1");
548ca31b6b47c36bacce49bed3339cb8075b9681vboxsync CHANGE_TO("/DIR1/../DIR1/", "/tmp/qemu-test_path/DIR1");
548ca31b6b47c36bacce49bed3339cb8075b9681vboxsync CHANGE_TO("/../DIR1/", "/tmp/qemu-test_path/DIR1");
914d33aebb63d8c288dfd1b7e74f8e2acf3eaa66vboxsync CHANGE_TO("/DIR1/DIR2/../DIR2", "/tmp/qemu-test_path/DIR1/DIR2");
914d33aebb63d8c288dfd1b7e74f8e2acf3eaa66vboxsync CHANGE_TO("/DIR1/DIR2/../DIR2/../../DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
548ca31b6b47c36bacce49bed3339cb8075b9681vboxsync CHANGE_TO("/DIR1/DIR2/../DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
914d33aebb63d8c288dfd1b7e74f8e2acf3eaa66vboxsync CHANGE_TO("/./DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
914d33aebb63d8c288dfd1b7e74f8e2acf3eaa66vboxsync CHANGE_TO("/././DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
0f1e77149ab5ab40fa2bd74a5330e087416b3c7bvboxsync CHANGE_TO("/DIR1/./DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
0f1e77149ab5ab40fa2bd74a5330e087416b3c7bvboxsync CHANGE_TO("/DIR1/././DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
aa32d4906f2f685992091893d5abdf27a2352a85vboxsync CHANGE_TO("/DIR1/DIR2/./FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
548ca31b6b47c36bacce49bed3339cb8075b9681vboxsync CHANGE_TO("/DIR1/DIR2/././FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
aa32d4906f2f685992091893d5abdf27a2352a85vboxsync CHANGE_TO("/./DIR1/./DIR2/./FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
914d33aebb63d8c288dfd1b7e74f8e2acf3eaa66vboxsync fprintf(stderr, "test_path: failed on line %i\n", ret);