aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/filesys/extended/dir-open.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/filesys/extended/dir-open.c')
-rw-r--r--src/tests/filesys/extended/dir-open.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tests/filesys/extended/dir-open.c b/src/tests/filesys/extended/dir-open.c
new file mode 100644
index 0000000..29d18b8
--- /dev/null
+++ b/src/tests/filesys/extended/dir-open.c
@@ -0,0 +1,21 @@
+/* Opens a directory, then tries to write to it, which must
+ fail. */
+
+#include <syscall.h>
+#include "tests/lib.h"
+#include "tests/main.h"
+
+void
+test_main (void)
+{
+ int fd;
+ int retval;
+
+ CHECK (mkdir ("xyzzy"), "mkdir \"xyzzy\"");
+ CHECK ((fd = open ("xyzzy")) > 1, "open \"xyzzy\"");
+
+ msg ("write \"xyzzy\"");
+ retval = write (fd, "foobar", 6);
+ CHECK (retval == -1,
+ "write \"xyzzy\" (must return -1, actually %d)", retval);
+}