Commit a69c4b3e authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent b74c7ca3
...@@ -23,12 +23,14 @@ import ( ...@@ -23,12 +23,14 @@ import (
"bufio" "bufio"
"fmt" "fmt"
"io" "io"
"io/ioutil"
"os" "os"
"os/exec" "os/exec"
"regexp" "regexp"
"strings" "strings"
"testing" "testing"
"lab.nexedi.com/kirr/go123/exc"
"lab.nexedi.com/kirr/go123/xerr" "lab.nexedi.com/kirr/go123/xerr"
"lab.nexedi.com/kirr/neo/go/zodb" "lab.nexedi.com/kirr/neo/go/zodb"
) )
...@@ -51,6 +53,7 @@ type TreeGen struct { ...@@ -51,6 +53,7 @@ type TreeGen struct {
func StartTreeGen(zurl string) (_ *TreeGen, err error) { func StartTreeGen(zurl string) (_ *TreeGen, err error) {
defer xerr.Contextf(&err, "treegen %s: start", zurl) defer xerr.Contextf(&err, "treegen %s: start", zurl)
// spawn `treegen trees`
tg := &TreeGen{zurl: zurl} tg := &TreeGen{zurl: zurl}
tg.pysrv = exec.Command("./testprog/treegen.py", "trees") tg.pysrv = exec.Command("./testprog/treegen.py", "trees")
tg.pysrv.Stdin, tg.pyin = io.Pipe() tg.pysrv.Stdin, tg.pyin = io.Pipe()
...@@ -63,7 +66,6 @@ func StartTreeGen(zurl string) (_ *TreeGen, err error) { ...@@ -63,7 +66,6 @@ func StartTreeGen(zurl string) (_ *TreeGen, err error) {
return nil, err return nil, err
} }
// wait for start message; initialize .head and .treeRoot from it // wait for start message; initialize .head and .treeRoot from it
defer func() { defer func() {
if err != nil { if err != nil {
...@@ -149,6 +151,8 @@ func XXX(t *testing.T, tree1, tree2 string) { ...@@ -149,6 +151,8 @@ func XXX(t *testing.T, tree1, tree2 string) {
} }
func TestΔBTail(t *testing.T) { func TestΔBTail(t *testing.T) {
X := exc.Raiseif
// XXX test known cases tree1 -> tree2 // XXX test known cases tree1 -> tree2
testv := []struct { tree1, tree2 string } { testv := []struct { tree1, tree2 string } {
{"T/B", "T/B"}, {"T/B", "T/B"},
...@@ -156,6 +160,15 @@ func TestΔBTail(t *testing.T) { ...@@ -156,6 +160,15 @@ func TestΔBTail(t *testing.T) {
// XXX // XXX
} }
work, err := ioutil.TempDir("", "δBTail"); X(err)
defer func() {
err := os.RemoveAll(work); X(err)
}()
tg, err := StartTreeGen(work + "/1.fs"); X(err)
defer func() {
err := tg.Close(); X(err)
}()
for _, test := range testv { for _, test := range testv {
XXX(t, test.tree1, test.tree2) XXX(t, test.tree1, test.tree2)
XXX(t, test.tree2, test.tree1) XXX(t, 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