blob: 71b762bc63e8299bc58c08d7171e31df1dea3ebd [file] [log] [blame]
package main_test
//go:generate v23 test generate .
import (
"bytes"
"fmt"
"io/ioutil"
"os"
"regexp"
"testing"
"v.io/core/veyron/lib/modules"
"v.io/core/veyron/lib/testutil/v23tests"
)
func TestHelperProcess(t *testing.T) {
modules.DispatchInTest()
}
func V23TestSimulator(t *v23tests.T) {
binary := t.BuildGoPkg("v.io/core/veyron/tools/naming/simulator")
files, err := ioutil.ReadDir("./testdata")
if err != nil {
t.Fatal(err)
}
scripts := []string{}
re := regexp.MustCompile(`.*\.scr`)
for _, f := range files {
if !f.IsDir() && re.MatchString(f.Name()) {
scripts = append(scripts, "./testdata/"+f.Name())
}
}
for _, script := range scripts {
if testing.Verbose() {
fmt.Fprintf(os.Stderr, "Script %v\n", script)
}
scriptFile, err := os.Open(script)
if err != nil {
t.Fatalf("Open(%q) failed: %v", script, err)
}
invocation := binary.WithStdin(scriptFile).Start()
var stdout, stderr bytes.Buffer
if err := invocation.Wait(&stdout, &stderr); err != nil {
fmt.Fprintf(os.Stderr, "Script %v failed\n", script)
fmt.Fprintln(os.Stderr, stdout.String())
fmt.Fprintln(os.Stderr, stderr.String())
t.Error(err)
}
}
}