blob: 71b762bc63e8299bc58c08d7171e31df1dea3ebd [file] [log] [blame]
Cosmos Nicolaou234642b2015-02-04 18:30:52 -08001package main_test
2
Cosmos Nicolaoua866f262015-02-10 14:56:06 -08003//go:generate v23 test generate .
Cosmos Nicolaou234642b2015-02-04 18:30:52 -08004
5import (
6 "bytes"
7 "fmt"
8 "io/ioutil"
9 "os"
10 "regexp"
11 "testing"
12
13 "v.io/core/veyron/lib/modules"
Cosmos Nicolaou4a77c192015-02-08 15:29:18 -080014 "v.io/core/veyron/lib/testutil/v23tests"
Cosmos Nicolaou234642b2015-02-04 18:30:52 -080015)
16
17func TestHelperProcess(t *testing.T) {
18 modules.DispatchInTest()
19}
Cosmos Nicolaou4a77c192015-02-08 15:29:18 -080020
Cosmos Nicolaou01007a02015-02-11 15:38:38 -080021func V23TestSimulator(t *v23tests.T) {
Cosmos Nicolaou234642b2015-02-04 18:30:52 -080022 binary := t.BuildGoPkg("v.io/core/veyron/tools/naming/simulator")
23 files, err := ioutil.ReadDir("./testdata")
24 if err != nil {
25 t.Fatal(err)
26 }
27 scripts := []string{}
28 re := regexp.MustCompile(`.*\.scr`)
29 for _, f := range files {
30 if !f.IsDir() && re.MatchString(f.Name()) {
31 scripts = append(scripts, "./testdata/"+f.Name())
32 }
33 }
34 for _, script := range scripts {
35 if testing.Verbose() {
36 fmt.Fprintf(os.Stderr, "Script %v\n", script)
37 }
James Ring79a9ceb2015-02-09 13:25:54 -080038 scriptFile, err := os.Open(script)
39 if err != nil {
40 t.Fatalf("Open(%q) failed: %v", script, err)
41 }
42 invocation := binary.WithStdin(scriptFile).Start()
Cosmos Nicolaou234642b2015-02-04 18:30:52 -080043 var stdout, stderr bytes.Buffer
44 if err := invocation.Wait(&stdout, &stderr); err != nil {
45 fmt.Fprintf(os.Stderr, "Script %v failed\n", script)
Cosmos Nicolaoua17b9b32015-02-04 20:32:12 -080046 fmt.Fprintln(os.Stderr, stdout.String())
47 fmt.Fprintln(os.Stderr, stderr.String())
Cosmos Nicolaou234642b2015-02-04 18:30:52 -080048 t.Error(err)
49 }
50 }
51}