From ea13e766fd6762b10c35b9bf0ad3c66a92614637 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Tue, 31 Mar 2015 10:06:06 +1100 Subject: [PATCH] ForgetFSTest.Open_ManyTimes --- samples/forgetfs/forget_fs_test.go | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/samples/forgetfs/forget_fs_test.go b/samples/forgetfs/forget_fs_test.go index 7f21200..3025849 100644 --- a/samples/forgetfs/forget_fs_test.go +++ b/samples/forgetfs/forget_fs_test.go @@ -15,6 +15,7 @@ package forgetfs_test import ( + "io" "os" "path" "testing" @@ -76,7 +77,27 @@ func (t *ForgetFSTest) Open_Bar() { } func (t *ForgetFSTest) Open_ManyTimes() { - AssertTrue(false, "TODO") + // Set up a slice of files that will be closed when we're done. + var toClose []io.Closer + defer func() { + for _, c := range toClose { + ExpectEq(nil, c.Close()) + } + }() + + // Open foo many times. + for i := 0; i < 100; i++ { + f, err := os.Open(path.Join(t.Dir, "foo")) + AssertEq(nil, err) + toClose = append(toClose, f) + } + + // Open bar many times. + for i := 0; i < 100; i++ { + f, err := os.Open(path.Join(t.Dir, "bar")) + AssertEq(nil, err) + toClose = append(toClose, f) + } } func (t *ForgetFSTest) Stat_Foo() {