Commit 86070cba authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent c98d3f92
......@@ -35,10 +35,10 @@ import (
"lab.nexedi.com/kirr/neo/go/zodb"
)
// TreeGen represents connection to running `treegen trees`.
// TreeGen represents connection to running `treegen trees` server.
//
// Create it with StartTreeGen(zurl).
// - Commit(treeTopology) ->
// - Commit(treeTopology) -> tid
type TreeGen struct {
zurl string
pysrv *exec.Cmd // spawned `treegen trees`
......@@ -104,7 +104,7 @@ func StartTreeGen(zurl string) (_ *TreeGen, err error) {
return nil, fmt.Errorf("root: %s", err)
}
fmt.Printf("XXX started @%s root=%s\n", tg.head, tg.treeRoot)
//fmt.Printf("XXX started @%s root=%s\n", tg.head, tg.treeRoot)
return tg, nil
}
......@@ -140,34 +140,13 @@ func (tg *TreeGen) Commit(tree string) (_ zodb.Tid, err error) {
return tid, nil
}
// XXX
func XXX(t *testing.T, tree1, tree2 string) {
// XXX commit tree1
// XXX load tree1 -> get keys for kv1
//
// XXX for all set of {keys} from kv1:
// // prepare initial state with {keys} tracked
// zconn = db.open(at)
// δbtail = NewΔBTail(zconn.At())
// for k in keys:
// v, path = tree.VGet(k)
// δbtail.Track(path)
//
// commit(->tree2)
// δZ = ...
//
// δB = δbtail.Update(δZ)
//
// verify δB has all keys as expected for tracked set
}
func TestΔBTail(t *testing.T) {
X := exc.Raiseif
// XXX test known cases tree1 -> tree2
testv := []struct { tree1, tree2 string } {
{"T/B", "T/B"},
{"T/B", "T/B1:a"},
{"T/B:", "T/B:"},
{"T/B:", "T/B1:a"},
// XXX
}
......@@ -180,9 +159,34 @@ func TestΔBTail(t *testing.T) {
err := tg.Close(); X(err)
}()
XXX := func(tree1, tree2 string) {
// XXX commit tree1
// XXX load tree1 -> get keys for kv1
//
// XXX for all set of {keys} from kv1:
// // prepare initial state with {keys} tracked
// zconn = db.open(at)
// δbtail = NewΔBTail(zconn.At())
// for k in keys:
// v, path = tree.VGet(k)
// δbtail.Track(path)
//
// commit(->tree2)
// δZ = ...
//
// δB = δbtail.Update(δZ)
//
// verify δB has all keys as expected for tracked set
tid, err := tg.Commit(tree1); X(err)
tid, err = tg.Commit(tree2); X(err)
_ = tid
}
for _, test := range testv {
XXX(t, test.tree1, test.tree2)
XXX(t, test.tree2, test.tree1)
XXX(test.tree1, test.tree2)
XXX(test.tree2, test.tree1)
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment