diff options
author | Rob Pike <r@golang.org> | 2009-02-08 10:18:50 -0800 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2009-02-08 10:18:50 -0800 |
commit | 09c50da40220227bd34dcc9cb28100434305174f (patch) | |
tree | b4c649682549e6ef2355f4b82bbb3e326e229925 /src/lib/os/os_test.go | |
parent | 0eb337046a6602996dbc169ff12f4d4fb81fded1 (diff) | |
download | golang-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.go | 38 |
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); + } + } +} |