X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/47eb67e4c084abde49d5463d4ced8b4436a59dfd..79a9d03d3470ef013a908051a2bccddc680ecb5c:/sdk/go/arvados/fs_collection_test.go diff --git a/sdk/go/arvados/fs_collection_test.go b/sdk/go/arvados/fs_collection_test.go index 023226ff12..96347737f8 100644 --- a/sdk/go/arvados/fs_collection_test.go +++ b/sdk/go/arvados/fs_collection_test.go @@ -213,6 +213,7 @@ func (s *CollectionFSSuite) TestCreateFile(c *check.C) { c.Check(f.Close(), check.IsNil) m, err := s.fs.MarshalManifest(".") + c.Assert(err, check.IsNil) c.Check(m, check.Matches, `. 37b51d194a7513e45b56f6524f2d51f2\+3\+\S+ 0:3:new-file\\0401\n./dir1 .* 3:3:bar 0:3:foo\n`) } @@ -266,7 +267,9 @@ func (s *CollectionFSSuite) TestReadWriteFile(c *check.C) { c.Check(err, check.IsNil) pos, err = f.Seek(0, io.SeekCurrent) c.Check(pos, check.Equals, int64(18)) + c.Check(err, check.IsNil) pos, err = f.Seek(-18, io.SeekCurrent) + c.Check(pos, check.Equals, int64(0)) c.Check(err, check.IsNil) n, err = io.ReadFull(f, buf) c.Check(n, check.Equals, 18) @@ -279,6 +282,7 @@ func (s *CollectionFSSuite) TestReadWriteFile(c *check.C) { // truncate to current size err = f.Truncate(18) + c.Check(err, check.IsNil) f2.Seek(0, io.SeekStart) buf2, err = ioutil.ReadAll(f2) c.Check(err, check.IsNil) @@ -312,6 +316,7 @@ func (s *CollectionFSSuite) TestReadWriteFile(c *check.C) { // shrink to block/extent boundary err = f.Truncate(32) + c.Check(err, check.IsNil) f2.Seek(0, io.SeekStart) buf2, err = ioutil.ReadAll(f2) c.Check(err, check.IsNil) @@ -320,6 +325,7 @@ func (s *CollectionFSSuite) TestReadWriteFile(c *check.C) { // shrink to partial block/extent err = f.Truncate(15) + c.Check(err, check.IsNil) f2.Seek(0, io.SeekStart) buf2, err = ioutil.ReadAll(f2) c.Check(err, check.IsNil) @@ -347,6 +353,7 @@ func (s *CollectionFSSuite) TestReadWriteFile(c *check.C) { c.Check(err, check.IsNil) m = regexp.MustCompile(`\+A[^\+ ]+`).ReplaceAllLiteralString(m, "") c.Check(m, check.Equals, "./dir1 3858f62230ac3c915f300c664312c63f+6 25d55ad283aa400af464c76d713c07ad+8 3:3:bar 6:3:foo\n") + c.Check(s.fs.Size(), check.Equals, int64(6)) } func (s *CollectionFSSuite) TestSeekSparse(c *check.C) { @@ -358,14 +365,17 @@ func (s *CollectionFSSuite) TestSeekSparse(c *check.C) { checkSize := func(size int64) { fi, err := f.Stat() + c.Assert(err, check.IsNil) c.Check(fi.Size(), check.Equals, size) f, err := fs.OpenFile("test", os.O_CREATE|os.O_RDWR, 0755) c.Assert(err, check.IsNil) defer f.Close() fi, err = f.Stat() + c.Check(err, check.IsNil) c.Check(fi.Size(), check.Equals, size) pos, err := f.Seek(0, io.SeekEnd) + c.Check(err, check.IsNil) c.Check(pos, check.Equals, size) } @@ -433,7 +443,7 @@ func (s *CollectionFSSuite) TestMkdir(c *check.C) { err = s.fs.Remove("foo/bar") c.Check(err, check.IsNil) - // mkdir succeds after the file is deleted + // mkdir succeeds after the file is deleted err = s.fs.Mkdir("foo/bar", 0755) c.Check(err, check.IsNil) @@ -481,15 +491,19 @@ func (s *CollectionFSSuite) TestConcurrentWriters(c *check.C) { c.Assert(err, check.IsNil) defer f.Close() for i := 0; i < 6502; i++ { - switch rand.Int() & 3 { - case 0: + r := rand.Uint32() + switch { + case r%11 == 0: + _, err := s.fs.MarshalManifest(".") + c.Check(err, check.IsNil) + case r&3 == 0: f.Truncate(int64(rand.Intn(64))) - case 1: + case r&3 == 1: f.Seek(int64(rand.Intn(64)), io.SeekStart) - case 2: + case r&3 == 2: _, err := f.Write([]byte("beep boop")) c.Check(err, check.IsNil) - case 3: + case r&3 == 3: _, err := ioutil.ReadAll(f) c.Check(err, check.IsNil) } @@ -688,13 +702,13 @@ func (s *CollectionFSSuite) TestRename(c *check.C) { err = fs.Rename( fmt.Sprintf("dir%d/file%d/patherror", i, j), fmt.Sprintf("dir%d/irrelevant", i)) - c.Check(err, check.ErrorMatches, `.*does not exist`) + c.Check(err, check.ErrorMatches, `.*not a directory`) // newname parent dir is a file err = fs.Rename( fmt.Sprintf("dir%d/dir%d/file%d", i, j, j), fmt.Sprintf("dir%d/file%d/patherror", i, inner-j-1)) - c.Check(err, check.ErrorMatches, `.*does not exist`) + c.Check(err, check.ErrorMatches, `.*not a directory`) }(i, j) } } @@ -788,10 +802,10 @@ func (s *CollectionFSSuite) TestPersistEmptyFiles(c *check.C) { expect := map[string][]byte{ "0": nil, - "00": []byte{}, - "one": []byte{1}, + "00": {}, + "one": {1}, "dir/0": nil, - "dir/two": []byte{1, 2}, + "dir/two": {1, 2}, "dir/zero": nil, "dir/zerodir/zero": nil, "zero/zero/zero": nil, @@ -814,10 +828,10 @@ func (s *CollectionFSSuite) TestPersistEmptyFiles(c *check.C) { c.Assert(err, check.IsNil) for name, data := range expect { - f, err := persisted.Open("bogus-" + name) + _, err = persisted.Open("bogus-" + name) c.Check(err, check.NotNil) - f, err = persisted.Open(name) + f, err := persisted.Open(name) c.Assert(err, check.IsNil) if data == nil { @@ -875,9 +889,11 @@ func (s *CollectionFSSuite) TestOpenFileFlags(c *check.C) { c.Check(n, check.Equals, 1) c.Check(buf[:1], check.DeepEquals, []byte{1}) pos, err = f.Seek(0, io.SeekCurrent) + c.Assert(err, check.IsNil) c.Check(pos, check.Equals, int64(1)) f.Write([]byte{4, 5, 6}) pos, err = f.Seek(0, io.SeekCurrent) + c.Assert(err, check.IsNil) c.Check(pos, check.Equals, int64(6)) f.Seek(0, io.SeekStart) n, err = f.Read(buf) @@ -895,6 +911,7 @@ func (s *CollectionFSSuite) TestOpenFileFlags(c *check.C) { c.Check(pos, check.Equals, int64(3)) f.Write([]byte{7, 8, 9}) pos, err = f.Seek(0, io.SeekCurrent) + c.Check(err, check.IsNil) c.Check(pos, check.Equals, int64(9)) f.Close() @@ -1048,6 +1065,7 @@ func (s *CollectionFSUnitSuite) TestLargeManifest(c *check.C) { f, err := coll.FileSystem(nil, nil) c.Check(err, check.IsNil) c.Logf("%s loaded", time.Now()) + c.Check(f.Size(), check.Equals, int64(42*dirCount*fileCount)) for i := 0; i < dirCount; i++ { for j := 0; j < fileCount; j++ {