Make tests public. Rewrite most tests. Add tests.
[pintos-anon] / src / tests / filesys / extended / dir-rm-vine.c
1 #include <string.h>
2 #include <syscall.h>
3 #include "tests/lib.h"
4 #include "tests/main.h"
5
6 void
7 test_main (void) 
8 {
9   const char *filename = "/0/1/2/3/4/5/6/7/8/9/test";
10   int fd;
11   char tmp[128];
12   
13   tmp[1] = '\0';
14   for (tmp[0] = '0'; tmp[0] <= '9'; tmp[0]++) 
15     {
16       CHECK (mkdir (tmp), "mkdir \"%s\"", tmp);
17       CHECK (chdir (tmp), "chdir \"%s\"", tmp);
18     }
19   CHECK (create ("test", 512), "create \"test\"");
20
21   CHECK (chdir ("/"), "chdir \"/\"");
22   CHECK ((fd = open (filename)) > 1, "open \"%s\"", filename);
23   msg ("close \"%s\"", filename);
24   close (fd);
25
26   strlcpy (tmp, filename, sizeof tmp);
27   while (strlen (tmp) > 0)
28     {
29       CHECK (remove (tmp), "remove \"%s\"", tmp);
30       *strrchr (tmp, '/') = 0;
31     }
32
33   CHECK (open (filename) == -1, "open \"%s\" (must return -1)", filename);
34 }