e2etests: Fix

This commit is contained in:
Anmol Sethi 2023-02-02 10:48:28 -08:00
parent 09dc9fd12f
commit f3786ba5ec
No known key found for this signature in database
GPG key ID: 25BC68888A99A8BA
3 changed files with 20 additions and 24 deletions

View file

@ -1,7 +1,7 @@
#!/bin/sh
set -eu
export REPORT_OUTPUT="out/e2e_report.html"
export REPORT_OUTPUT="./e2etests/out/e2e_report.html"
rm -f $REPORT_OUTPUT
export E2E_REPORT=1

View file

@ -167,26 +167,19 @@ func run(t *testing.T, tc testCase) {
assert.Success(t, err)
err = ioutil.WriteFile(pathGotSVG, svgBytes, 0600)
assert.Success(t, err)
// if running from e2ereport.sh, we want to keep .got.svg on a failure
forReport := os.Getenv("E2E_REPORT") != ""
if !forReport {
defer os.Remove(pathGotSVG)
}
// Check that it's valid SVG
var xmlParsed interface{}
err = xml.Unmarshal(svgBytes, &xmlParsed)
assert.Success(t, err)
var err2 error
err = diff.TestdataJSON(filepath.Join(dataPath, "board"), diagram)
assert.Success(t, err)
if os.Getenv("SKIP_SVG_CHECK") == "" {
err = diff.Testdata(filepath.Join(dataPath, "sketch"), ".svg", svgBytes)
assert.Success(t, err)
}
if forReport {
os.Remove(pathGotSVG)
err2 = diff.Testdata(filepath.Join(dataPath, "sketch"), ".svg", svgBytes)
}
assert.Success(t, err)
assert.Success(t, err2)
}
}

View file

@ -39,6 +39,7 @@ func main() {
flag.BoolVar(&deltaFlag, "delta", false, "Generate the report only for cases that changed.")
flag.StringVar(&testSetFlag, "test-set", "", "Only run set of tests matching this string. e.g. regressions")
flag.StringVar(&testCaseFlag, "test-case", "", "Only run tests matching this string. e.g. all_shapes")
skipTests := flag.Bool("skip-tests", false, "Skip running tests first")
flag.BoolVar(&vFlag, "v", false, "verbose")
flag.Parse()
@ -53,18 +54,20 @@ func main() {
testDir = "./e2etests"
}
ctx := log.Stderr(context.Background())
ctx, cancel := context.WithTimeout(ctx, 2*time.Minute)
defer cancel()
cmd := exec.CommandContext(ctx, "go", "test", testDir, "-run", testMatchString, vString)
cmd.Env = os.Environ()
cmd.Env = append(cmd.Env, "FORCE_COLOR=1")
cmd.Env = append(cmd.Env, "DEBUG=1")
cmd.Env = append(cmd.Env, "TEST_MODE=on")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
log.Debug(ctx, cmd.String())
_ = cmd.Run()
if !*skipTests {
ctx := log.Stderr(context.Background())
ctx, cancel := context.WithTimeout(ctx, 2*time.Minute)
defer cancel()
cmd := exec.CommandContext(ctx, "go", "test", testDir, "-run", testMatchString, vString)
cmd.Env = os.Environ()
cmd.Env = append(cmd.Env, "FORCE_COLOR=1")
cmd.Env = append(cmd.Env, "DEBUG=1")
cmd.Env = append(cmd.Env, "TEST_MODE=on")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
log.Debug(ctx, cmd.String())
_ = cmd.Run()
}
var tests []TestItem
err := filepath.Walk(filepath.Join(testDir, "testdata"), func(path string, info os.FileInfo, err error) error {