mirror of
https://github.com/dolthub/dolt.git
synced 2026-05-01 11:49:54 -05:00
Remove spec GetDataset/GetDatabase/GetPath, update all clients (#2815)
These are now ForDataset/ForDatabase/ForPath.
This commit is contained in:
@@ -23,26 +23,26 @@ func TestNomsCommit(t *testing.T) {
|
||||
suite.Run(t, &nomsCommitTestSuite{})
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) setupDataset(name string, doCommit bool) (db datas.Database, ds datas.Dataset, dsStr string, ref types.Ref) {
|
||||
func (s *nomsCommitTestSuite) setupDataset(name string, doCommit bool) (sp spec.Spec, ref types.Ref) {
|
||||
var err error
|
||||
dsStr = spec.CreateValueSpecString("ldb", s.LdbDir, name)
|
||||
db, ds, err = spec.GetDataset(dsStr)
|
||||
sp, err = spec.ForDataset(spec.CreateValueSpecString("ldb", s.LdbDir, name))
|
||||
s.NoError(err)
|
||||
|
||||
v := types.String("testcommit")
|
||||
ref = db.WriteValue(v)
|
||||
ref = sp.GetDatabase().WriteValue(v)
|
||||
|
||||
if doCommit {
|
||||
ds, err = db.CommitValue(ds, v)
|
||||
_, err = sp.GetDatabase().CommitValue(sp.GetDataset(), v)
|
||||
s.NoError(err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) TestNomsCommitReadPathFromStdin() {
|
||||
db, ds, dsStr, ref := s.setupDataset("commitTestStdin", false)
|
||||
defer db.Close()
|
||||
sp, ref := s.setupDataset("commitTestStdin", false)
|
||||
defer sp.Close()
|
||||
|
||||
_, ok := ds.MaybeHead()
|
||||
_, ok := sp.GetDataset().MaybeHead()
|
||||
s.False(ok, "should not have a commit")
|
||||
|
||||
oldStdin := os.Stdin
|
||||
@@ -58,13 +58,14 @@ func (s *nomsCommitTestSuite) TestNomsCommitReadPathFromStdin() {
|
||||
stdinWriter.Write([]byte("#" + ref.TargetHash().String() + "\n"))
|
||||
stdinWriter.Close()
|
||||
}()
|
||||
stdoutString, stderrString := s.MustRun(main, []string{"commit", dsStr})
|
||||
stdoutString, stderrString := s.MustRun(main, []string{"commit", sp.Spec})
|
||||
s.Empty(stderrString)
|
||||
s.Contains(stdoutString, "New head #")
|
||||
|
||||
db, ds, err = spec.GetDataset(dsStr)
|
||||
s.NoError(err)
|
||||
commit, ok := ds.MaybeHead()
|
||||
sp, _ = spec.ForDataset(sp.Spec)
|
||||
defer sp.Close()
|
||||
|
||||
commit, ok := sp.GetDataset().MaybeHead()
|
||||
s.True(ok, "should have a commit now")
|
||||
value := commit.Get(datas.ValueField)
|
||||
s.True(value.Hash() == ref.TargetHash(), "commit.value hash == writevalue hash")
|
||||
@@ -74,19 +75,20 @@ func (s *nomsCommitTestSuite) TestNomsCommitReadPathFromStdin() {
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) TestNomsCommitToDatasetWithoutHead() {
|
||||
db, ds, dsStr, ref := s.setupDataset("commitTest", false)
|
||||
defer db.Close()
|
||||
sp, ref := s.setupDataset("commitTest", false)
|
||||
defer sp.Close()
|
||||
|
||||
_, ok := ds.MaybeHead()
|
||||
_, ok := sp.GetDataset().MaybeHead()
|
||||
s.False(ok, "should not have a commit")
|
||||
|
||||
stdoutString, stderrString := s.MustRun(main, []string{"commit", "#" + ref.TargetHash().String(), dsStr})
|
||||
stdoutString, stderrString := s.MustRun(main, []string{"commit", "#" + ref.TargetHash().String(), sp.Spec})
|
||||
s.Empty(stderrString)
|
||||
s.Contains(stdoutString, "New head #")
|
||||
|
||||
db, ds, err := spec.GetDataset(dsStr)
|
||||
s.NoError(err)
|
||||
commit, ok := ds.MaybeHead()
|
||||
sp, _ = spec.ForDataset(sp.Spec)
|
||||
defer sp.Close()
|
||||
|
||||
commit, ok := sp.GetDataset().MaybeHead()
|
||||
s.True(ok, "should have a commit now")
|
||||
value := commit.Get(datas.ValueField)
|
||||
s.True(value.Hash() == ref.TargetHash(), "commit.value hash == writevalue hash")
|
||||
@@ -102,17 +104,17 @@ func structFieldEqual(old, now types.Struct, field string) bool {
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) runDuplicateTest(allowDuplicate bool) {
|
||||
db, ds, dsStr, ref := s.setupDataset("commitTestDuplicate", true)
|
||||
defer db.Close()
|
||||
sp, ref := s.setupDataset("commitTestDuplicate", true)
|
||||
defer sp.Close()
|
||||
|
||||
_, ok := ds.MaybeHeadValue()
|
||||
_, ok := sp.GetDataset().MaybeHeadValue()
|
||||
s.True(ok, "should have a commit")
|
||||
|
||||
cliOptions := []string{"commit"}
|
||||
if allowDuplicate {
|
||||
cliOptions = append(cliOptions, "--allow-dupe=1")
|
||||
}
|
||||
cliOptions = append(cliOptions, "#"+ref.TargetHash().String(), dsStr)
|
||||
cliOptions = append(cliOptions, "#"+ref.TargetHash().String(), sp.Spec)
|
||||
|
||||
stdoutString, stderrString := s.MustRun(main, cliOptions)
|
||||
s.Empty(stderrString)
|
||||
@@ -123,9 +125,10 @@ func (s *nomsCommitTestSuite) runDuplicateTest(allowDuplicate bool) {
|
||||
s.Contains(stdoutString, "Commit aborted")
|
||||
}
|
||||
|
||||
db, ds, err := spec.GetDataset(dsStr)
|
||||
s.NoError(err)
|
||||
value, ok := ds.MaybeHeadValue()
|
||||
sp, _ = spec.ForDataset(sp.Spec)
|
||||
defer sp.Close()
|
||||
|
||||
value, ok := sp.GetDataset().MaybeHeadValue()
|
||||
s.True(ok, "should still have a commit")
|
||||
s.True(value.Hash() == ref.TargetHash(), "commit.value hash == previous commit hash")
|
||||
}
|
||||
@@ -136,17 +139,19 @@ func (s *nomsCommitTestSuite) TestNomsCommitDuplicate() {
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) TestNomsCommitMetadata() {
|
||||
db, ds, dsStr, ref := s.setupDataset("commitTestMetadata", true)
|
||||
metaOld := ds.Head().Get(datas.MetaField).(types.Struct)
|
||||
sp, ref := s.setupDataset("commitTestMetadata", true)
|
||||
defer sp.Close()
|
||||
|
||||
stdoutString, stderrString := s.MustRun(main, []string{"commit", "--allow-dupe=1", "--message=foo", "#" + ref.TargetHash().String(), dsStr})
|
||||
metaOld := sp.GetDataset().Head().Get(datas.MetaField).(types.Struct)
|
||||
|
||||
stdoutString, stderrString := s.MustRun(main, []string{"commit", "--allow-dupe=1", "--message=foo", "#" + ref.TargetHash().String(), sp.Spec})
|
||||
s.Empty(stderrString)
|
||||
s.Contains(stdoutString, "New head #")
|
||||
db.Close()
|
||||
|
||||
db, ds, err := spec.GetDataset(dsStr)
|
||||
s.NoError(err)
|
||||
metaNew := ds.Head().Get(datas.MetaField).(types.Struct)
|
||||
sp, _ = spec.ForDataset(sp.Spec)
|
||||
defer sp.Close()
|
||||
|
||||
metaNew := sp.GetDataset().Head().Get(datas.MetaField).(types.Struct)
|
||||
|
||||
s.False(metaOld.Equals(metaNew), "meta didn't change")
|
||||
s.False(structFieldEqual(metaOld, metaNew, "date"), "date didn't change")
|
||||
@@ -154,53 +159,54 @@ func (s *nomsCommitTestSuite) TestNomsCommitMetadata() {
|
||||
s.True(metaNew.Get("message").Equals(types.String("foo")), "message wasn't set")
|
||||
|
||||
metaOld = metaNew
|
||||
stdoutString, stderrString = s.MustRun(main, []string{"commit", "--allow-dupe=1", "--meta=message=bar", "--date=" + spec.CommitMetaDateFormat, "#" + ref.TargetHash().String(), dsStr})
|
||||
|
||||
stdoutString, stderrString = s.MustRun(main, []string{"commit", "--allow-dupe=1", "--meta=message=bar", "--date=" + spec.CommitMetaDateFormat, "#" + ref.TargetHash().String(), sp.Spec})
|
||||
s.Empty(stderrString)
|
||||
s.Contains(stdoutString, "New head #")
|
||||
db.Close()
|
||||
|
||||
db, ds, err = spec.GetDataset(dsStr)
|
||||
s.NoError(err)
|
||||
metaNew = ds.Head().Get(datas.MetaField).(types.Struct)
|
||||
sp, _ = spec.ForDataset(sp.Spec)
|
||||
defer sp.Close()
|
||||
|
||||
metaNew = sp.GetDataset().Head().Get(datas.MetaField).(types.Struct)
|
||||
|
||||
s.False(metaOld.Equals(metaNew), "meta didn't change")
|
||||
s.False(structFieldEqual(metaOld, metaNew, "date"), "date didn't change")
|
||||
s.False(structFieldEqual(metaOld, metaNew, "message"), "message didn't change")
|
||||
s.True(metaNew.Get("message").Equals(types.String("bar")), "message wasn't set")
|
||||
db.Close()
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) TestNomsCommitHashNotFound() {
|
||||
db, _, dsStr, _ := s.setupDataset("commitTestBadHash", true)
|
||||
defer db.Close()
|
||||
sp, _ := s.setupDataset("commitTestBadHash", true)
|
||||
defer sp.Close()
|
||||
|
||||
s.Panics(func() {
|
||||
s.MustRun(main, []string{"commit", "#9ei6fbrs0ujo51vifd3f2eebufo4lgdu", dsStr})
|
||||
s.MustRun(main, []string{"commit", "#9ei6fbrs0ujo51vifd3f2eebufo4lgdu", sp.Spec})
|
||||
})
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) TestNomsCommitMetadataBadDateFormat() {
|
||||
db, _, dsStr, ref := s.setupDataset("commitTestMetadata", true)
|
||||
defer db.Close()
|
||||
sp, ref := s.setupDataset("commitTestMetadata", true)
|
||||
defer sp.Close()
|
||||
|
||||
s.Panics(func() {
|
||||
s.MustRun(main, []string{"commit", "--allow-dupe=1", "--date=a", "#" + ref.TargetHash().String(), dsStr})
|
||||
s.MustRun(main, []string{"commit", "--allow-dupe=1", "--date=a", "#" + ref.TargetHash().String(), sp.Spec})
|
||||
})
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) TestNomsCommitInvalidMetadataPaths() {
|
||||
db, _, dsStr, ref := s.setupDataset("commitTestMetadataPaths", true)
|
||||
defer db.Close()
|
||||
sp, ref := s.setupDataset("commitTestMetadataPaths", true)
|
||||
defer sp.Close()
|
||||
|
||||
s.Panics(func() {
|
||||
s.MustRun(main, []string{"commit", "--allow-dupe=1", "--meta-p=#beef", "#" + ref.TargetHash().String(), dsStr})
|
||||
s.MustRun(main, []string{"commit", "--allow-dupe=1", "--meta-p=#beef", "#" + ref.TargetHash().String(), sp.Spec})
|
||||
})
|
||||
}
|
||||
|
||||
func (s *nomsCommitTestSuite) TestNomsCommitInvalidMetadataFieldName() {
|
||||
db, _, dsStr, ref := s.setupDataset("commitTestMetadataFields", true)
|
||||
defer db.Close()
|
||||
sp, ref := s.setupDataset("commitTestMetadataFields", true)
|
||||
defer sp.Close()
|
||||
|
||||
s.Panics(func() {
|
||||
s.MustRun(main, []string{"commit", "--allow-dupe=1", "--meta=_foo=bar", "#" + ref.TargetHash().String(), dsStr})
|
||||
s.MustRun(main, []string{"commit", "--allow-dupe=1", "--meta=_foo=bar", "#" + ref.TargetHash().String(), sp.Spec})
|
||||
})
|
||||
}
|
||||
|
||||
+10
-12
@@ -24,12 +24,11 @@ func TestNomsDiff(t *testing.T) {
|
||||
}
|
||||
|
||||
func (s *nomsDiffTestSuite) TestNomsDiffOutputNotTruncated() {
|
||||
datasetName := "diffTest"
|
||||
str := spec.CreateValueSpecString("ldb", s.LdbDir, datasetName)
|
||||
db, ds, err := spec.GetDataset(str)
|
||||
sp, err := spec.ForDataset(spec.CreateValueSpecString("ldb", s.LdbDir, "diffTest"))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
ds, err = addCommit(ds, "first commit")
|
||||
ds, err := addCommit(sp.GetDataset(), "first commit")
|
||||
s.NoError(err)
|
||||
r1 := spec.CreateValueSpecString("ldb", s.LdbDir, "#"+ds.HeadRef().TargetHash().String())
|
||||
|
||||
@@ -37,19 +36,18 @@ func (s *nomsDiffTestSuite) TestNomsDiffOutputNotTruncated() {
|
||||
s.NoError(err)
|
||||
r2 := spec.CreateValueSpecString("ldb", s.LdbDir, "#"+ds.HeadRef().TargetHash().String())
|
||||
|
||||
db.Close()
|
||||
out, _ := s.MustRun(main, []string{"diff", r1, r2})
|
||||
s.True(strings.HasSuffix(out, "\"second commit\"\n }\n"), out)
|
||||
}
|
||||
|
||||
func (s *nomsDiffTestSuite) TestNomsDiffSummarize() {
|
||||
datasetName := "diffSummarizeTest"
|
||||
str := spec.CreateValueSpecString("ldb", s.LdbDir, datasetName)
|
||||
store, ds, err := spec.GetDataset(str)
|
||||
sp, err := spec.ForDataset(spec.CreateValueSpecString("ldb", s.LdbDir, "diffSummarizeTest"))
|
||||
s.NoError(err)
|
||||
defer store.Close()
|
||||
defer sp.Close()
|
||||
|
||||
ds, err = addCommit(ds, "first commit")
|
||||
db := sp.GetDatabase()
|
||||
|
||||
ds, err := addCommit(sp.GetDataset(), "first commit")
|
||||
s.NoError(err)
|
||||
r1 := spec.CreateHashSpecString("ldb", s.LdbDir, ds.HeadRef().TargetHash())
|
||||
|
||||
@@ -64,11 +62,11 @@ func (s *nomsDiffTestSuite) TestNomsDiffSummarize() {
|
||||
out, _ = s.MustRun(main, []string{"diff", "--summarize", r1 + ".value", r2 + ".value"})
|
||||
s.NotContains(out, "Comparing commit values")
|
||||
|
||||
ds, err = store.CommitValue(ds, types.NewList(types.Number(1), types.Number(2), types.Number(3), types.Number(4)))
|
||||
ds, err = db.CommitValue(ds, types.NewList(types.Number(1), types.Number(2), types.Number(3), types.Number(4)))
|
||||
s.NoError(err)
|
||||
r3 := spec.CreateHashSpecString("ldb", s.LdbDir, ds.HeadRef().TargetHash()) + ".value"
|
||||
|
||||
ds, err = store.CommitValue(ds, types.NewList(types.Number(1), types.Number(222), types.Number(4)))
|
||||
ds, err = db.CommitValue(ds, types.NewList(types.Number(1), types.Number(222), types.Number(4)))
|
||||
s.NoError(err)
|
||||
r4 := spec.CreateHashSpecString("ldb", s.LdbDir, ds.HeadRef().TargetHash()) + ".value"
|
||||
|
||||
|
||||
+37
-36
@@ -25,27 +25,28 @@ type nomsLogTestSuite struct {
|
||||
}
|
||||
|
||||
func testCommitInResults(s *nomsLogTestSuite, str string, i int) {
|
||||
db, ds, err := spec.GetDataset(str)
|
||||
sp, err := spec.ForDataset(str)
|
||||
s.NoError(err)
|
||||
ds, err = db.CommitValue(ds, types.Number(i))
|
||||
defer sp.Close()
|
||||
|
||||
sp.GetDatabase().CommitValue(sp.GetDataset(), types.Number(i))
|
||||
s.NoError(err)
|
||||
commit := ds.Head()
|
||||
db.Close()
|
||||
|
||||
commit := sp.GetDataset().Head()
|
||||
res, _ := s.MustRun(main, []string{"log", str})
|
||||
s.Contains(res, commit.Hash().String())
|
||||
}
|
||||
|
||||
func (s *nomsLogTestSuite) TestNomsLog() {
|
||||
datasetName := "dsTest"
|
||||
str := spec.CreateValueSpecString("ldb", s.LdbDir, datasetName)
|
||||
db, _, err := spec.GetDataset(str)
|
||||
sp, err := spec.ForDataset(spec.CreateValueSpecString("ldb", s.LdbDir, "dsTest"))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
db.Close()
|
||||
s.Panics(func() { s.MustRun(main, []string{"log", str}) })
|
||||
sp.GetDatabase() // create the database
|
||||
s.Panics(func() { s.MustRun(main, []string{"log", sp.Spec}) })
|
||||
|
||||
testCommitInResults(s, str, 1)
|
||||
testCommitInResults(s, str, 2)
|
||||
testCommitInResults(s, sp.Spec, 1)
|
||||
testCommitInResults(s, sp.Spec, 2)
|
||||
}
|
||||
|
||||
func addCommit(ds datas.Dataset, v string) (datas.Dataset, error) {
|
||||
@@ -67,12 +68,13 @@ func mergeDatasets(ds1, ds2 datas.Dataset, v string) (datas.Dataset, error) {
|
||||
}
|
||||
|
||||
func (s *nomsLogTestSuite) TestNArg() {
|
||||
str := spec.CreateDatabaseSpecString("ldb", s.LdbDir)
|
||||
dsName := "nArgTest"
|
||||
db, err := spec.GetDatabase(str)
|
||||
s.NoError(err)
|
||||
|
||||
ds := db.GetDataset(dsName)
|
||||
sp, err := spec.ForDatabase(spec.CreateDatabaseSpecString("ldb", s.LdbDir))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
ds := sp.GetDatabase().GetDataset(dsName)
|
||||
|
||||
ds, err = addCommit(ds, "1")
|
||||
h1 := ds.Head().Hash()
|
||||
@@ -83,7 +85,6 @@ func (s *nomsLogTestSuite) TestNArg() {
|
||||
ds, err = addCommit(ds, "3")
|
||||
s.NoError(err)
|
||||
h3 := ds.Head().Hash()
|
||||
db.Close()
|
||||
|
||||
dsSpec := spec.CreateValueSpecString("ldb", s.LdbDir, dsName)
|
||||
res, _ := s.MustRun(main, []string{"log", "-n1", dsSpec})
|
||||
@@ -103,10 +104,11 @@ func (s *nomsLogTestSuite) TestNArg() {
|
||||
}
|
||||
|
||||
func (s *nomsLogTestSuite) TestEmptyCommit() {
|
||||
str := spec.CreateDatabaseSpecString("ldb", s.LdbDir)
|
||||
db, err := spec.GetDatabase(str)
|
||||
sp, err := spec.ForDatabase(spec.CreateDatabaseSpecString("ldb", s.LdbDir))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
db := sp.GetDatabase()
|
||||
ds := db.GetDataset("ds1")
|
||||
|
||||
meta := types.NewStruct("Meta", map[string]types.Value{
|
||||
@@ -116,8 +118,8 @@ func (s *nomsLogTestSuite) TestEmptyCommit() {
|
||||
ds, err = db.Commit(ds, types.String("1"), datas.CommitOptions{Meta: meta})
|
||||
s.NoError(err)
|
||||
|
||||
db.Commit(ds, types.String("2"), datas.CommitOptions{})
|
||||
db.Close()
|
||||
ds, err = db.Commit(ds, types.String("2"), datas.CommitOptions{})
|
||||
s.NoError(err)
|
||||
|
||||
dsSpec := spec.CreateValueSpecString("ldb", s.LdbDir, "ds1")
|
||||
res, _ := s.MustRun(main, []string{"log", "--show-value=false", dsSpec})
|
||||
@@ -128,12 +130,13 @@ func (s *nomsLogTestSuite) TestEmptyCommit() {
|
||||
}
|
||||
|
||||
func (s *nomsLogTestSuite) TestNomsGraph1() {
|
||||
str := spec.CreateDatabaseSpecString("ldb", s.LdbDir)
|
||||
db, err := spec.GetDatabase(str)
|
||||
sp, err := spec.ForDatabase(spec.CreateDatabaseSpecString("ldb", s.LdbDir))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
db := sp.GetDatabase()
|
||||
|
||||
b1 := db.GetDataset("b1")
|
||||
|
||||
b1, err = addCommit(b1, "1")
|
||||
s.NoError(err)
|
||||
b1, err = addCommit(b1, "2")
|
||||
@@ -173,7 +176,6 @@ func (s *nomsLogTestSuite) TestNomsGraph1() {
|
||||
b1, err = addCommit(b1, "7")
|
||||
s.NoError(err)
|
||||
|
||||
b1.Database().Close()
|
||||
res, _ := s.MustRun(main, []string{"log", "--graph", "--show-value=true", spec.CreateValueSpecString("ldb", s.LdbDir, "b1")})
|
||||
s.Equal(graphRes1, res)
|
||||
res, _ = s.MustRun(main, []string{"log", "--graph", "--show-value=false", spec.CreateValueSpecString("ldb", s.LdbDir, "b1")})
|
||||
@@ -181,12 +183,13 @@ func (s *nomsLogTestSuite) TestNomsGraph1() {
|
||||
}
|
||||
|
||||
func (s *nomsLogTestSuite) TestNomsGraph2() {
|
||||
str := spec.CreateDatabaseSpecString("ldb", s.LdbDir)
|
||||
db, err := spec.GetDatabase(str)
|
||||
sp, err := spec.ForDatabase(spec.CreateDatabaseSpecString("ldb", s.LdbDir))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
db := sp.GetDatabase()
|
||||
|
||||
ba := db.GetDataset("ba")
|
||||
|
||||
ba, err = addCommit(ba, "1")
|
||||
s.NoError(err)
|
||||
|
||||
@@ -204,8 +207,6 @@ func (s *nomsLogTestSuite) TestNomsGraph2() {
|
||||
_, err = mergeDatasets(ba, bc, "101")
|
||||
s.NoError(err)
|
||||
|
||||
db.Close()
|
||||
|
||||
res, _ := s.MustRun(main, []string{"log", "--graph", "--show-value=true", spec.CreateValueSpecString("ldb", s.LdbDir, "ba")})
|
||||
s.Equal(graphRes2, res)
|
||||
res, _ = s.MustRun(main, []string{"log", "--graph", "--show-value=false", spec.CreateValueSpecString("ldb", s.LdbDir, "ba")})
|
||||
@@ -213,9 +214,11 @@ func (s *nomsLogTestSuite) TestNomsGraph2() {
|
||||
}
|
||||
|
||||
func (s *nomsLogTestSuite) TestNomsGraph3() {
|
||||
str := spec.CreateDatabaseSpecString("ldb", s.LdbDir)
|
||||
db, err := spec.GetDatabase(str)
|
||||
sp, err := spec.ForDatabase(spec.CreateDatabaseSpecString("ldb", s.LdbDir))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
db := sp.GetDatabase()
|
||||
|
||||
w := db.GetDataset("w")
|
||||
|
||||
@@ -246,7 +249,6 @@ func (s *nomsLogTestSuite) TestNomsGraph3() {
|
||||
_, err = mergeDatasets(w, z, "2222-wz")
|
||||
s.NoError(err)
|
||||
|
||||
db.Close()
|
||||
res, _ := s.MustRun(main, []string{"log", "--graph", "--show-value=true", spec.CreateValueSpecString("ldb", s.LdbDir, "w")})
|
||||
test.EqualsIgnoreHashes(s.T(), graphRes3, res)
|
||||
res, _ = s.MustRun(main, []string{"log", "--graph", "--show-value=false", spec.CreateValueSpecString("ldb", s.LdbDir, "w")})
|
||||
@@ -262,11 +264,11 @@ func (s *nomsLogTestSuite) TestTruncation() {
|
||||
return types.NewList(nv...)
|
||||
}
|
||||
|
||||
str := spec.CreateDatabaseSpecString("ldb", s.LdbDir)
|
||||
db, err := spec.GetDatabase(str)
|
||||
sp, err := spec.ForDatabase(spec.CreateDatabaseSpecString("ldb", s.LdbDir))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
t := db.GetDataset("truncate")
|
||||
t := sp.GetDatabase().GetDataset("truncate")
|
||||
|
||||
t, err = addCommit(t, "the first line")
|
||||
s.NoError(err)
|
||||
@@ -274,7 +276,6 @@ func (s *nomsLogTestSuite) TestTruncation() {
|
||||
l := []string{"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven"}
|
||||
_, err = addCommitWithValue(t, toNomsList(l))
|
||||
s.NoError(err)
|
||||
db.Close()
|
||||
|
||||
dsSpec := spec.CreateValueSpecString("ldb", s.LdbDir, "truncate")
|
||||
res, _ := s.MustRun(main, []string{"log", "--graph", "--show-value=true", dsSpec})
|
||||
|
||||
+20
-14
@@ -84,22 +84,25 @@ func (s *nomsMergeTestSuite) TestNomsMerge_Success() {
|
||||
}
|
||||
|
||||
func (s *nomsMergeTestSuite) setupMergeDataset(name string, data types.StructData, p types.Set) types.Ref {
|
||||
db, ds, _ := spec.GetDataset(spec.CreateValueSpecString("ldb", s.LdbDir, name))
|
||||
defer db.Close()
|
||||
ds, err := db.Commit(ds, types.NewStruct("", data), datas.CommitOptions{Parents: p})
|
||||
sp, err := spec.ForDataset(spec.CreateValueSpecString("ldb", s.LdbDir, name))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
ds := sp.GetDataset()
|
||||
ds, err = sp.GetDatabase().Commit(ds, types.NewStruct("", data), datas.CommitOptions{Parents: p})
|
||||
s.NoError(err)
|
||||
return ds.HeadRef()
|
||||
}
|
||||
|
||||
func (s *nomsMergeTestSuite) validateDataset(name string, expected types.Struct, parents ...types.Value) {
|
||||
db, ds, err := spec.GetDataset(spec.CreateValueSpecString("ldb", s.LdbDir, name))
|
||||
sp, err := spec.ForDataset(spec.CreateValueSpecString("ldb", s.LdbDir, name))
|
||||
if s.NoError(err) {
|
||||
commit := ds.Head()
|
||||
defer sp.Close()
|
||||
commit := sp.GetDataset().Head()
|
||||
s.True(commit.Get(datas.ParentsField).Equals(types.NewSet(parents...)))
|
||||
merged := ds.HeadValue()
|
||||
merged := sp.GetDataset().HeadValue()
|
||||
s.True(expected.Equals(merged), "%s != %s", types.EncodedValue(expected), types.EncodedValue(merged))
|
||||
}
|
||||
defer db.Close()
|
||||
}
|
||||
|
||||
func (s *nomsMergeTestSuite) TestNomsMerge_Left() {
|
||||
@@ -148,7 +151,10 @@ func (s *nomsMergeTestSuite) TestNomsMerge_Conflict() {
|
||||
}
|
||||
|
||||
func (s *nomsMergeTestSuite) TestBadInput() {
|
||||
sp := spec.CreateDatabaseSpecString("ldb", s.LdbDir)
|
||||
sp, err := spec.ForDatabase(spec.CreateDatabaseSpecString("ldb", s.LdbDir))
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
l, r, o := "left", "right", "output"
|
||||
type c struct {
|
||||
args []string
|
||||
@@ -159,20 +165,20 @@ func (s *nomsMergeTestSuite) TestBadInput() {
|
||||
{[]string{"foo", "bar"}, "error: Incorrect number of arguments\n"},
|
||||
{[]string{"foo", "bar", "baz"}, "error: Incorrect number of arguments\n"},
|
||||
{[]string{"foo", "bar", "baz", "quux", "five"}, "error: Incorrect number of arguments\n"},
|
||||
{[]string{sp, l + "!!", r, o}, "error: Invalid dataset " + l + "!!, must match [a-zA-Z0-9\\-_/]+\n"},
|
||||
{[]string{sp, l + "2", r, o}, "error: Dataset " + l + "2 has no data\n"},
|
||||
{[]string{sp, l, r + "2", o}, "error: Dataset " + r + "2 has no data\n"},
|
||||
{[]string{sp, l, r, "!invalid"}, "error: Invalid dataset !invalid, must match [a-zA-Z0-9\\-_/]+\n"},
|
||||
{[]string{sp.Spec, l + "!!", r, o}, "error: Invalid dataset " + l + "!!, must match [a-zA-Z0-9\\-_/]+\n"},
|
||||
{[]string{sp.Spec, l + "2", r, o}, "error: Dataset " + l + "2 has no data\n"},
|
||||
{[]string{sp.Spec, l, r + "2", o}, "error: Dataset " + r + "2 has no data\n"},
|
||||
{[]string{sp.Spec, l, r, "!invalid"}, "error: Invalid dataset !invalid, must match [a-zA-Z0-9\\-_/]+\n"},
|
||||
}
|
||||
|
||||
db, _ := spec.GetDatabase(sp)
|
||||
db := sp.GetDatabase()
|
||||
|
||||
prep := func(dsName string) {
|
||||
ds := db.GetDataset(dsName)
|
||||
db.CommitValue(ds, types.NewMap(types.String("foo"), types.String("bar")))
|
||||
}
|
||||
prep(l)
|
||||
prep(r)
|
||||
db.Close()
|
||||
|
||||
for _, c := range cases {
|
||||
stdout, stderr, err := s.Run(main, append([]string{"merge"}, c.args...))
|
||||
|
||||
@@ -38,9 +38,11 @@ func runMigrate(args []string) int {
|
||||
// TODO: parallelize
|
||||
// TODO: incrementalize
|
||||
|
||||
sourceDb, sourceValue, err := v7spec.GetPath(args[0])
|
||||
v7Path, err := v7spec.ForPath(args[0])
|
||||
d.CheckError(err)
|
||||
defer sourceDb.Close()
|
||||
defer v7Path.Close()
|
||||
|
||||
sourceDb, sourceValue := v7Path.GetDatabase(), v7Path.GetValue()
|
||||
|
||||
if sourceValue == nil {
|
||||
d.CheckErrorNoUsage(fmt.Errorf("Value not found: %s", args[0]))
|
||||
@@ -48,9 +50,11 @@ func runMigrate(args []string) int {
|
||||
|
||||
isCommit := v7datas.IsCommitType(sourceValue.Type())
|
||||
|
||||
sinkDb, sinkDataset, err := spec.GetDataset(args[1])
|
||||
vNewDataset, err := spec.ForDataset(args[1])
|
||||
d.CheckError(err)
|
||||
defer sinkDb.Close()
|
||||
defer vNewDataset.Close()
|
||||
|
||||
sinkDb, sinkDataset := vNewDataset.GetDatabase(), vNewDataset.GetDataset()
|
||||
|
||||
if isCommit {
|
||||
// Need to migrate both value and meta fields.
|
||||
|
||||
@@ -25,18 +25,16 @@ type nomsMigrateTestSuite struct {
|
||||
}
|
||||
|
||||
func (s *nomsMigrateTestSuite) writeTestData(str string, value v7types.Value, meta v7types.Value) {
|
||||
db, ds, err := v7spec.GetDataset(str)
|
||||
sp, err := v7spec.ForDataset(str)
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
_, err = db.Commit(ds, value, v7datas.CommitOptions{
|
||||
_, err = sp.GetDatabase().Commit(sp.GetDataset(), value, v7datas.CommitOptions{
|
||||
Meta: v7types.NewStruct("", v7types.StructData{
|
||||
"value": meta,
|
||||
}),
|
||||
})
|
||||
s.NoError(err)
|
||||
|
||||
err = db.Close()
|
||||
s.NoError(err)
|
||||
}
|
||||
|
||||
func (s *nomsMigrateTestSuite) TestNomsMigrate() {
|
||||
@@ -56,10 +54,11 @@ func (s *nomsMigrateTestSuite) TestNomsMigrate() {
|
||||
s.Equal("", outStr)
|
||||
s.Equal("", errStr)
|
||||
|
||||
destDb, destDs, err := spec.GetDataset(destStr)
|
||||
sp, err := spec.ForDataset(destStr)
|
||||
s.NoError(err)
|
||||
defer destDb.Close()
|
||||
defer sp.Close()
|
||||
|
||||
destDs := sp.GetDataset()
|
||||
s.True(destDs.HeadValue().Equals(types.String(str)))
|
||||
s.True(destDs.Head().Get("meta").(types.Struct).Get("value").Equals(types.Number(42)))
|
||||
}
|
||||
@@ -83,11 +82,11 @@ func (s *nomsMigrateTestSuite) TestNomsMigrateNonCommit() {
|
||||
s.Equal("", outStr)
|
||||
s.Equal("", errStr)
|
||||
|
||||
destDb, destDs, err := spec.GetDataset(destStr)
|
||||
sp, err := spec.ForDataset(destStr)
|
||||
s.NoError(err)
|
||||
defer destDb.Close()
|
||||
defer sp.Close()
|
||||
|
||||
s.True(destDs.HeadValue().Equals(types.String(str)))
|
||||
s.True(sp.GetDataset().HeadValue().Equals(types.String(str)))
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ package main
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/attic-labs/noms/go/d"
|
||||
"github.com/attic-labs/noms/go/spec"
|
||||
"github.com/attic-labs/noms/go/types"
|
||||
"github.com/attic-labs/noms/go/util/clienttest"
|
||||
@@ -32,15 +31,15 @@ const (
|
||||
)
|
||||
|
||||
func (s *nomsShowTestSuite) writeTestData(str string, value types.Value) types.Ref {
|
||||
db, ds, err := spec.GetDataset(str)
|
||||
d.Chk.NoError(err)
|
||||
sp, err := spec.ForDataset(str)
|
||||
s.NoError(err)
|
||||
defer sp.Close()
|
||||
|
||||
db := sp.GetDatabase()
|
||||
r1 := db.WriteValue(value)
|
||||
ds, err = db.CommitValue(ds, r1)
|
||||
d.Chk.NoError(err)
|
||||
_, err = db.CommitValue(sp.GetDataset(), r1)
|
||||
s.NoError(err)
|
||||
|
||||
err = db.Close()
|
||||
d.Chk.NoError(err)
|
||||
return r1
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user