From f3786ba5ec80ee1a09b254e80cbdbf0c0b6b3fe0 Mon Sep 17 00:00:00 2001 From: Anmol Sethi Date: Thu, 2 Feb 2023 10:48:28 -0800 Subject: [PATCH] e2etests: Fix --- ci/e2ereport.sh | 2 +- e2etests/e2e_test.go | 15 ++++----------- e2etests/report/main.go | 27 +++++++++++++++------------ 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/ci/e2ereport.sh b/ci/e2ereport.sh index ebf45b9125..02500ac581 100755 --- a/ci/e2ereport.sh +++ b/ci/e2ereport.sh @@ -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 diff --git a/e2etests/e2e_test.go b/e2etests/e2e_test.go index 749c22d225..b1ac13cc82 100644 --- a/e2etests/e2e_test.go +++ b/e2etests/e2e_test.go @@ -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) } } diff --git a/e2etests/report/main.go b/e2etests/report/main.go index 42784c3eba..f71c7f1cda 100644 --- a/e2etests/report/main.go +++ b/e2etests/report/main.go @@ -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 {