From 4711d622f00bba0fb770bf68d3c0280322977a87 Mon Sep 17 00:00:00 2001 From: Eugene Auduchinok Date: Tue, 9 May 2023 19:29:22 +0200 Subject: [PATCH] Tests/syntax: produce tmp file when result doesn't match the baseline (#15089) * Tests/syntax: produce tmp file when result doesn't match baselines * Delete tmp file when results matches * Rename tmp -> actual * Ignore tmp files in git --- tests/service/SyntaxTreeTests.fs | 7 +++++++ tests/service/data/SyntaxTree/.gitignore | 1 + 2 files changed, 8 insertions(+) create mode 100644 tests/service/data/SyntaxTree/.gitignore diff --git a/tests/service/SyntaxTreeTests.fs b/tests/service/SyntaxTreeTests.fs index fdd82ce56..6de10a235 100644 --- a/tests/service/SyntaxTreeTests.fs +++ b/tests/service/SyntaxTreeTests.fs @@ -176,7 +176,9 @@ let ParseFile fileName = $"%A{ast}\n\n%s{diagnostics}" |> normalize |> sprintf "%s\n" + let bslPath = $"{fullPath}.bsl" + let actualPath = $"{fullPath}.actual" let expected = if File.Exists bslPath then @@ -184,9 +186,14 @@ let ParseFile fileName = else "No baseline was found" + let equals = expected = actual let testUpdateBSLEnv = System.Environment.GetEnvironmentVariable("TEST_UPDATE_BSL") if not (isNull testUpdateBSLEnv) && testUpdateBSLEnv.Trim() = "1" then File.WriteAllText(bslPath, actual) + elif not equals then + File.WriteAllText(actualPath, actual) + else + File.Delete(actualPath) Assert.AreEqual(expected, actual) diff --git a/tests/service/data/SyntaxTree/.gitignore b/tests/service/data/SyntaxTree/.gitignore new file mode 100644 index 000000000..5842cb6df --- /dev/null +++ b/tests/service/data/SyntaxTree/.gitignore @@ -0,0 +1 @@ +*.actual -- GitLab