summaryrefslogtreecommitdiff
path: root/src/lib/os/os_test.go
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2009-02-08 10:18:50 -0800
committerRob Pike <r@golang.org>2009-02-08 10:18:50 -0800
commit09c50da40220227bd34dcc9cb28100434305174f (patch)
treeb4c649682549e6ef2355f4b82bbb3e326e229925 /src/lib/os/os_test.go
parent0eb337046a6602996dbc169ff12f4d4fb81fded1 (diff)
downloadgolang-09c50da40220227bd34dcc9cb28100434305174f.tar.gz
First pass at reading directories.
Syscall support. Readdirnames returns array of strings of contents of directory. R=rsc DELTA=216 (201 added, 0 deleted, 15 changed) OCL=24642 CL=24655
Diffstat (limited to 'src/lib/os/os_test.go')
-rw-r--r--src/lib/os/os_test.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/os/os_test.go b/src/lib/os/os_test.go
index beaa22753..2fc4b617c 100644
--- a/src/lib/os/os_test.go
+++ b/src/lib/os/os_test.go
@@ -77,3 +77,41 @@ func TestLstat(t *testing.T) {
t.Error("size should be ", filesize, "; is", dir.Size);
}
}
+
+func TestReaddirnames(t *testing.T) {
+ fd, err := Open(".", O_RDONLY, 0);
+ defer fd.Close();
+ if err != nil {
+ t.Fatal("open . failed:", err);
+ }
+ s, err2 := Readdirnames(fd, -1);
+ if err2 != nil {
+ t.Fatal("readdirnames . failed:", err);
+ }
+ a := []string{
+ "dir_amd64_darwin.go",
+ "dir_amd64_linux.go",
+ "os_env.go",
+ "os_error.go",
+ "os_file.go",
+ "os_test.go",
+ "os_time.go",
+ "os_types.go",
+ "stat_amd64_darwin.go",
+ "stat_amd64_linux.go"
+ };
+ for i, m := range a {
+ found := false;
+ for j, n := range s {
+ if m == n {
+ if found {
+ t.Error("present twice:", m);
+ }
+ found = true
+ }
+ }
+ if !found {
+ t.Error("could not find", m);
+ }
+ }
+}