Fold duplicate Manifest test cases setup into function. Change-Id: If082023fb687fe6ae8497aadc7608b4ab0108c0b
diff --git a/fs/gitilesfs_test.go b/fs/gitilesfs_test.go index 915420e..714c37c 100644 --- a/fs/gitilesfs_test.go +++ b/fs/gitilesfs_test.go
@@ -57,7 +57,7 @@ } } -const testManifest = `<?xml version="1.0" encoding="UTF-8"?> +const testManifestXML = `<?xml version="1.0" encoding="UTF-8"?> <manifest> <remote name="aosp" fetch=".." @@ -71,8 +71,18 @@ </project> </manifest>` +var testManifest *manifest.Manifest + +func init() { + var err error + testManifest, err = manifest.Parse([]byte(testManifestXML)) + if err != nil { + log.Panicf("manifest.Parse: %v", err) + } +} + var testGitiles = map[string]string{ - "/platform/manifest/+show/master/default.xml?format=TEXT": testManifest, + "/platform/manifest/+show/master/default.xml?format=TEXT": testManifestXML, "/platform/build/kati/+/master?format=JSON": `)]}' { "commit": "ce34badf691d36e8048b63f89d1a86ee5fa4325c", @@ -324,20 +334,10 @@ } } -func TestManifestFSCloneOption(t *testing.T) { +func newManifestTestFixture(mf *manifest.Manifest) (*testFixture, error) { fix, err := newTestFixture() if err != nil { - t.Fatal("newTestFixture", err) - } - defer fix.cleanup() - - mf, err := manifest.Parse([]byte(testManifest)) - if err != nil { - t.Fatal("manifest.Parse:", err) - } - - for i := range mf.Project { - mf.Project[i].CloneDepth = "1" + return nil, err } opts := ManifestOptions{ @@ -346,12 +346,27 @@ fs, err := NewManifestFS(fix.service, fix.cache, opts) if err != nil { - t.Fatalf("NewManifestFS: %v", err) + return nil, err } if err := fix.mount(fs); err != nil { - log.Fatalf("MountFileSystem: %v", err) + return nil, err } + return fix, nil +} + +func TestManifestFSCloneOption(t *testing.T) { + mf := *testManifest + for i := range mf.Project { + mf.Project[i].CloneDepth = "1" + } + + fix, err := newManifestTestFixture(&mf) + if err != nil { + t.Fatalf("newManifestTestFixture: %v", err) + } + + fs := fix.root.(*manifestFSRoot) ch := fs.Inode() for _, n := range []string{"build", "kati", "AUTHORS"} { newCh := ch.GetChild(n) @@ -372,29 +387,12 @@ } func TestManifestFS(t *testing.T) { - fix, err := newTestFixture() + fix, err := newManifestTestFixture(testManifest) if err != nil { t.Fatal("newTestFixture", err) } defer fix.cleanup() - mf, err := manifest.Parse([]byte(testManifest)) - if err != nil { - t.Fatal("manifest.Parse:", err) - } - - opts := ManifestOptions{ - Manifest: mf, - } - - fs, err := NewManifestFS(fix.service, fix.cache, opts) - if err != nil { - t.Fatalf("NewManifestFS: %v", err) - } - if err := fix.mount(fs); err != nil { - log.Fatalf("MountFileSystem: %v", err) - } - fn := filepath.Join(fix.mntDir, "build", "kati", "AUTHORS") fi, err := os.Lstat(fn) if err != nil { @@ -435,37 +433,20 @@ } func TestManifestFSXMLFile(t *testing.T) { - fix, err := newTestFixture() + fix, err := newManifestTestFixture(testManifest) if err != nil { t.Fatal("newTestFixture", err) } defer fix.cleanup() - mf, err := manifest.Parse([]byte(testManifest)) - if err != nil { - t.Fatal("manifest.Parse:", err) - } - - opts := ManifestOptions{ - Manifest: mf, - } - - fs, err := NewManifestFS(fix.service, fix.cache, opts) - if err != nil { - t.Fatalf("NewManifestFS: %v", err) - } - if err := fix.mount(fs); err != nil { - t.Fatalf("mount: %v", err) - } - xmlPath := filepath.Join(fix.mntDir, "manifest.xml") fuseMF, err := manifest.ParseFile(xmlPath) if err != nil { t.Fatalf("ParseFile(%s): %v", xmlPath, err) } - if !reflect.DeepEqual(fuseMF, mf) { - t.Errorf("read back manifest %v, want %v", fuseMF, mf) + if !reflect.DeepEqual(fuseMF, testManifest) { + t.Errorf("read back manifest %v, want %v", fuseMF, testManifest) } } @@ -476,6 +457,7 @@ cache *cache.Cache listener net.Listener service *gitiles.Service + root nodefs.Node } func (f *testFixture) cleanup() { @@ -531,6 +513,8 @@ f.server.SetDebug(true) } go f.server.Serve() + + f.root = root return nil } @@ -542,7 +526,7 @@ defer fix.cleanup() xmlFile := filepath.Join(fix.dir, "manifest.xml") - if err := ioutil.WriteFile(xmlFile, []byte(testManifest), 0644); err != nil { + if err := ioutil.WriteFile(xmlFile, []byte(testManifestXML), 0644); err != nil { t.Errorf("WriteFile(%s): %v", xmlFile, err) }