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