From 4f670845ff9ab6c48bcb5f7bf4d4ef6dc3c3064b Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 27 Mar 2012 11:51:08 +0200 Subject: reorganize file structure to match the upstream requirements --- pintos-progos/tests/filesys/extended/dir-rm-cwd.c | 75 ----------------------- 1 file changed, 75 deletions(-) delete mode 100644 pintos-progos/tests/filesys/extended/dir-rm-cwd.c (limited to 'pintos-progos/tests/filesys/extended/dir-rm-cwd.c') diff --git a/pintos-progos/tests/filesys/extended/dir-rm-cwd.c b/pintos-progos/tests/filesys/extended/dir-rm-cwd.c deleted file mode 100644 index 78e13de..0000000 --- a/pintos-progos/tests/filesys/extended/dir-rm-cwd.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Tries to remove the current directory, which may succeed or - fail. The requirements in each case are different; refer to - the assignment for details. */ - -#include -#include "tests/lib.h" -#include "tests/main.h" - -static int -wrap_open (const char *name) -{ - static int fds[8], fd_cnt; - int fd, i; - - CHECK ((fd = open (name)) > 1, "open \"%s\"", name); - for (i = 0; i < fd_cnt; i++) - if (fds[i] == fd) - fail ("fd returned is not unique"); - fds[fd_cnt++] = fd; - return fd; -} - -void -test_main (void) -{ - int root_fd, a_fd0; - char name[READDIR_MAX_LEN + 1]; - - root_fd = wrap_open ("/"); - CHECK (mkdir ("a"), "mkdir \"a\""); - - a_fd0 = wrap_open ("/a"); - CHECK (!readdir (a_fd0, name), "verify \"/a\" is empty"); - CHECK (inumber (root_fd) != inumber (a_fd0), - "\"/\" and \"/a\" must have different inumbers"); - - CHECK (chdir ("a"), "chdir \"a\""); - - msg ("try to remove \"/a\""); - if (remove ("/a")) - { - msg ("remove successful"); - - CHECK (open ("/a") == -1, "open \"/a\" (must fail)"); - CHECK (open (".") == -1, "open \".\" (must fail)"); - CHECK (open ("..") == -1, "open \"..\" (must fail)"); - CHECK (!create ("x", 512), "create \"x\" (must fail)"); - } - else - { - int a_fd1, a_fd2, a_fd3; - - msg ("remove failed"); - - CHECK (!remove ("../a"), "try to remove \"../a\" (must fail)"); - CHECK (!remove (".././a"), "try to remove \".././a\" (must fail)"); - CHECK (!remove ("/./a"), "try to remove \"/./a\" (must fail)"); - - a_fd1 = wrap_open ("/a"); - a_fd2 = wrap_open ("."); - CHECK (inumber (a_fd1) == inumber (a_fd2), - "\"/a\" and \".\" must have same inumber"); - CHECK (inumber (root_fd) != inumber (a_fd1), - "\"/\" and \"/a\" must have different inumbers"); - - CHECK (chdir ("/a"), "chdir \"/a\""); - a_fd3 = wrap_open ("."); - CHECK (inumber (a_fd3) == inumber (a_fd1), - "\".\" must have same inumber as before"); - - CHECK (chdir ("/"), "chdir \"/\""); - CHECK (!remove ("a"), "try to remove \"a\" (must fail: still open)"); - } - CHECK (!readdir (a_fd0, name), "verify \"/a\" is empty"); -} -- cgit v1.2.3