mirror of
https://github.com/golang/go.git
synced 2024-09-23 11:29:48 +00:00
testing/fstest,os: clarify racy behavior of TestFS
The testing.TestFS function assumes that the file system it's testing doesn't change under it. Clarify this in the documentation and fix the use of os.TestDirFS that's currently susceptible to this race. Fixes #42637. Change-Id: Ia7792380726177f8953d150ee87381b66cb01cb3 Reviewed-on: https://go-review.googlesource.com/c/go/+/282452 Trust: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
parent
32afcc9436
commit
0c5afc4fb7
@ -2687,7 +2687,7 @@ func TestOpenFileKeepsPermissions(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDirFS(t *testing.T) {
|
||||
if err := fstest.TestFS(DirFS("./signal"), "signal.go", "internal/pty/pty.go"); err != nil {
|
||||
if err := fstest.TestFS(DirFS("./testdata/dirfs"), "a", "b", "dir/x"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
0
src/os/testdata/dirfs/a
vendored
Normal file
0
src/os/testdata/dirfs/a
vendored
Normal file
0
src/os/testdata/dirfs/b
vendored
Normal file
0
src/os/testdata/dirfs/b
vendored
Normal file
0
src/os/testdata/dirfs/dir/x
vendored
Normal file
0
src/os/testdata/dirfs/dir/x
vendored
Normal file
@ -24,6 +24,7 @@ import (
|
||||
// It also checks that the file system contains at least the expected files.
|
||||
// As a special case, if no expected files are listed, fsys must be empty.
|
||||
// Otherwise, fsys must only contain at least the listed files: it can also contain others.
|
||||
// The contents of fsys must not change concurrently with TestFS.
|
||||
//
|
||||
// If TestFS finds any misbehaviors, it returns an error reporting all of them.
|
||||
// The error text spans multiple lines, one per detected misbehavior.
|
||||
|
Loading…
Reference in New Issue
Block a user