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