Skip to content

Commit

Permalink
redo
Browse files Browse the repository at this point in the history
  • Loading branch information
majocha committed Feb 10, 2025
1 parent da8f52e commit 9778e1a
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions tests/FSharp.Test.Utilities/CompilerAssert.fs
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,10 @@ and Compilation =

module CompilerAssertHelpers =

let uniqueName =
let mutable counter = 0
fun (ext: string) -> $"test%x{Interlocked.Increment &counter}{ext}"

let UseTransparentCompiler =
FSharp.Compiler.CompilerConfig.FSharpExperimentalFeaturesEnabledAutomatically ||
not (String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable("TEST_TRANSPARENT_COMPILER")))
Expand Down Expand Up @@ -407,7 +411,7 @@ module CompilerAssertHelpers =
#endif
|]
{
ProjectFileName = "Z:\\test.fsproj"
ProjectFileName = "Z:\\" ++ uniqueName ".fsproj"
ProjectId = None
SourceFiles = [|"test.fs"|]
OtherOptions = Array.append testDefaults assemblies
Expand Down Expand Up @@ -742,7 +746,8 @@ Updated automatically, please check diffs in your pull request, changes must be
Assert.Equal(expectedOutput, output)

static member Pass (source: string) =
let parseResults, fileAnswer = checker.ParseAndCheckFileInProject("test.fs", 0, SourceText.ofString source, defaultProjectOptions TargetFramework.Current) |> Async.RunImmediate
let path = uniqueName ".fs"
let parseResults, fileAnswer = checker.ParseAndCheckFileInProject(path, 0, SourceText.ofString source, defaultProjectOptionsForFilePath path TargetFramework.Current) |> Async.RunImmediate

Assert.Empty(parseResults.Diagnostics)

Expand All @@ -756,7 +761,7 @@ Updated automatically, please check diffs in your pull request, changes must be
let defaultOptions = defaultProjectOptions TargetFramework.Current
let options = { defaultOptions with OtherOptions = Array.append options defaultOptions.OtherOptions}

let parseResults, fileAnswer = checker.ParseAndCheckFileInProject("test.fs", 0, SourceText.ofString source, options) |> Async.RunImmediate
let parseResults, fileAnswer = checker.ParseAndCheckFileInProject(uniqueName ".fs", 0, SourceText.ofString source, options) |> Async.RunImmediate

Assert.Empty(parseResults.Diagnostics)

Expand Down Expand Up @@ -826,9 +831,10 @@ Updated automatically, please check diffs in your pull request, changes must be
static member TypeCheckWithOptions options (source: string) =
let errors =
let parseResults, fileAnswer =
let defaultOptions = defaultProjectOptions TargetFramework.Current
let path = uniqueName ".fs"
let defaultOptions = defaultProjectOptionsForFilePath path TargetFramework.Current
checker.ParseAndCheckFileInProject(
"test.fs",
path,
0,
SourceText.ofString source,
{ defaultOptions with OtherOptions = Array.append options defaultOptions.OtherOptions})
Expand Down Expand Up @@ -869,10 +875,11 @@ Updated automatically, please check diffs in your pull request, changes must be

static member TypeCheckWithErrorsAndOptionsAndAdjust options libAdjust (source: string) expectedTypeErrors =
let errors =
let path = uniqueName ".fs"
let parseResults, fileAnswer =
let defaultOptions = defaultProjectOptions TargetFramework.Current
let defaultOptions = defaultProjectOptionsForFilePath path TargetFramework.Current
checker.ParseAndCheckFileInProject(
"test.fs",
path,
0,
SourceText.ofString source,
{ defaultOptions with OtherOptions = Array.append options defaultOptions.OtherOptions})
Expand Down Expand Up @@ -1020,7 +1027,7 @@ Updated automatically, please check diffs in your pull request, changes must be

static member Parse (source: string, ?langVersion: string, ?fileName: string) =
let langVersion = defaultArg langVersion "default"
let sourceFileName = defaultArg fileName "test.fsx"
let sourceFileName = defaultArg fileName (uniqueName ".fsx")
let parsingOptions =
{ FSharpParsingOptions.Default with
SourceFiles = [| sourceFileName |]
Expand Down

0 comments on commit 9778e1a

Please sign in to comment.