Ensure the fake filesystem used in concatjs_test.go is thread-safe. PiperOrigin-RevId: 271627870
diff --git a/devserver/concatjs/concatjs_test.go b/devserver/concatjs/concatjs_test.go index 00793be..ddd1a47 100644 --- a/devserver/concatjs/concatjs_test.go +++ b/devserver/concatjs/concatjs_test.go
@@ -8,6 +8,7 @@ "path/filepath" "reflect" "strings" + "sync" "testing" "time" ) @@ -42,20 +43,27 @@ } type fakeFileSystem struct { + mux sync.Mutex fakeReadFile func(filename string) ([]byte, error) fakeStatMtime func(filename string) (time.Time, error) fakeResolvePath func(root string, filename string) (string, error) } func (fs *fakeFileSystem) ReadFile(filename string) ([]byte, error) { + fs.mux.Lock() + defer fs.mux.Unlock() return fs.fakeReadFile(filename) } func (fs *fakeFileSystem) StatMtime(filename string) (time.Time, error) { + fs.mux.Lock() + defer fs.mux.Unlock() return fs.fakeStatMtime(filename) } -func (fs *fakeFileSystem) ResolvePath(root string, filename string) (string, error) { +func (fs *fakeFileSystem) ResolvePath(root string, filename string) (string, error) { + fs.mux.Lock() + defer fs.mux.Unlock() return fs.fakeResolvePath(root, filename) } @@ -167,7 +175,7 @@ } }, fakeStatMtime: func(filename string) (time.Time, error) { - return time.Now(), nil + return time.Now(), nil }, fakeResolvePath: func(root string, filename string) (string, error) { // For this test, we use an absolute root. This is similar to how