From 378707966eb0ca903b48c98d24a1b014819bfd6a Mon Sep 17 00:00:00 2001 From: Will Smith Date: Fri, 25 Sep 2020 11:01:05 -0700 Subject: [PATCH 1/4] Able to remap DecisionTreeTest.Error --- src/fsharp/TypedTreeOps.fs | 2 +- .../Compiler/Regressions/RegressionTests.fs | 23 +++++++++++++++++++ tests/fsharp/FSharpSuite.Tests.fsproj | 1 + 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 tests/fsharp/Compiler/Regressions/RegressionTests.fs diff --git a/src/fsharp/TypedTreeOps.fs b/src/fsharp/TypedTreeOps.fs index 2736d6f3e12..211795ab63d 100644 --- a/src/fsharp/TypedTreeOps.fs +++ b/src/fsharp/TypedTreeOps.fs @@ -5348,7 +5348,7 @@ and remapDecisionTree g compgen tmenv x = | DecisionTreeTest.IsInst (srcty, tgty) -> DecisionTreeTest.IsInst (remapType tmenv srcty, remapType tmenv tgty) | DecisionTreeTest.IsNull -> DecisionTreeTest.IsNull | DecisionTreeTest.ActivePatternCase _ -> failwith "DecisionTreeTest.ActivePatternCase should only be used during pattern match compilation" - | DecisionTreeTest.Error _ -> failwith "DecisionTreeTest.Error should only be used during pattern match compilation" + | DecisionTreeTest.Error _ -> test TCase(test', remapDecisionTree g compgen tmenv y)) csl, Option.map (remapDecisionTree g compgen tmenv) dflt, m) diff --git a/tests/fsharp/Compiler/Regressions/RegressionTests.fs b/tests/fsharp/Compiler/Regressions/RegressionTests.fs new file mode 100644 index 00000000000..68766307a7f --- /dev/null +++ b/tests/fsharp/Compiler/Regressions/RegressionTests.fs @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace FSharp.Compiler.UnitTests + +open NUnit.Framework +open FSharp.Test.Utilities.Compiler +open FSharp.Tests + +[] +module RegressionTests = + + [] + let ``No internal errors should be raised``() = + FSharp """ +namespace FSharpBug + +type TestItemSeq = + static member Test1 item = item + static member Test2 item = match item with Typo2 x -> x + """ + |> compile + |> withErrorCodes [39] + |> ignore diff --git a/tests/fsharp/FSharpSuite.Tests.fsproj b/tests/fsharp/FSharpSuite.Tests.fsproj index 006fe4c6e16..2aad40e6ac4 100644 --- a/tests/fsharp/FSharpSuite.Tests.fsproj +++ b/tests/fsharp/FSharpSuite.Tests.fsproj @@ -58,6 +58,7 @@ + From 77fd108e5f888638dc0943c579d52f964154c76b Mon Sep 17 00:00:00 2001 From: Will Smith Date: Fri, 25 Sep 2020 12:55:58 -0700 Subject: [PATCH 2/4] minor change to construct Error --- src/fsharp/TypedTreeOps.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fsharp/TypedTreeOps.fs b/src/fsharp/TypedTreeOps.fs index 211795ab63d..0e511a19646 100644 --- a/src/fsharp/TypedTreeOps.fs +++ b/src/fsharp/TypedTreeOps.fs @@ -5348,7 +5348,7 @@ and remapDecisionTree g compgen tmenv x = | DecisionTreeTest.IsInst (srcty, tgty) -> DecisionTreeTest.IsInst (remapType tmenv srcty, remapType tmenv tgty) | DecisionTreeTest.IsNull -> DecisionTreeTest.IsNull | DecisionTreeTest.ActivePatternCase _ -> failwith "DecisionTreeTest.ActivePatternCase should only be used during pattern match compilation" - | DecisionTreeTest.Error _ -> test + | DecisionTreeTest.Error(m) -> DecisionTreeTest.Error(m) TCase(test', remapDecisionTree g compgen tmenv y)) csl, Option.map (remapDecisionTree g compgen tmenv) dflt, m) From f9cfc0b72318424bbd4d729b4122f95419a74885 Mon Sep 17 00:00:00 2001 From: Will Smith Date: Fri, 25 Sep 2020 12:58:57 -0700 Subject: [PATCH 3/4] Moved RegressionTests to ComponentTests --- .../Language}/RegressionTests.fs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) rename tests/{fsharp/Compiler/Regressions => FSharp.Compiler.ComponentTests/Language}/RegressionTests.fs (82%) diff --git a/tests/fsharp/Compiler/Regressions/RegressionTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/RegressionTests.fs similarity index 82% rename from tests/fsharp/Compiler/Regressions/RegressionTests.fs rename to tests/FSharp.Compiler.ComponentTests/Language/RegressionTests.fs index 68766307a7f..4e878fddae5 100644 --- a/tests/fsharp/Compiler/Regressions/RegressionTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Language/RegressionTests.fs @@ -1,15 +1,13 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace FSharp.Compiler.UnitTests +namespace FSharp.Compiler.ComponentTests.Language -open NUnit.Framework +open Xunit open FSharp.Test.Utilities.Compiler -open FSharp.Tests -[] module RegressionTests = - [] + [] let ``No internal errors should be raised``() = FSharp """ namespace FSharpBug From 3441733f3df30fb2ee5c1a1cc72459a027de946b Mon Sep 17 00:00:00 2001 From: Will Smith Date: Fri, 25 Sep 2020 16:31:50 -0700 Subject: [PATCH 4/4] Fixed build --- .../FSharp.Compiler.ComponentTests.fsproj | 1 + tests/fsharp/FSharpSuite.Tests.fsproj | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index 27f4cb4c6dd..74d960c1c92 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -40,6 +40,7 @@ + diff --git a/tests/fsharp/FSharpSuite.Tests.fsproj b/tests/fsharp/FSharpSuite.Tests.fsproj index 2aad40e6ac4..006fe4c6e16 100644 --- a/tests/fsharp/FSharpSuite.Tests.fsproj +++ b/tests/fsharp/FSharpSuite.Tests.fsproj @@ -58,7 +58,6 @@ -