diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 81f7d758d0d..5d790eccac0 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -8,9 +8,9 @@
-
+
https://github.com/dotnet/arcade
- 1b053babb8a542e3ab20f93b3d0aedc732b7e0c7
+ 6a8491b61e0c243cbb6a7ff4966b48e6d1e075b1
diff --git a/eng/common/sdl/configure-sdl-tool.ps1 b/eng/common/sdl/configure-sdl-tool.ps1
new file mode 100644
index 00000000000..4999c307088
--- /dev/null
+++ b/eng/common/sdl/configure-sdl-tool.ps1
@@ -0,0 +1,109 @@
+Param(
+ [string] $GuardianCliLocation,
+ [string] $WorkingDirectory,
+ [string] $TargetDirectory,
+ [string] $GdnFolder,
+ # The list of Guardian tools to configure. For each object in the array:
+ # - If the item is a [hashtable], it must contain these entries:
+ # - Name = The tool name as Guardian knows it.
+ # - Scenario = (Optional) Scenario-specific name for this configuration entry. It must be unique
+ # among all tool entries with the same Name.
+ # - Args = (Optional) Array of Guardian tool configuration args, like '@("Target > C:\temp")'
+ # - If the item is a [string] $v, it is treated as '@{ Name="$v" }'
+ [object[]] $ToolsList,
+ [string] $GuardianLoggerLevel='Standard',
+ # Optional: Additional params to add to any tool using CredScan.
+ [string[]] $CrScanAdditionalRunConfigParams,
+ # Optional: Additional params to add to any tool using PoliCheck.
+ [string[]] $PoliCheckAdditionalRunConfigParams
+)
+
+$ErrorActionPreference = 'Stop'
+Set-StrictMode -Version 2.0
+$disableConfigureToolsetImport = $true
+$global:LASTEXITCODE = 0
+
+try {
+ # `tools.ps1` checks $ci to perform some actions. Since the SDL
+ # scripts don't necessarily execute in the same agent that run the
+ # build.ps1/sh script this variable isn't automatically set.
+ $ci = $true
+ . $PSScriptRoot\..\tools.ps1
+
+ # Normalize tools list: all in [hashtable] form with defined values for each key.
+ $ToolsList = $ToolsList |
+ ForEach-Object {
+ if ($_ -is [string]) {
+ $_ = @{ Name = $_ }
+ }
+
+ if (-not ($_['Scenario'])) { $_.Scenario = "" }
+ if (-not ($_['Args'])) { $_.Args = @() }
+ $_
+ }
+
+ Write-Host "List of tools to configure:"
+ $ToolsList | ForEach-Object { $_ | Out-String | Write-Host }
+
+ # We store config files in the r directory of .gdn
+ $gdnConfigPath = Join-Path $GdnFolder 'r'
+ $ValidPath = Test-Path $GuardianCliLocation
+
+ if ($ValidPath -eq $False)
+ {
+ Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Invalid Guardian CLI Location."
+ ExitWithExitCode 1
+ }
+
+ foreach ($tool in $ToolsList) {
+ # Put together the name and scenario to make a unique key.
+ $toolConfigName = $tool.Name
+ if ($tool.Scenario) {
+ $toolConfigName += "_" + $tool.Scenario
+ }
+
+ Write-Host "=== Configuring $toolConfigName..."
+
+ $gdnConfigFile = Join-Path $gdnConfigPath "$toolConfigName-configure.gdnconfig"
+
+ # For some tools, add default and automatic args.
+ if ($tool.Name -eq 'credscan') {
+ if ($targetDirectory) {
+ $tool.Args += "TargetDirectory < $TargetDirectory"
+ }
+ $tool.Args += "OutputType < pre"
+ $tool.Args += $CrScanAdditionalRunConfigParams
+ } elseif ($tool.Name -eq 'policheck') {
+ if ($targetDirectory) {
+ $tool.Args += "Target < $TargetDirectory"
+ }
+ $tool.Args += $PoliCheckAdditionalRunConfigParams
+ }
+
+ # Create variable pointing to the args array directly so we can use splat syntax later.
+ $toolArgs = $tool.Args
+
+ # Configure the tool. If args array is provided or the current tool has some default arguments
+ # defined, add "--args" and splat each element on the end. Arg format is "{Arg id} < {Value}",
+ # one per parameter. Doc page for "guardian configure":
+ # https://dev.azure.com/securitytools/SecurityIntegration/_wiki/wikis/Guardian/1395/configure
+ Exec-BlockVerbosely {
+ & $GuardianCliLocation configure `
+ --working-directory $WorkingDirectory `
+ --tool $tool.Name `
+ --output-path $gdnConfigFile `
+ --logger-level $GuardianLoggerLevel `
+ --noninteractive `
+ --force `
+ $(if ($toolArgs) { "--args" }) @toolArgs
+ Exit-IfNZEC "Sdl"
+ }
+
+ Write-Host "Created '$toolConfigName' configuration file: $gdnConfigFile"
+ }
+}
+catch {
+ Write-Host $_.ScriptStackTrace
+ Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_
+ ExitWithExitCode 1
+}
diff --git a/eng/common/sdl/execute-all-sdl-tools.ps1 b/eng/common/sdl/execute-all-sdl-tools.ps1
index 2881a56083c..1157151f486 100644
--- a/eng/common/sdl/execute-all-sdl-tools.ps1
+++ b/eng/common/sdl/execute-all-sdl-tools.ps1
@@ -7,8 +7,17 @@ Param(
[string] $SourceDirectory=$env:BUILD_SOURCESDIRECTORY, # Required: the directory where source files are located
[string] $ArtifactsDirectory = (Join-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY ('artifacts')), # Required: the directory where build artifacts are located
[string] $AzureDevOpsAccessToken, # Required: access token for dnceng; should be provided via KeyVault
- [string[]] $SourceToolsList, # Optional: list of SDL tools to run on source code
- [string[]] $ArtifactToolsList, # Optional: list of SDL tools to run on built artifacts
+
+ # Optional: list of SDL tools to run on source code. See 'configure-sdl-tool.ps1' for tools list
+ # format.
+ [object[]] $SourceToolsList,
+ # Optional: list of SDL tools to run on built artifacts. See 'configure-sdl-tool.ps1' for tools
+ # list format.
+ [object[]] $ArtifactToolsList,
+ # Optional: list of SDL tools to run without automatically specifying a target directory. See
+ # 'configure-sdl-tool.ps1' for tools list format.
+ [object[]] $CustomToolsList,
+
[bool] $TsaPublish=$False, # Optional: true will publish results to TSA; only set to true after onboarding to TSA; TSA is the automated framework used to upload test results as bugs.
[string] $TsaBranchName=$env:BUILD_SOURCEBRANCH, # Optional: required for TSA publish; defaults to $(Build.SourceBranchName); TSA is the automated framework used to upload test results as bugs.
[string] $TsaRepositoryName=$env:BUILD_REPOSITORY_NAME, # Optional: TSA repository name; will be generated automatically if not submitted; TSA is the automated framework used to upload test results as bugs.
@@ -63,13 +72,16 @@ try {
ExitWithExitCode 1
}
- & $(Join-Path $PSScriptRoot 'init-sdl.ps1') -GuardianCliLocation $guardianCliLocation -Repository $RepoName -BranchName $BranchName -WorkingDirectory $workingDirectory -AzureDevOpsAccessToken $AzureDevOpsAccessToken -GuardianLoggerLevel $GuardianLoggerLevel
+ Exec-BlockVerbosely {
+ & $(Join-Path $PSScriptRoot 'init-sdl.ps1') -GuardianCliLocation $guardianCliLocation -Repository $RepoName -BranchName $BranchName -WorkingDirectory $workingDirectory -AzureDevOpsAccessToken $AzureDevOpsAccessToken -GuardianLoggerLevel $GuardianLoggerLevel
+ }
$gdnFolder = Join-Path $workingDirectory '.gdn'
if ($TsaOnboard) {
if ($TsaCodebaseName -and $TsaNotificationEmail -and $TsaCodebaseAdmin -and $TsaBugAreaPath) {
- Write-Host "$guardianCliLocation tsa-onboard --codebase-name `"$TsaCodebaseName`" --notification-alias `"$TsaNotificationEmail`" --codebase-admin `"$TsaCodebaseAdmin`" --instance-url `"$TsaInstanceUrl`" --project-name `"$TsaProjectName`" --area-path `"$TsaBugAreaPath`" --iteration-path `"$TsaIterationPath`" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel"
- & $guardianCliLocation tsa-onboard --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel
+ Exec-BlockVerbosely {
+ & $guardianCliLocation tsa-onboard --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel
+ }
if ($LASTEXITCODE -ne 0) {
Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian tsa-onboard failed with exit code $LASTEXITCODE."
ExitWithExitCode $LASTEXITCODE
@@ -80,11 +92,41 @@ try {
}
}
- if ($ArtifactToolsList -and $ArtifactToolsList.Count -gt 0) {
- & $(Join-Path $PSScriptRoot 'run-sdl.ps1') -GuardianCliLocation $guardianCliLocation -WorkingDirectory $workingDirectory -TargetDirectory $ArtifactsDirectory -GdnFolder $gdnFolder -ToolsList $ArtifactToolsList -AzureDevOpsAccessToken $AzureDevOpsAccessToken -UpdateBaseline $UpdateBaseline -GuardianLoggerLevel $GuardianLoggerLevel -CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams -PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams
+ # Configure a list of tools with a default target directory. Populates the ".gdn/r" directory.
+ function Configure-ToolsList([object[]] $tools, [string] $targetDirectory) {
+ if ($tools -and $tools.Count -gt 0) {
+ Exec-BlockVerbosely {
+ & $(Join-Path $PSScriptRoot 'configure-sdl-tool.ps1') `
+ -GuardianCliLocation $guardianCliLocation `
+ -WorkingDirectory $workingDirectory `
+ -TargetDirectory $targetDirectory `
+ -GdnFolder $gdnFolder `
+ -ToolsList $tools `
+ -AzureDevOpsAccessToken $AzureDevOpsAccessToken `
+ -GuardianLoggerLevel $GuardianLoggerLevel `
+ -CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams `
+ -PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams
+ if ($BreakOnFailure) {
+ Exit-IfNZEC "Sdl"
+ }
+ }
+ }
}
- if ($SourceToolsList -and $SourceToolsList.Count -gt 0) {
- & $(Join-Path $PSScriptRoot 'run-sdl.ps1') -GuardianCliLocation $guardianCliLocation -WorkingDirectory $workingDirectory -TargetDirectory $SourceDirectory -GdnFolder $gdnFolder -ToolsList $SourceToolsList -AzureDevOpsAccessToken $AzureDevOpsAccessToken -UpdateBaseline $UpdateBaseline -GuardianLoggerLevel $GuardianLoggerLevel -CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams -PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams
+
+ # Configure Artifact and Source tools with default Target directories.
+ Configure-ToolsList $ArtifactToolsList $ArtifactsDirectory
+ Configure-ToolsList $SourceToolsList $SourceDirectory
+ # Configure custom tools with no default Target directory.
+ Configure-ToolsList $CustomToolsList $null
+
+ # At this point, all tools are configured in the ".gdn" directory. Run them all in a single call.
+ # (If we used "run" multiple times, each run would overwrite data from earlier runs.)
+ Exec-BlockVerbosely {
+ & $(Join-Path $PSScriptRoot 'run-sdl.ps1') `
+ -GuardianCliLocation $guardianCliLocation `
+ -WorkingDirectory $workingDirectory `
+ -UpdateBaseline $UpdateBaseline `
+ -GdnFolder $gdnFolder
}
if ($TsaPublish) {
@@ -92,8 +134,9 @@ try {
if (-not $TsaRepositoryName) {
$TsaRepositoryName = "$($Repository)-$($BranchName)"
}
- Write-Host "$guardianCliLocation tsa-publish --all-tools --repository-name `"$TsaRepositoryName`" --branch-name `"$TsaBranchName`" --build-number `"$BuildNumber`" --codebase-name `"$TsaCodebaseName`" --notification-alias `"$TsaNotificationEmail`" --codebase-admin `"$TsaCodebaseAdmin`" --instance-url `"$TsaInstanceUrl`" --project-name `"$TsaProjectName`" --area-path `"$TsaBugAreaPath`" --iteration-path `"$TsaIterationPath`" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel"
- & $guardianCliLocation tsa-publish --all-tools --repository-name "$TsaRepositoryName" --branch-name "$TsaBranchName" --build-number "$BuildNumber" --onboard $True --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel
+ Exec-BlockVerbosely {
+ & $guardianCliLocation tsa-publish --all-tools --repository-name "$TsaRepositoryName" --branch-name "$TsaBranchName" --build-number "$BuildNumber" --onboard $True --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel
+ }
if ($LASTEXITCODE -ne 0) {
Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian tsa-publish failed with exit code $LASTEXITCODE."
ExitWithExitCode $LASTEXITCODE
@@ -106,7 +149,11 @@ try {
if ($BreakOnFailure) {
Write-Host "Failing the build in case of breaking results..."
- & $guardianCliLocation break
+ Exec-BlockVerbosely {
+ & $guardianCliLocation break --working-directory $workingDirectory --logger-level $GuardianLoggerLevel
+ }
+ } else {
+ Write-Host "Letting the build pass even if there were breaking results..."
}
}
catch {
diff --git a/eng/common/sdl/extract-artifact-archives.ps1 b/eng/common/sdl/extract-artifact-archives.ps1
new file mode 100644
index 00000000000..68da4fbf257
--- /dev/null
+++ b/eng/common/sdl/extract-artifact-archives.ps1
@@ -0,0 +1,63 @@
+# This script looks for each archive file in a directory and extracts it into the target directory.
+# For example, the file "$InputPath/bin.tar.gz" extracts to "$ExtractPath/bin.tar.gz.extracted/**".
+# Uses the "tar" utility added to Windows 10 / Windows 2019 that supports tar.gz and zip.
+param(
+ # Full path to directory where archives are stored.
+ [Parameter(Mandatory=$true)][string] $InputPath,
+ # Full path to directory to extract archives into. May be the same as $InputPath.
+ [Parameter(Mandatory=$true)][string] $ExtractPath
+)
+
+$ErrorActionPreference = 'Stop'
+Set-StrictMode -Version 2.0
+
+$disableConfigureToolsetImport = $true
+
+try {
+ # `tools.ps1` checks $ci to perform some actions. Since the SDL
+ # scripts don't necessarily execute in the same agent that run the
+ # build.ps1/sh script this variable isn't automatically set.
+ $ci = $true
+ . $PSScriptRoot\..\tools.ps1
+
+ Measure-Command {
+ $jobs = @()
+
+ # Find archive files for non-Windows and Windows builds.
+ $archiveFiles = @(
+ Get-ChildItem (Join-Path $InputPath "*.tar.gz")
+ Get-ChildItem (Join-Path $InputPath "*.zip")
+ )
+
+ foreach ($targzFile in $archiveFiles) {
+ $jobs += Start-Job -ScriptBlock {
+ $file = $using:targzFile
+ $fileName = [System.IO.Path]::GetFileName($file)
+ $extractDir = Join-Path $using:ExtractPath "$fileName.extracted"
+
+ New-Item $extractDir -ItemType Directory -Force | Out-Null
+
+ Write-Host "Extracting '$file' to '$extractDir'..."
+
+ # Pipe errors to stdout to prevent PowerShell detecting them and quitting the job early.
+ # This type of quit skips the catch, so we wouldn't be able to tell which file triggered the
+ # error. Save output so it can be stored in the exception string along with context.
+ $output = tar -xf $file -C $extractDir 2>&1
+ # Handle NZEC manually rather than using Exit-IfNZEC: we are in a background job, so we
+ # don't have access to the outer scope.
+ if ($LASTEXITCODE -ne 0) {
+ throw "Error extracting '$file': non-zero exit code ($LASTEXITCODE). Output: '$output'"
+ }
+
+ Write-Host "Extracted to $extractDir"
+ }
+ }
+
+ Receive-Job $jobs -Wait
+ }
+}
+catch {
+ Write-Host $_
+ Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_
+ ExitWithExitCode 1
+}
diff --git a/eng/common/sdl/run-sdl.ps1 b/eng/common/sdl/run-sdl.ps1
index 3d9c87aba6a..2eac8c78f10 100644
--- a/eng/common/sdl/run-sdl.ps1
+++ b/eng/common/sdl/run-sdl.ps1
@@ -1,13 +1,9 @@
Param(
[string] $GuardianCliLocation,
[string] $WorkingDirectory,
- [string] $TargetDirectory,
[string] $GdnFolder,
- [string[]] $ToolsList,
[string] $UpdateBaseline,
- [string] $GuardianLoggerLevel='Standard',
- [string[]] $CrScanAdditionalRunConfigParams,
- [string[]] $PoliCheckAdditionalRunConfigParams
+ [string] $GuardianLoggerLevel='Standard'
)
$ErrorActionPreference = 'Stop'
@@ -23,7 +19,6 @@ try {
. $PSScriptRoot\..\tools.ps1
# We store config files in the r directory of .gdn
- Write-Host $ToolsList
$gdnConfigPath = Join-Path $GdnFolder 'r'
$ValidPath = Test-Path $GuardianCliLocation
@@ -33,37 +28,18 @@ try {
ExitWithExitCode 1
}
- $configParam = @('--config')
-
- foreach ($tool in $ToolsList) {
- $gdnConfigFile = Join-Path $gdnConfigPath "$tool-configure.gdnconfig"
- Write-Host $tool
- # We have to manually configure tools that run on source to look at the source directory only
- if ($tool -eq 'credscan') {
- Write-Host "$GuardianCliLocation configure --working-directory $WorkingDirectory --tool $tool --output-path $gdnConfigFile --logger-level $GuardianLoggerLevel --noninteractive --force --args `" TargetDirectory < $TargetDirectory `" `" OutputType < pre `" $(If ($CrScanAdditionalRunConfigParams) {$CrScanAdditionalRunConfigParams})"
- & $GuardianCliLocation configure --working-directory $WorkingDirectory --tool $tool --output-path $gdnConfigFile --logger-level $GuardianLoggerLevel --noninteractive --force --args " TargetDirectory < $TargetDirectory " "OutputType < pre" $(If ($CrScanAdditionalRunConfigParams) {$CrScanAdditionalRunConfigParams})
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian configure for $tool failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- }
- if ($tool -eq 'policheck') {
- Write-Host "$GuardianCliLocation configure --working-directory $WorkingDirectory --tool $tool --output-path $gdnConfigFile --logger-level $GuardianLoggerLevel --noninteractive --force --args `" Target < $TargetDirectory `" $(If ($PoliCheckAdditionalRunConfigParams) {$PoliCheckAdditionalRunConfigParams})"
- & $GuardianCliLocation configure --working-directory $WorkingDirectory --tool $tool --output-path $gdnConfigFile --logger-level $GuardianLoggerLevel --noninteractive --force --args " Target < $TargetDirectory " $(If ($PoliCheckAdditionalRunConfigParams) {$PoliCheckAdditionalRunConfigParams})
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian configure for $tool failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- }
-
- $configParam+=$gdnConfigFile
- }
-
- Write-Host "$GuardianCliLocation run --working-directory $WorkingDirectory --baseline mainbaseline --update-baseline $UpdateBaseline --logger-level $GuardianLoggerLevel $configParam"
- & $GuardianCliLocation run --working-directory $WorkingDirectory --tool $tool --baseline mainbaseline --update-baseline $UpdateBaseline --logger-level $GuardianLoggerLevel $configParam
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian run for $ToolsList using $configParam failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
+ $gdnConfigFiles = Get-ChildItem $gdnConfigPath -Recurse -Include '*.gdnconfig'
+ Write-Host "Discovered Guardian config files:"
+ $gdnConfigFiles | Out-String | Write-Host
+
+ Exec-BlockVerbosely {
+ & $GuardianCliLocation run `
+ --working-directory $WorkingDirectory `
+ --baseline mainbaseline `
+ --update-baseline $UpdateBaseline `
+ --logger-level $GuardianLoggerLevel `
+ --config @gdnConfigFiles
+ Exit-IfNZEC "Sdl"
}
}
catch {
diff --git a/eng/common/templates/job/execute-sdl.yml b/eng/common/templates/job/execute-sdl.yml
index 4a32181fd8f..69eb67849d7 100644
--- a/eng/common/templates/job/execute-sdl.yml
+++ b/eng/common/templates/job/execute-sdl.yml
@@ -2,17 +2,41 @@ parameters:
enable: 'false' # Whether the SDL validation job should execute or not
overrideParameters: '' # Optional: to override values for parameters.
additionalParameters: '' # Optional: parameters that need user specific values eg: '-SourceToolsList @("abc","def") -ArtifactToolsList @("ghi","jkl")'
+ # Optional: if specified, restore and use this version of Guardian instead of the default.
+ overrideGuardianVersion: ''
+ # Optional: if true, publish the '.gdn' folder as a pipeline artifact. This can help with in-depth
+ # diagnosis of problems with specific tool configurations.
+ publishGuardianDirectoryToPipeline: false
+ # The script to run to execute all SDL tools. Use this if you want to use a script to define SDL
+ # parameters rather than relying on YAML. It may be better to use a local script, because you can
+ # reproduce results locally without piecing together a command based on the YAML.
+ executeAllSdlToolsScript: 'eng/common/sdl/execute-all-sdl-tools.ps1'
# There is some sort of bug (has been reported) in Azure DevOps where if this parameter is named
# 'continueOnError', the parameter value is not correctly picked up.
# This can also be remedied by the caller (post-build.yml) if it does not use a nested parameter
sdlContinueOnError: false # optional: determines whether to continue the build if the step errors;
- downloadArtifacts: true # optional: determines if the artifacts should be dowloaded
+ # optional: determines if build artifacts should be downloaded.
+ downloadArtifacts: true
+ # optional: determines if this job should search the directory of downloaded artifacts for
+ # 'tar.gz' and 'zip' archive files and extract them before running SDL validation tasks.
+ extractArchiveArtifacts: false
dependsOn: '' # Optional: dependencies of the job
artifactNames: '' # Optional: patterns supplied to DownloadBuildArtifacts
# Usage:
# artifactNames:
# - 'BlobArtifacts'
# - 'Artifacts_Windows_NT_Release'
+ # Optional: download a list of pipeline artifacts. 'downloadArtifacts' controls build artifacts,
+ # not pipeline artifacts, so doesn't affect the use of this parameter.
+ pipelineArtifactNames: []
+ # Optional: location and ID of the AzDO build that the build/pipeline artifacts should be
+ # downloaded from. By default, uses runtime expressions to decide based on the variables set by
+ # the 'setupMaestroVars' dependency. Overriding this parameter is necessary if SDL tasks are
+ # running without Maestro++/BAR involved, or to download artifacts from a specific existing build
+ # to iterate quickly on SDL changes.
+ AzDOProjectName: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
+ AzDOPipelineId: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
+ AzDOBuildId: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
jobs:
- job: Run_SDL
@@ -22,16 +46,29 @@ jobs:
variables:
- group: DotNet-VSTS-Bot
- name: AzDOProjectName
- value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
+ value: ${{ parameters.AzDOProjectName }}
- name: AzDOPipelineId
- value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
+ value: ${{ parameters.AzDOPipelineId }}
- name: AzDOBuildId
- value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
+ value: ${{ parameters.AzDOBuildId }}
+ # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
+ # sync with the packages.config file.
+ - name: DefaultGuardianVersion
+ value: 0.53.3
+ - name: GuardianVersion
+ value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }}
+ - name: GuardianPackagesConfigFile
+ value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
pool:
- name: Hosted VS2017
+ # To extract archives (.tar.gz, .zip), we need access to "tar", added in Windows 10/2019.
+ ${{ if eq(parameters.extractArchiveArtifacts, 'false') }}:
+ name: Hosted VS2017
+ ${{ if ne(parameters.extractArchiveArtifacts, 'false') }}:
+ vmImage: windows-2019
steps:
- checkout: self
clean: true
+
- ${{ if ne(parameters.downloadArtifacts, 'false')}}:
- ${{ if ne(parameters.artifactNames, '') }}:
- ${{ each artifactName in parameters.artifactNames }}:
@@ -59,16 +96,51 @@ jobs:
itemPattern: "**"
downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
checkDownloadedFiles: true
+
+ - ${{ each artifactName in parameters.pipelineArtifactNames }}:
+ - task: DownloadPipelineArtifact@2
+ displayName: Download Pipeline Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: ${{ artifactName }}
+ downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
+ checkDownloadedFiles: true
+
- powershell: eng/common/sdl/extract-artifact-packages.ps1
-InputPath $(Build.ArtifactStagingDirectory)\artifacts\BlobArtifacts
-ExtractPath $(Build.ArtifactStagingDirectory)\artifacts\BlobArtifacts
displayName: Extract Blob Artifacts
continueOnError: ${{ parameters.sdlContinueOnError }}
+
- powershell: eng/common/sdl/extract-artifact-packages.ps1
-InputPath $(Build.ArtifactStagingDirectory)\artifacts\PackageArtifacts
-ExtractPath $(Build.ArtifactStagingDirectory)\artifacts\PackageArtifacts
displayName: Extract Package Artifacts
continueOnError: ${{ parameters.sdlContinueOnError }}
+
+ - ${{ if ne(parameters.extractArchiveArtifacts, 'false') }}:
+ - powershell: eng/common/sdl/extract-artifact-archives.ps1
+ -InputPath $(Build.ArtifactStagingDirectory)\artifacts
+ -ExtractPath $(Build.ArtifactStagingDirectory)\artifacts
+ displayName: Extract Archive Artifacts
+ continueOnError: ${{ parameters.sdlContinueOnError }}
+
+ - ${{ if ne(parameters.overrideGuardianVersion, '') }}:
+ - powershell: |
+ $content = Get-Content $(GuardianPackagesConfigFile)
+
+ Write-Host "packages.config content was:`n$content"
+
+ $content = $content.Replace('$(DefaultGuardianVersion)', '$(GuardianVersion)')
+ $content | Set-Content $(GuardianPackagesConfigFile)
+
+ Write-Host "packages.config content updated to:`n$content"
+ displayName: Use overridden Guardian version ${{ parameters.overrideGuardianVersion }}
+
- task: NuGetToolInstaller@1
displayName: 'Install NuGet.exe'
- task: NuGetCommand@2
@@ -79,15 +151,35 @@ jobs:
nugetConfigPath: $(Build.SourcesDirectory)\eng\common\sdl\NuGet.config
externalFeedCredentials: GuardianConnect
restoreDirectory: $(Build.SourcesDirectory)\.packages
+
- ${{ if ne(parameters.overrideParameters, '') }}:
- - powershell: eng/common/sdl/execute-all-sdl-tools.ps1 ${{ parameters.overrideParameters }}
+ - powershell: ${{ parameters.executeAllSdlToolsScript }} ${{ parameters.overrideParameters }}
displayName: Execute SDL
continueOnError: ${{ parameters.sdlContinueOnError }}
- ${{ if eq(parameters.overrideParameters, '') }}:
- - powershell: eng/common/sdl/execute-all-sdl-tools.ps1
- -GuardianPackageName Microsoft.Guardian.Cli.0.53.3
+ - powershell: ${{ parameters.executeAllSdlToolsScript }}
+ -GuardianPackageName Microsoft.Guardian.Cli.$(GuardianVersion)
-NugetPackageDirectory $(Build.SourcesDirectory)\.packages
-AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw)
${{ parameters.additionalParameters }}
displayName: Execute SDL
continueOnError: ${{ parameters.sdlContinueOnError }}
+
+ - ${{ if ne(parameters.publishGuardianDirectoryToPipeline, 'false') }}:
+ # We want to publish the Guardian results and configuration for easy diagnosis. However, the
+ # '.gdn' dir is a mix of configuration, results, extracted dependencies, and Guardian default
+ # tooling files. Some of these files are large and aren't useful during an investigation, so
+ # exclude them by simply deleting them before publishing. (As of writing, there is no documented
+ # way to selectively exclude a dir from the pipeline artifact publish task.)
+ - task: DeleteFiles@1
+ displayName: Delete Guardian dependencies to avoid uploading
+ inputs:
+ SourceFolder: $(Agent.BuildDirectory)/.gdn
+ Contents: |
+ c
+ i
+ condition: succeededOrFailed()
+ - publish: $(Agent.BuildDirectory)/.gdn
+ artifact: GuardianConfiguration
+ displayName: Publish GuardianConfiguration
+ condition: succeededOrFailed()
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 2df0909937d..5d526c74d51 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -106,6 +106,46 @@ function Exec-Process([string]$command, [string]$commandArgs) {
}
}
+# Take the given block, print it, print what the block probably references from the current set of
+# variables using low-effort string matching, then run the block.
+#
+# This is intended to replace the pattern of manually copy-pasting a command, wrapping it in quotes,
+# and printing it using "Write-Host". The copy-paste method is more readable in build logs, but less
+# maintainable and less reliable. It is easy to make a mistake and modify the command without
+# properly updating the "Write-Host" line, resulting in misleading build logs. The probability of
+# this mistake makes the pattern hard to trust when it shows up in build logs. Finding the bug in
+# existing source code can also be difficult, because the strings are not aligned to each other and
+# the line may be 300+ columns long.
+#
+# By removing the need to maintain two copies of the command, Exec-BlockVerbosely avoids the issues.
+#
+# In Bash (or any posix-like shell), "set -x" prints usable verbose output automatically.
+# "Set-PSDebug" appears to be similar at first glance, but unfortunately, it isn't very useful: it
+# doesn't print any info about the variables being used by the command, which is normally the
+# interesting part to diagnose.
+function Exec-BlockVerbosely([scriptblock] $block) {
+ Write-Host "--- Running script block:"
+ $blockString = $block.ToString().Trim()
+ Write-Host $blockString
+
+ Write-Host "--- List of variables that might be used:"
+ # For each variable x in the environment, check the block for a reference to x via simple "$x" or
+ # "@x" syntax. This doesn't detect other ways to reference variables ("${x}" nor "$variable:x",
+ # among others). It only catches what this function was originally written for: simple
+ # command-line commands.
+ $variableTable = Get-Variable |
+ Where-Object {
+ $blockString.Contains("`$$($_.Name)") -or $blockString.Contains("@$($_.Name)")
+ } |
+ Format-Table -AutoSize -HideTableHeaders -Wrap |
+ Out-String
+ Write-Host $variableTable.Trim()
+
+ Write-Host "--- Executing:"
+ & $block
+ Write-Host "--- Done running script block!"
+}
+
# createSdkLocationFile parameter enables a file being generated under the toolset directory
# which writes the sdk's location into. This is only necessary for cmd --> powershell invocations
# as dot sourcing isn't possible.
@@ -632,6 +672,17 @@ function ExitWithExitCode([int] $exitCode) {
exit $exitCode
}
+# Check if $LASTEXITCODE is a nonzero exit code (NZEC). If so, print a Azure Pipeline error for
+# diagnostics, then exit the script with the $LASTEXITCODE.
+function Exit-IfNZEC([string] $category = "General") {
+ Write-Host "Exit code $LASTEXITCODE"
+ if ($LASTEXITCODE -ne 0) {
+ $message = "Last command failed with exit code $LASTEXITCODE."
+ Write-PipelineTelemetryError -Force -Category $category -Message $message
+ ExitWithExitCode $LASTEXITCODE
+ }
+}
+
function Stop-Processes() {
Write-Host 'Killing running build processes...'
foreach ($processName in $processesToStopOnExit) {
diff --git a/global.json b/global.json
index 0d4aa88a2e7..312cc40364d 100644
--- a/global.json
+++ b/global.json
@@ -13,7 +13,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21363.2",
+ "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21364.3",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
diff --git a/src/fsharp/FSharp.Core/async.fs b/src/fsharp/FSharp.Core/async.fs
index 6fb92fe5c1d..6afa26489de 100644
--- a/src/fsharp/FSharp.Core/async.fs
+++ b/src/fsharp/FSharp.Core/async.fs
@@ -156,27 +156,45 @@ namespace Microsoft.FSharp.Control
assert storedExnCont.IsNone
storedExnCont <- Some action
- type TrampolineHolder() as this =
+ type TrampolineHolder() =
let mutable trampoline = null
- // Preallocate this delegate and keep it in the trampoline holder.
- let sendOrPostCallbackWithTrampoline =
- SendOrPostCallback (fun o ->
- let f = unbox AsyncReturn> o
- // Reminder: the ignore below ignores an AsyncReturn.
- this.ExecuteWithTrampoline f |> ignore)
-
- // Preallocate this delegate and keep it in the trampoline holder.
- let waitCallbackForQueueWorkItemWithTrampoline =
- WaitCallback (fun o ->
- let f = unbox AsyncReturn> o
- this.ExecuteWithTrampoline f |> ignore)
-
- // Preallocate this delegate and keep it in the trampoline holder.
- let threadStartCallbackForStartThreadWithTrampoline =
- ParameterizedThreadStart (fun o ->
- let f = unbox AsyncReturn> o
- this.ExecuteWithTrampoline f |> ignore)
+ // On-demand allocate this delegate and keep it in the trampoline holder.
+ let mutable sendOrPostCallbackWithTrampoline : SendOrPostCallback = null
+ let getSendOrPostCallbackWithTrampoline(this: TrampolineHolder) =
+ match sendOrPostCallbackWithTrampoline with
+ | null ->
+ sendOrPostCallbackWithTrampoline <-
+ SendOrPostCallback (fun o ->
+ let f = unbox AsyncReturn> o
+ // Reminder: the ignore below ignores an AsyncReturn.
+ this.ExecuteWithTrampoline f |> ignore)
+ | _ -> ()
+ sendOrPostCallbackWithTrampoline
+
+ // On-demand allocate this delegate and keep it in the trampoline holder.
+ let mutable waitCallbackForQueueWorkItemWithTrampoline : WaitCallback = null
+ let getWaitCallbackForQueueWorkItemWithTrampoline(this: TrampolineHolder) =
+ match waitCallbackForQueueWorkItemWithTrampoline with
+ | null ->
+ waitCallbackForQueueWorkItemWithTrampoline <-
+ WaitCallback (fun o ->
+ let f = unbox AsyncReturn> o
+ this.ExecuteWithTrampoline f |> ignore)
+ | _ -> ()
+ waitCallbackForQueueWorkItemWithTrampoline
+
+ // On-demand allocate this delegate and keep it in the trampoline holder.
+ let mutable threadStartCallbackForStartThreadWithTrampoline : ParameterizedThreadStart = null
+ let getThreadStartCallbackForStartThreadWithTrampoline(this: TrampolineHolder) =
+ match threadStartCallbackForStartThreadWithTrampoline with
+ | null ->
+ threadStartCallbackForStartThreadWithTrampoline <-
+ ParameterizedThreadStart (fun o ->
+ let f = unbox AsyncReturn> o
+ this.ExecuteWithTrampoline f |> ignore)
+ | _ -> ()
+ threadStartCallbackForStartThreadWithTrampoline
/// Execute an async computation after installing a trampoline on its synchronous stack.
[]
@@ -184,12 +202,12 @@ namespace Microsoft.FSharp.Control
trampoline <- Trampoline()
trampoline.Execute firstAction
- member _.PostWithTrampoline (syncCtxt: SynchronizationContext) (f: unit -> AsyncReturn) =
- syncCtxt.Post (sendOrPostCallbackWithTrampoline, state=(f |> box))
+ member this.PostWithTrampoline (syncCtxt: SynchronizationContext) (f: unit -> AsyncReturn) =
+ syncCtxt.Post (getSendOrPostCallbackWithTrampoline(this), state=(f |> box))
AsyncReturn.Fake()
- member _.QueueWorkItemWithTrampoline (f: unit -> AsyncReturn) =
- if not (ThreadPool.QueueUserWorkItem(waitCallbackForQueueWorkItemWithTrampoline, f |> box)) then
+ member this.QueueWorkItemWithTrampoline (f: unit -> AsyncReturn) =
+ if not (ThreadPool.QueueUserWorkItem(getWaitCallbackForQueueWorkItemWithTrampoline(this), f |> box)) then
failwith "failed to queue user work item"
AsyncReturn.Fake()
@@ -199,8 +217,8 @@ namespace Microsoft.FSharp.Control
| _ -> this.PostWithTrampoline syncCtxt f
// This should be the only call to Thread.Start in this library. We must always install a trampoline.
- member _.StartThreadWithTrampoline (f: unit -> AsyncReturn) =
- Thread(threadStartCallbackForStartThreadWithTrampoline, IsBackground=true).Start(f|>box)
+ member this.StartThreadWithTrampoline (f: unit -> AsyncReturn) =
+ Thread(getThreadStartCallbackForStartThreadWithTrampoline(this), IsBackground=true).Start(f|>box)
AsyncReturn.Fake()
/// Save the exception continuation during propagation of an exception, or prior to raising an exception
@@ -287,18 +305,26 @@ namespace Microsoft.FSharp.Control
contents.aux.ccont (OperationCanceledException (contents.aux.token))
/// Check for trampoline hijacking.
- member inline _.HijackCheckThenCall cont arg =
- contents.aux.trampolineHolder.HijackCheckThenCall cont arg
+ // Note, this must make tailcalls, so may not be an instance member taking a byref argument,
+ /// nor call any members taking byref arguments.
+ static member inline HijackCheckThenCall (ctxt: AsyncActivation<'T>) cont arg =
+ ctxt.aux.trampolineHolder.HijackCheckThenCall cont arg
/// Call the success continuation of the asynchronous execution context after checking for
/// cancellation and trampoline hijacking.
// - Cancellation check
// - Hijack check
- member ctxt.OnSuccess result =
+ //
+ // Note, this must make tailcalls, so may not be an instance member taking a byref argument.
+ static member Success (ctxt: AsyncActivation<'T>) result =
if ctxt.IsCancellationRequested then
ctxt.OnCancellation ()
else
- ctxt.HijackCheckThenCall ctxt.cont result
+ AsyncActivation<'T>.HijackCheckThenCall ctxt ctxt.cont result
+
+ // For backwards API Compat
+ []
+ member ctxt.OnSuccess (result: 'T) = AsyncActivation<'T>.Success ctxt result
/// Save the exception continuation during propagation of an exception, or prior to raising an exception
member _.OnExceptionRaised() =
@@ -381,7 +407,7 @@ namespace Microsoft.FSharp.Control
// Note: direct calls to this function may end up in user assemblies via inlining
[]
let Invoke (computation: Async<'T>) (ctxt: AsyncActivation<_>) : AsyncReturn =
- ctxt.HijackCheckThenCall computation.Invoke ctxt
+ AsyncActivation<'T>.HijackCheckThenCall ctxt computation.Invoke ctxt
/// Apply 'userCode' to 'arg'. If no exception is raised then call the normal continuation. Used to implement
/// 'finally' and 'when cancelled'.
@@ -401,7 +427,7 @@ namespace Microsoft.FSharp.Control
ctxt.OnExceptionRaised()
if ok then
- ctxt.HijackCheckThenCall ctxt.cont result
+ AsyncActivation<'T>.HijackCheckThenCall ctxt ctxt.cont result
else
fake()
@@ -466,7 +492,7 @@ namespace Microsoft.FSharp.Control
if ok then
match resOpt with
| None ->
- ctxt.HijackCheckThenCall ctxt.econt edi
+ AsyncActivation<'T>.HijackCheckThenCall ctxt ctxt.econt edi
| Some res ->
Invoke res ctxt
else
@@ -569,7 +595,7 @@ namespace Microsoft.FSharp.Control
/// - Hijack check (see OnSuccess)
let inline CreateReturnAsync res =
// Note: this code ends up in user assemblies via inlining
- MakeAsync (fun ctxt -> ctxt.OnSuccess res)
+ MakeAsync (fun ctxt -> AsyncActivation.Success ctxt res)
/// Runs the first process, takes its result, applies f and then runs the new process produced.
/// - Initial cancellation check (see Bind)
diff --git a/src/fsharp/FSharp.Core/async.fsi b/src/fsharp/FSharp.Core/async.fsi
index a49c75d8ec2..4f9f765bf6f 100644
--- a/src/fsharp/FSharp.Core/async.fsi
+++ b/src/fsharp/FSharp.Core/async.fsi
@@ -622,7 +622,12 @@ namespace Microsoft.FSharp.Control
/// The F# compiler emits calls to this function to implement F# async expressions.
///
/// A value indicating asynchronous execution.
- member OnSuccess: 'T -> AsyncReturn
+ static member Success: AsyncActivation<'T> -> result: 'T -> AsyncReturn
+
+ /// The F# compiler emits calls to this function to implement F# async expressions.
+ ///
+ /// A value indicating asynchronous execution.
+ member OnSuccess: result: 'T -> AsyncReturn
/// The F# compiler emits calls to this function to implement F# async expressions.
member OnExceptionRaised: unit -> unit
diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs
index c6cfd777215..98547b3dba8 100644
--- a/src/fsharp/IlxGen.fs
+++ b/src/fsharp/IlxGen.fs
@@ -3418,7 +3418,7 @@ and GenApp (cenv: cenv) cgbuf eenv (f, fty, tyargs, curriedArgs, m) sequel =
// For instance method calls chop off some type arguments, which are already
// carried by the class. Also work out if it's a virtual call.
- let _, virtualCall, newobj, isSuperInit, isSelfInit, _, _, _ = GetMemberCallInfo g (vref, valUseFlags)
+ let _, virtualCall, newobj, isSuperInit, isSelfInit, takesInstanceArg, _, _ = GetMemberCallInfo g (vref, valUseFlags)
// numEnclILTypeArgs will include unit-of-measure args, unfortunately. For now, just cut-and-paste code from GetMemberCallInfo
// @REVIEW: refactor this
@@ -3450,7 +3450,8 @@ and GenApp (cenv: cenv) cgbuf eenv (f, fty, tyargs, curriedArgs, m) sequel =
let isDllImport = IsValRefIsDllImport g vref
let hasByrefArg = mspec.FormalArgTypes |> List.exists (function ILType.Byref _ -> true | _ -> false)
let makesNoCriticalTailcalls = vref.MakesNoCriticalTailcalls
- CanTailcall((boxity=AsValue), ccallInfo, eenv.withinSEH, hasByrefArg, mustGenerateUnitAfterCall, isDllImport, isSelfInit, makesNoCriticalTailcalls, sequel)
+ let hasStructObjArg = (boxity=AsValue) && takesInstanceArg
+ CanTailcall(hasStructObjArg, ccallInfo, eenv.withinSEH, hasByrefArg, mustGenerateUnitAfterCall, isDllImport, isSelfInit, makesNoCriticalTailcalls, sequel)
else
Normalcall
@@ -4196,7 +4197,8 @@ and GenILCall cenv cgbuf eenv (virt, valu, newobj, valUseFlags, isDllImport, ilM
let boxity = (if valu then AsValue else AsObject)
let mustGenerateUnitAfterCall = isNil returnTys
let makesNoCriticalTailcalls = (newobj || not virt) // Don't tailcall for 'newobj', or 'call' to IL code
- let tail = CanTailcall(valu, ccallInfo, eenv.withinSEH, hasByrefArg, mustGenerateUnitAfterCall, isDllImport, false, makesNoCriticalTailcalls, sequel)
+ let hasStructObjArg = valu && ilMethRef.CallingConv.IsInstance
+ let tail = CanTailcall(hasStructObjArg, ccallInfo, eenv.withinSEH, hasByrefArg, mustGenerateUnitAfterCall, isDllImport, false, makesNoCriticalTailcalls, sequel)
let ilEnclArgTys = GenTypeArgs cenv.amap m eenv.tyenv enclArgTys
let ilMethArgTys = GenTypeArgs cenv.amap m eenv.tyenv methArgTys
diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx
index 0cf23b4b295..ea49f9a44db 100644
--- a/src/scripts/scriptlib.fsx
+++ b/src/scripts/scriptlib.fsx
@@ -77,7 +77,6 @@ module Scripting =
if Directory.Exists output then
Directory.Delete(output, true)
-
let log format = printfn format
type FilePath = string
diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/noframework.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/noframework.fs
index e52b1f858d3..6896ac69cf8 100644
--- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/noframework.fs
+++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/noframework.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.CompilerOptions.fsc
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module noframework =
diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/platform.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/platform.fs
index 74dd2b054bd..3b5950cf382 100644
--- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/platform.fs
+++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/platform.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.CompilerOptions.fsc
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module platform =
diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times.fs
index 229b1ecf773..37d7ac658ef 100644
--- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times.fs
+++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.CompilerOptions.fsc
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module times =
diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/warn.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/warn.fs
index 764bed584e4..48061544e8b 100644
--- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/warn.fs
+++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/warn.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.CompilerOptions.fsc
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module warn =
diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/warnon.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/warnon.fs
index 7200cb0a15d..194c2036e07 100644
--- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/warnon.fs
+++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/warnon.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.CompilerOptions.fsc
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module warnon =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/RecordTypes.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/RecordTypes.fs
index 14f887532ec..ec1f6a722c7 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/RecordTypes.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/RecordTypes.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.BasicTypeAndModuleDefinitions
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module RecordTypes =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/UnionTypes.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/UnionTypes.fs
index fb70f58977f..d2ee6687619 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/UnionTypes.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicTypeAndModuleDefinitions/UnionTypes.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.BasicTypeAndModuleDefinitions
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module UnionTypes =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/LetBindings/TypeFunctions.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/LetBindings/TypeFunctions.fs
index 1ec68ea6bf5..d21051f8613 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/LetBindings/TypeFunctions.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/LetBindings/TypeFunctions.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.DeclarationElements.LetBindings
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module TypeFunctions =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/LetBindings/UseBindings.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/LetBindings/UseBindings.fs
index 7cabf8b5e20..05aebe01310 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/LetBindings/UseBindings.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/LetBindings/UseBindings.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.DeclarationElements.LetBindings
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module UseBindings =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ApplicationExpressions/BasicApplication.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ApplicationExpressions/BasicApplication.fs
index e1022ab2d42..e6b97128784 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ApplicationExpressions/BasicApplication.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ApplicationExpressions/BasicApplication.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.Expressions.ApplicationExpressions
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module BasicApplication =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching.fs
index ad453ce8e4a..aac0747b6f2 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.Expressions.ControlFlowExpressions
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module PatternMatching =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/SequenceIteration.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/SequenceIteration.fs
index f78d51c0399..6c02b2e15c3 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/SequenceIteration.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/SequenceIteration.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.Expressions.ControlFlowExpressions
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module SequenceIteration =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/Type-relatedExpressions.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/Type-relatedExpressions.fs
index 4887c3bdec8..374e6b49797 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/Type-relatedExpressions.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/Type-relatedExpressions.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.Expressions
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module TyperelatedExpressions =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis.fs
index 9e62e06049e..8a3c6ca0924 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.InferenceProcedures
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module RecursiveSafetyAnalysis =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/Comments.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/Comments.fs
index 534315b52f7..0410f5cc3e4 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/Comments.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/Comments.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.LexicalAnalysis
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module Comments =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/NumericLiterals.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/NumericLiterals.fs
index 8139f26d2e6..6d654432ec5 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/NumericLiterals.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/NumericLiterals.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.LexicalAnalysis
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module NumericLiterals =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/Shift/Generics.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/Shift/Generics.fs
index 8d9462dcf60..1196518ca07 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/Shift/Generics.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/Shift/Generics.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.LexicalAnalysis.Shift
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module Generics =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicKeywords.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicKeywords.fs
index b73275378c7..0c4095e15fa 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicKeywords.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicKeywords.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.LexicalAnalysis
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module SymbolicKeywords =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs
index 948fdfe463b..1c9eccdf010 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalAnalysis/SymbolicOperators.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.LexicalAnalysis
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module SymbolicOperators =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/Basic/OffsideExceptions.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/Basic/OffsideExceptions.fs
index 1ca4583fa3b..343bf9278b7 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/Basic/OffsideExceptions.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/Basic/OffsideExceptions.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.LexicalFiltering.Basic
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module OffsideExceptions =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/HashLight.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/HashLight.fs
index 4c1e90115eb..1d1b1b0c821 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/HashLight.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/HashLight.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.LexicalFiltering
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module HashLight =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/HighPrecedenceApplication.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/HighPrecedenceApplication.fs
index 191f4ef6201..738aa01e10c 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/HighPrecedenceApplication.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/HighPrecedenceApplication.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.LexicalFiltering
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module HighPrecedenceApplication =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ExplicitObjectConstructors.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ExplicitObjectConstructors.fs
index 1ed2ce05d71..72cc5fdf664 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ExplicitObjectConstructors.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ExplicitObjectConstructors.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.ObjectOrientedTypeDefinitions.ClassTypes
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module ExplicitObjectConstructors =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ImplicitObjectConstructors.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ImplicitObjectConstructors.fs
index a5e58a018ea..a8e9cd50045 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ImplicitObjectConstructors.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ImplicitObjectConstructors.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.ObjectOrientedTypeDefinitions.ClassTypes
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module ImplicitObjectConstructors =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ValueRestriction.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ValueRestriction.fs
index e1cc954cf6a..de513935d5c 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ValueRestriction.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ValueRestriction.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.ObjectOrientedTypeDefinitions.ClassTypes
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module ValueRestriction =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/StructTypes.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/StructTypes.fs
index ae5cdb74226..03b071572ef 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/StructTypes.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/ObjectOrientedTypeDefinitions/StructTypes.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.ObjectOrientedTypeDefinitions
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module StructTypes =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple.fs
index 62eeaf555f7..1f98b0a96dd 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.PatternMatching
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module Simple =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes.fs
index ab45cbb081c..e6813ecf1b6 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.TypesAndTypeConstraints
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module CheckingSyntacticTypes =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes.fs
index a69052c3e6a..ddf8f623d94 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.TypesAndTypeConstraints
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module LogicalPropertiesOfTypes =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic.fs
index b4d3a58d83c..a926fc8f133 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.UnitsOfMeasure
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module Basic =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics.fs
index cf9582618c3..e0ae16cf126 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.UnitsOfMeasure
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module Diagnostics =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing.fs
index d6e0ac1617d..c4a4596685b 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.UnitsOfMeasure
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module Parsing =
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker.fs
index 9c265230fcf..8b3d372a796 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Conformance.UnitsOfMeasure
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module TypeChecker =
diff --git a/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/MemberConstraints.fs b/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/MemberConstraints.fs
index fdb999aae65..91fe1591534 100644
--- a/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/MemberConstraints.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/MemberConstraints.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ConstraintSolver
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module MemberConstraints =
diff --git a/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/PrimitiveConstraints.fs b/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/PrimitiveConstraints.fs
index a366074e20a..cf1a6723694 100644
--- a/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/PrimitiveConstraints.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/PrimitiveConstraints.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.ConstraintSolver
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module PrimitiveConstraints =
diff --git a/tests/FSharp.Compiler.ComponentTests/Diagnostics/General.fs b/tests/FSharp.Compiler.ComponentTests/Diagnostics/General.fs
index 0502e22328b..295204c1cea 100644
--- a/tests/FSharp.Compiler.ComponentTests/Diagnostics/General.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Diagnostics/General.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Diagnostics
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module General =
diff --git a/tests/FSharp.Compiler.ComponentTests/Diagnostics/async.fs b/tests/FSharp.Compiler.ComponentTests/Diagnostics/async.fs
index 4990302b72f..d868564e980 100644
--- a/tests/FSharp.Compiler.ComponentTests/Diagnostics/async.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Diagnostics/async.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.Diagnostics
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module async =
diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Literals.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Literals.fs
index 880c131a194..40092066b38 100644
--- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Literals.fs
+++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Literals.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.EmittedIL
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Literals`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc.fs
index 88410a24e11..e54703e961d 100644
--- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc.fs
+++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.EmittedIL
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Misc`` =
[]
diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Operators.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Operators.fs
index d642f5e8566..a0224fad564 100644
--- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Operators.fs
+++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Operators.fs
@@ -2,8 +2,8 @@
namespace FSharp.Compiler.ComponentTests.EmittedIL
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module Operators =
diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SkipLocalsInit.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SkipLocalsInit.fs
index cd484f2cfe7..d544eb3298c 100644
--- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SkipLocalsInit.fs
+++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SkipLocalsInit.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.EmittedIL
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
#if NETCOREAPP
module ``SkipLocalsInit`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StringFormatAndInterpolation.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StringFormatAndInterpolation.fs
index 716568cf837..9734e06935b 100644
--- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StringFormatAndInterpolation.fs
+++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StringFormatAndInterpolation.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.EmittedIL
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``StringFormatAndInterpolation`` =
[]
diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TailCalls.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TailCalls.fs
index e52d32d4ad5..2e37d06e92a 100644
--- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TailCalls.fs
+++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TailCalls.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.EmittedIL
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Tail Calls`` =
// Regression test for DevDiv:72571
diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TupleElimination.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TupleElimination.fs
index a83e71a1960..38a86274de6 100644
--- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TupleElimination.fs
+++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TupleElimination.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.EmittedIL
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``TupleElimination`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/AccessOfTypeAbbreviationTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/AccessOfTypeAbbreviationTests.fs
index 623244da2f5..758ef242087 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/AccessOfTypeAbbreviationTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/AccessOfTypeAbbreviationTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
open FSharp.Compiler.Diagnostics
module ``Access Of Type Abbreviation`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/AssignmentErrorTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/AssignmentErrorTests.fs
index dd986cf5009..cd7265df829 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/AssignmentErrorTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/AssignmentErrorTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Errors assigning to mutable objects`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ClassesTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ClassesTests.fs
index e1941a3d7eb..11e2efef68a 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ClassesTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ClassesTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Classes`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ConfusingTypeName.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ConfusingTypeName.fs
index 4e56519ffa6..3bdd41b9795 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ConfusingTypeName.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ConfusingTypeName.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Confusing Type Name`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ConstructorTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ConstructorTests.fs
index 5b0c17da33e..2c591762443 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ConstructorTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ConstructorTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Constructor`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/DontSuggestTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/DontSuggestTests.fs
index d1511da554c..c65b02db61f 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/DontSuggestTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/DontSuggestTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Don't Suggest`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ElseBranchHasWrongTypeTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ElseBranchHasWrongTypeTests.fs
index 7cbb911248e..250fc8f674b 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ElseBranchHasWrongTypeTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ElseBranchHasWrongTypeTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Else branch has wrong type`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidLiteralTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidLiteralTests.fs
index fb44f2b717b..bf6630b4313 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidLiteralTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidLiteralTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Invalid literals`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidNumericLiteralTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidNumericLiteralTests.fs
index caf05fb29e6..90cf5dd9db1 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidNumericLiteralTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidNumericLiteralTests.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test
+open FSharp.Test.Compiler
open FSharp.Compiler.Diagnostics
open FSharp.Compiler.AbstractIL
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/MissingElseBranch.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/MissingElseBranch.fs
index 07a40b5c9a0..ca414c212b5 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/MissingElseBranch.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/MissingElseBranch.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Else branch is missing`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/MissingExpressionTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/MissingExpressionTests.fs
index f91d8b3d683..ec18fb6152d 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/MissingExpressionTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/MissingExpressionTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Missing Expression`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ModuleTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ModuleTests.fs
index f96f59a9ce2..f664c614de0 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ModuleTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/ModuleTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module Modules =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/NameResolutionTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/NameResolutionTests.fs
index 016bbdcadce..74f62a1c3be 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/NameResolutionTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/NameResolutionTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module NameResolutionTests =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/SuggestionsTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/SuggestionsTests.fs
index abdc7b92ca1..85a5dbf6dbb 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/SuggestionsTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/SuggestionsTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module Suggestions =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TypeEqualsMissingTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TypeEqualsMissingTests.fs
index 63a16ff2a71..3dacfbfde6e 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TypeEqualsMissingTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TypeEqualsMissingTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TypeMismatchTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TypeMismatchTests.fs
index 0d2d1152c88..4326a4a2a3d 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TypeMismatchTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/TypeMismatchTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Type Mismatch`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UnitGenericAbstactType.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UnitGenericAbstactType.fs
index 2b244e12150..1591220d021 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UnitGenericAbstactType.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UnitGenericAbstactType.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Unit generic abstract Type`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UnsupportedAttributes.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UnsupportedAttributes.fs
index ed112bac76c..439b0bd7bdb 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UnsupportedAttributes.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UnsupportedAttributes.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.ComponentTests.ErrorMessages
#if NETCOREAPP
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Unsupported Attributes`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UpcastDowncastTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UpcastDowncastTests.fs
index 61fcaadf12d..e336d7b10aa 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UpcastDowncastTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/UpcastDowncastTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Upcast and Downcast`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs
index 1380869d383..3e7768efb94 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Warn Expression`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WrongSyntaxInForLoop.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WrongSyntaxInForLoop.fs
index 89e3707c243..037624160a1 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WrongSyntaxInForLoop.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WrongSyntaxInForLoop.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.ErrorMessages
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Wrong syntax in for loop`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/Interop/SimpleInteropTests.fs b/tests/FSharp.Compiler.ComponentTests/Interop/SimpleInteropTests.fs
index 2d1b2e0fcb9..a2a018a64bb 100644
--- a/tests/FSharp.Compiler.ComponentTests/Interop/SimpleInteropTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Interop/SimpleInteropTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.Interop
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Simple interop verification`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/Interop/VisibilityTests.fs b/tests/FSharp.Compiler.ComponentTests/Interop/VisibilityTests.fs
index 4563644abd6..ab6425d2052 100644
--- a/tests/FSharp.Compiler.ComponentTests/Interop/VisibilityTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Interop/VisibilityTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.ComponentTests.Interop
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Verify visibility of properties`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/AttributeCheckingTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/AttributeCheckingTests.fs
index 20b75ea9a36..7b94f335e58 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/AttributeCheckingTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/AttributeCheckingTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.AttributeChecking
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module AttributeCheckingTests =
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/CastingTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/CastingTests.fs
index eea1385a6ae..c85c571d0fe 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/CastingTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/CastingTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module CastingTests =
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs
index ca49fdfa13b..45ab0678529 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.Language
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
open FSharp.Quotations.Patterns
module CodeQuotationsTests =
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/CompilerDirectiveTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/CompilerDirectiveTests.fs
index 0237a6d4d83..362e6f06c6c 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/CompilerDirectiveTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/CompilerDirectiveTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.Language
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Test Compiler Directives`` =
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/ComputationExpressionTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/ComputationExpressionTests.fs
index 95f036d4ca2..52a4ccabe4c 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/ComputationExpressionTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/ComputationExpressionTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.Language
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ComputationExpressionTests =
[]
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/RegressionTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/RegressionTests.fs
index 4e878fddae5..81e55158788 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/RegressionTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/RegressionTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.Language
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module RegressionTests =
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/XmlComments.fs b/tests/FSharp.Compiler.ComponentTests/Language/XmlComments.fs
index c1caf715618..fc554d1fcc9 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/XmlComments.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/XmlComments.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.XmlComments
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module XmlCommentChecking =
diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs
index 774d2085b1f..86c45c9556e 100644
--- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs
+++ b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.OCamlCompat
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module OCamlCompat =
diff --git a/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs b/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs
index a1eb8fa8842..efdd5918cb4 100644
--- a/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.ComponentTests.Scripting
open Xunit
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
module ``Interactive tests`` =
[]
diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/CheckDeclarationsTests.fs b/tests/FSharp.Compiler.ComponentTests/TypeChecks/CheckDeclarationsTests.fs
index 9330c00748a..636c9d31ddd 100644
--- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/CheckDeclarationsTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/CheckDeclarationsTests.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.ComponentTests.CheckDeclarationsTests
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module CheckDeclarationsTests =
diff --git a/tests/FSharp.Compiler.UnitTests/AssemblySigningAttributes.fs b/tests/FSharp.Compiler.UnitTests/AssemblySigningAttributes.fs
index 450c3b771de..333dd3c6a9a 100644
--- a/tests/FSharp.Compiler.UnitTests/AssemblySigningAttributes.fs
+++ b/tests/FSharp.Compiler.UnitTests/AssemblySigningAttributes.fs
@@ -3,9 +3,9 @@
namespace FSharp.Compiler.UnitTests
open Xunit
-open FSharp.Test.Utilities.Compiler
-open FSharp.Test.Utilities.Xunit.Attributes
-open FSharp.Test.Utilities
+open FSharp.Test
+open FSharp.Test.Compiler
+open FSharp.Test.Xunit.Attributes
module AssemblySigning =
diff --git a/tests/FSharp.Compiler.UnitTests/BlockTests.fs b/tests/FSharp.Compiler.UnitTests/BlockTests.fs
index e4f4bdd29fd..08a718f5244 100644
--- a/tests/FSharp.Compiler.UnitTests/BlockTests.fs
+++ b/tests/FSharp.Compiler.UnitTests/BlockTests.fs
@@ -2,7 +2,7 @@
namespace FSharp.Compiler.UnitTests
open Xunit
-open FSharp.Test.Utilities
+open FSharp.Test
open Internal.Utilities.Library
module BlockTests =
diff --git a/tests/FSharp.Compiler.UnitTests/BuildGraphTests.fs b/tests/FSharp.Compiler.UnitTests/BuildGraphTests.fs
index fdcf8dfda9a..ae2aeff2071 100644
--- a/tests/FSharp.Compiler.UnitTests/BuildGraphTests.fs
+++ b/tests/FSharp.Compiler.UnitTests/BuildGraphTests.fs
@@ -5,7 +5,8 @@ open System
open System.Threading
open System.Runtime.CompilerServices
open Xunit
-open FSharp.Test.Utilities
+open FSharp.Test
+open FSharp.Test.Compiler
open FSharp.Compiler.BuildGraph
open Internal.Utilities.Library
diff --git a/tests/FSharp.Compiler.UnitTests/ByteMemoryTests.fs b/tests/FSharp.Compiler.UnitTests/ByteMemoryTests.fs
index 70653ed68fb..6a46f5ce74f 100644
--- a/tests/FSharp.Compiler.UnitTests/ByteMemoryTests.fs
+++ b/tests/FSharp.Compiler.UnitTests/ByteMemoryTests.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open System
open System.Globalization
open Xunit
-open FSharp.Test.Utilities
+open FSharp.Test
module ByteMemoryTests =
open FSharp.Compiler.IO
diff --git a/tests/FSharp.Compiler.UnitTests/EditDistance.fs b/tests/FSharp.Compiler.UnitTests/EditDistance.fs
index fa56c64d2d4..1e00cc05935 100644
--- a/tests/FSharp.Compiler.UnitTests/EditDistance.fs
+++ b/tests/FSharp.Compiler.UnitTests/EditDistance.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open System
open System.Globalization
open Xunit
-open FSharp.Test.Utilities
+open FSharp.Test
module EditDistance =
open Internal.Utilities.EditDistance
diff --git a/tests/FSharp.Compiler.UnitTests/FsiTests.fs b/tests/FSharp.Compiler.UnitTests/FsiTests.fs
index 2388a56a4bb..a19e329843e 100644
--- a/tests/FSharp.Compiler.UnitTests/FsiTests.fs
+++ b/tests/FSharp.Compiler.UnitTests/FsiTests.fs
@@ -3,7 +3,7 @@ open System
open System.IO
open FSharp.Compiler.Interactive.Shell
open Xunit
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module FsiTests =
diff --git a/tests/FSharp.Compiler.UnitTests/HashIfExpression.fs b/tests/FSharp.Compiler.UnitTests/HashIfExpression.fs
index 039b1c53350..8915d0fbf72 100644
--- a/tests/FSharp.Compiler.UnitTests/HashIfExpression.fs
+++ b/tests/FSharp.Compiler.UnitTests/HashIfExpression.fs
@@ -6,7 +6,7 @@ open System
open System.Text
open Xunit
-open FSharp.Test.Utilities
+open FSharp.Test
open Internal.Utilities
open Internal.Utilities.Text.Lexing
diff --git a/tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs b/tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs
index 3060590986a..5ccac1bb871 100644
--- a/tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs
+++ b/tests/FSharp.Compiler.UnitTests/ManglingNameOfProvidedTypes.fs
@@ -4,6 +4,7 @@ namespace FSharp.Compiler.UnitTests
open System
open System.Text
open Xunit
+open FSharp.Test
open FSharp.Test.Utilities
open FSharp.Compiler.Syntax
diff --git a/tests/FSharp.Compiler.UnitTests/ProductVersion.fs b/tests/FSharp.Compiler.UnitTests/ProductVersion.fs
index bc91de7a3f4..417f71a3fed 100644
--- a/tests/FSharp.Compiler.UnitTests/ProductVersion.fs
+++ b/tests/FSharp.Compiler.UnitTests/ProductVersion.fs
@@ -4,7 +4,7 @@ open System
open System.IO
open System.Text
open Xunit
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.AbstractIL.IL
open FSharp.Compiler.CreateILModule.MainModuleBuilder
diff --git a/tests/FSharp.Compiler.UnitTests/SuggestionBuffer.fs b/tests/FSharp.Compiler.UnitTests/SuggestionBuffer.fs
index f7d798a7d1a..7ecadd93209 100644
--- a/tests/FSharp.Compiler.UnitTests/SuggestionBuffer.fs
+++ b/tests/FSharp.Compiler.UnitTests/SuggestionBuffer.fs
@@ -2,8 +2,7 @@
namespace FSharp.Compiler.UnitTests
open Xunit
-open FSharp.Test.Utilities
-
+open FSharp.Test
module SuggestionBuffer =
open FSharp.Compiler.ErrorResolutionHints
diff --git a/tests/FSharp.Core.UnitTests/SurfaceArea.fs b/tests/FSharp.Core.UnitTests/SurfaceArea.fs
index 0f1d985de66..d9b71fec864 100644
--- a/tests/FSharp.Core.UnitTests/SurfaceArea.fs
+++ b/tests/FSharp.Core.UnitTests/SurfaceArea.fs
@@ -513,6 +513,7 @@ Microsoft.FSharp.Control.AsyncActivation`1[T]: Boolean IsCancellationRequested
Microsoft.FSharp.Control.AsyncActivation`1[T]: Boolean get_IsCancellationRequested()
Microsoft.FSharp.Control.AsyncActivation`1[T]: Microsoft.FSharp.Control.AsyncReturn OnCancellation()
Microsoft.FSharp.Control.AsyncActivation`1[T]: Microsoft.FSharp.Control.AsyncReturn OnSuccess(T)
+Microsoft.FSharp.Control.AsyncActivation`1[T]: Microsoft.FSharp.Control.AsyncReturn Success(Microsoft.FSharp.Control.AsyncActivation`1[T], T)
Microsoft.FSharp.Control.AsyncActivation`1[T]: Void OnExceptionRaised()
Microsoft.FSharp.Control.AsyncPrimitives: Microsoft.FSharp.Control.AsyncReturn Bind[T,TResult](Microsoft.FSharp.Control.AsyncActivation`1[T], Microsoft.FSharp.Control.FSharpAsync`1[TResult], Microsoft.FSharp.Core.FSharpFunc`2[TResult,Microsoft.FSharp.Control.FSharpAsync`1[T]])
Microsoft.FSharp.Control.AsyncPrimitives: Microsoft.FSharp.Control.AsyncReturn CallThenInvoke[T,TResult](Microsoft.FSharp.Control.AsyncActivation`1[T], TResult, Microsoft.FSharp.Core.FSharpFunc`2[TResult,Microsoft.FSharp.Control.FSharpAsync`1[T]])
diff --git a/tests/FSharp.Test.Utilities/Assert.fs b/tests/FSharp.Test.Utilities/Assert.fs
index 64a4b732160..41af78c735d 100644
--- a/tests/FSharp.Test.Utilities/Assert.fs
+++ b/tests/FSharp.Test.Utilities/Assert.fs
@@ -1,4 +1,4 @@
-namespace FSharp.Test.Utilities
+namespace FSharp.Test
module Assert =
open FluentAssertions
diff --git a/tests/FSharp.Test.Utilities/Compiler.fs b/tests/FSharp.Test.Utilities/Compiler.fs
index f5f91523128..e091a389cd9 100644
--- a/tests/FSharp.Test.Utilities/Compiler.fs
+++ b/tests/FSharp.Test.Utilities/Compiler.fs
@@ -1,13 +1,12 @@
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
-namespace FSharp.Test.Utilities
+namespace FSharp.Test
open FSharp.Compiler.Interactive.Shell
open FSharp.Compiler.IO
open FSharp.Compiler.Diagnostics
+open FSharp.Test.Assert
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Assert
-open FSharp.Test.Utilities.Utilities
open FSharp.Test.ScriptHelpers
open Microsoft.CodeAnalysis
open Microsoft.CodeAnalysis.CSharp
diff --git a/tests/FSharp.Test.Utilities/CompilerAssert.fs b/tests/FSharp.Test.Utilities/CompilerAssert.fs
index 5e3001a5145..a3331b19aaf 100644
--- a/tests/FSharp.Test.Utilities/CompilerAssert.fs
+++ b/tests/FSharp.Test.Utilities/CompilerAssert.fs
@@ -1,6 +1,6 @@
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
-namespace FSharp.Test.Utilities
+namespace FSharp.Test
open System
open System.IO
@@ -15,7 +15,7 @@ open FSharp.Compiler.Text
open System.Runtime.Loader
#endif
open NUnit.Framework
-open FSharp.Test.Utilities.Utilities
+open FSharp.Test.Utilities
open TestFramework
[]
diff --git a/tests/FSharp.Test.Utilities/ILChecker.fs b/tests/FSharp.Test.Utilities/ILChecker.fs
index b6a93197318..c7a65f00ac9 100644
--- a/tests/FSharp.Test.Utilities/ILChecker.fs
+++ b/tests/FSharp.Test.Utilities/ILChecker.fs
@@ -1,6 +1,6 @@
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
-namespace FSharp.Test.Utilities
+namespace FSharp.Test
open System
open System.IO
diff --git a/tests/FSharp.Test.Utilities/TestFramework.fs b/tests/FSharp.Test.Utilities/TestFramework.fs
index efe60a1a41f..f7972d0dc55 100644
--- a/tests/FSharp.Test.Utilities/TestFramework.fs
+++ b/tests/FSharp.Test.Utilities/TestFramework.fs
@@ -183,7 +183,6 @@ module Commands =
Directory.CreateDirectory path |> ignore
path
-
type TestConfig =
{ EnvironmentVariables : Map
CSC : string
diff --git a/tests/FSharp.Test.Utilities/Utilities.fs b/tests/FSharp.Test.Utilities/Utilities.fs
index 2932dcdeccc..5139e8a0e71 100644
--- a/tests/FSharp.Test.Utilities/Utilities.fs
+++ b/tests/FSharp.Test.Utilities/Utilities.fs
@@ -1,6 +1,6 @@
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
-namespace FSharp.Test.Utilities
+namespace FSharp.Test
open System
open System.IO
@@ -10,7 +10,6 @@ open System.Diagnostics
open System.Threading.Tasks
open Microsoft.CodeAnalysis
open Microsoft.CodeAnalysis.CSharp
-open FSharp.Test.Utilities
open TestFramework
open NUnit.Framework
@@ -53,6 +52,8 @@ module Utilities =
stream.CopyTo(memoryStream)
bytes
+ let inline getTestsDirectory src dir = src ++ dir
+
let private getOrCreateResource (resource: byref) (name: string) =
match resource with
| null -> getResourceBlob name
diff --git a/tests/FSharp.Test.Utilities/Xunit/Attributes/DirectoryAttribute.fs b/tests/FSharp.Test.Utilities/Xunit/Attributes/DirectoryAttribute.fs
index 824c9f22a19..fd3da92c6e5 100644
--- a/tests/FSharp.Test.Utilities/Xunit/Attributes/DirectoryAttribute.fs
+++ b/tests/FSharp.Test.Utilities/Xunit/Attributes/DirectoryAttribute.fs
@@ -1,4 +1,4 @@
-namespace FSharp.Test.Utilities.Xunit.Attributes
+namespace FSharp.Test.Xunit.Attributes
open System
open System.IO
@@ -7,8 +7,8 @@ open Xunit.Sdk
open FSharp.Compiler.IO
-open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test
+open FSharp.Test.Compiler
/// Attribute to use with Xunit's TheoryAttribute.
/// Takes a directory, relative to current test suite's root.
diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/BooleanLogic.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/BooleanLogic.fs
index 7268da013ee..b5ec522512c 100644
--- a/tests/fsharp/Compiler/CodeGen/EmittedIL/BooleanLogic.fs
+++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/BooleanLogic.fs
@@ -2,7 +2,7 @@
namespace FSharp.Compiler.UnitTests.CodeGen.EmittedIL
-open FSharp.Test.Utilities
+open FSharp.Test
open NUnit.Framework
[]
diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/CeEdiThrow.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/CeEdiThrow.fs
index 22d6b93df39..33355e4053d 100644
--- a/tests/fsharp/Compiler/CodeGen/EmittedIL/CeEdiThrow.fs
+++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/CeEdiThrow.fs
@@ -3,7 +3,7 @@ namespace FSharp.Compiler.UnitTests.CodeGen.EmittedIL
open FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module CeEdiThrow =
diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/ComputedListExpressions.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/ComputedListExpressions.fs
index 4938f7b2a7e..5db43f3a5b6 100644
--- a/tests/fsharp/Compiler/CodeGen/EmittedIL/ComputedListExpressions.fs
+++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/ComputedListExpressions.fs
@@ -2,7 +2,7 @@
namespace FSharp.Compiler.UnitTests.CodeGen.EmittedIL
-open FSharp.Test.Utilities
+open FSharp.Test
open NUnit.Framework
[]
diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/Mutation.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/Mutation.fs
index 0a2bac6b626..4bfc4dd5b0e 100644
--- a/tests/fsharp/Compiler/CodeGen/EmittedIL/Mutation.fs
+++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/Mutation.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests.CodeGen.EmittedIL
open FSharp.Compiler.UnitTests
-open FSharp.Test.Utilities
+open FSharp.Test
open NUnit.Framework
[]
diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/StaticLinkTests.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/StaticLinkTests.fs
index b2a43d8a3f8..e07f0103ee2 100644
--- a/tests/fsharp/Compiler/CodeGen/EmittedIL/StaticLinkTests.fs
+++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/StaticLinkTests.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests.CodeGen.EmittedIL
open System.IO
open System.Reflection
-open FSharp.Test.Utilities
+open FSharp.Test
open NUnit.Framework
[]
diff --git a/tests/fsharp/Compiler/CodeGen/EmittedIL/StaticMember.fs b/tests/fsharp/Compiler/CodeGen/EmittedIL/StaticMember.fs
index 02d3d54d959..b1415c0e929 100644
--- a/tests/fsharp/Compiler/CodeGen/EmittedIL/StaticMember.fs
+++ b/tests/fsharp/Compiler/CodeGen/EmittedIL/StaticMember.fs
@@ -2,7 +2,7 @@
namespace FSharp.Compiler.UnitTests.CodeGen.EmittedIL
-open FSharp.Test.Utilities
+open FSharp.Test
open NUnit.Framework
[]
diff --git a/tests/fsharp/Compiler/Conformance/BasicGrammarElements/BasicConstants.fs b/tests/fsharp/Compiler/Conformance/BasicGrammarElements/BasicConstants.fs
index 5d7a454dcc0..30b1e1aa4c3 100644
--- a/tests/fsharp/Compiler/Conformance/BasicGrammarElements/BasicConstants.fs
+++ b/tests/fsharp/Compiler/Conformance/BasicGrammarElements/BasicConstants.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Conformance/DataExpressions/ComputationExpressions.fs b/tests/fsharp/Compiler/Conformance/DataExpressions/ComputationExpressions.fs
index 60b21122a4c..5c1c8796862 100644
--- a/tests/fsharp/Compiler/Conformance/DataExpressions/ComputationExpressions.fs
+++ b/tests/fsharp/Compiler/Conformance/DataExpressions/ComputationExpressions.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Infrastructure/AstCompiler.fs b/tests/fsharp/Compiler/Infrastructure/AstCompiler.fs
index 40caa07d3c9..8f254fa03d5 100644
--- a/tests/fsharp/Compiler/Infrastructure/AstCompiler.fs
+++ b/tests/fsharp/Compiler/Infrastructure/AstCompiler.fs
@@ -2,7 +2,7 @@
namespace FSharp.Compiler.UnitTests.AstCompiler
-open FSharp.Test.Utilities
+open FSharp.Test
open NUnit.Framework
open System.Reflection
diff --git a/tests/fsharp/Compiler/Language/AnonRecordTests.fs b/tests/fsharp/Compiler/Language/AnonRecordTests.fs
index 7773afcb45d..fd7535d0079 100644
--- a/tests/fsharp/Compiler/Language/AnonRecordTests.fs
+++ b/tests/fsharp/Compiler/Language/AnonRecordTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Language/ByrefTests.fs b/tests/fsharp/Compiler/Language/ByrefTests.fs
index ef9fc80aedb..2bb9709a86f 100644
--- a/tests/fsharp/Compiler/Language/ByrefTests.fs
+++ b/tests/fsharp/Compiler/Language/ByrefTests.fs
@@ -3,12 +3,10 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Utilities
open FSharp.Compiler.Diagnostics
+open FSharp.Test
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Compiler
-open FSharp.Tests
+open FSharp.Test.Compiler
[]
module ByrefTests =
diff --git a/tests/fsharp/Compiler/Language/CompilerDirectiveTests.fs b/tests/fsharp/Compiler/Language/CompilerDirectiveTests.fs
index 94df44607ef..46160b309bf 100644
--- a/tests/fsharp/Compiler/Language/CompilerDirectiveTests.fs
+++ b/tests/fsharp/Compiler/Language/CompilerDirectiveTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Language/ComputationExpressionTests.fs b/tests/fsharp/Compiler/Language/ComputationExpressionTests.fs
index b8961030ac0..583c1c31e99 100644
--- a/tests/fsharp/Compiler/Language/ComputationExpressionTests.fs
+++ b/tests/fsharp/Compiler/Language/ComputationExpressionTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Language/CustomCollectionTests.fs b/tests/fsharp/Compiler/Language/CustomCollectionTests.fs
index 0f02e397952..e5106029ef8 100644
--- a/tests/fsharp/Compiler/Language/CustomCollectionTests.fs
+++ b/tests/fsharp/Compiler/Language/CustomCollectionTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Language/DefaultInterfaceMemberTests.fs b/tests/fsharp/Compiler/Language/DefaultInterfaceMemberTests.fs
index ec87bfe38dd..fca1e5fd706 100644
--- a/tests/fsharp/Compiler/Language/DefaultInterfaceMemberTests.fs
+++ b/tests/fsharp/Compiler/Language/DefaultInterfaceMemberTests.fs
@@ -3,8 +3,8 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
+open FSharp.Test
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Utilities
open FSharp.Compiler.Diagnostics
#if NETCOREAPP
diff --git a/tests/fsharp/Compiler/Language/FixedIndexSliceTests.fs b/tests/fsharp/Compiler/Language/FixedIndexSliceTests.fs
index a9a26f36775..8f1c92f4be7 100644
--- a/tests/fsharp/Compiler/Language/FixedIndexSliceTests.fs
+++ b/tests/fsharp/Compiler/Language/FixedIndexSliceTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Language/HatDesugaringTests.fs b/tests/fsharp/Compiler/Language/HatDesugaringTests.fs
index 71304dcf5fd..d9f47a9b4b9 100644
--- a/tests/fsharp/Compiler/Language/HatDesugaringTests.fs
+++ b/tests/fsharp/Compiler/Language/HatDesugaringTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Language/InitOnlyPropertyConsumptionTests.fs b/tests/fsharp/Compiler/Language/InitOnlyPropertyConsumptionTests.fs
index eca26290cec..56d828f8a78 100644
--- a/tests/fsharp/Compiler/Language/InitOnlyPropertyConsumptionTests.fs
+++ b/tests/fsharp/Compiler/Language/InitOnlyPropertyConsumptionTests.fs
@@ -3,10 +3,9 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test
+open FSharp.Test.Compiler
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Utilities
-open FSharp.Tests
#if NETCOREAPP
diff --git a/tests/fsharp/Compiler/Language/InterfaceTests.fs b/tests/fsharp/Compiler/Language/InterfaceTests.fs
index 3a11860f362..231ab11248a 100644
--- a/tests/fsharp/Compiler/Language/InterfaceTests.fs
+++ b/tests/fsharp/Compiler/Language/InterfaceTests.fs
@@ -6,7 +6,6 @@ open FSharp.Compiler.Diagnostics
open NUnit.Framework
open FSharp.Test
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Utilities
[]
module InterfaceTests =
diff --git a/tests/fsharp/Compiler/Language/OpenTypeDeclarationTests.fs b/tests/fsharp/Compiler/Language/OpenTypeDeclarationTests.fs
index 616f4894220..7d04809e436 100644
--- a/tests/fsharp/Compiler/Language/OpenTypeDeclarationTests.fs
+++ b/tests/fsharp/Compiler/Language/OpenTypeDeclarationTests.fs
@@ -4,10 +4,9 @@ namespace FSharp.Compiler.UnitTests
open FSharp.Compiler.Diagnostics
open NUnit.Framework
+open FSharp.Test
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Utilities
-open FSharp.Test.Utilities.Compiler
-open FSharp.Tests
+open FSharp.Test.Compiler
[]
module OpenTypeDeclarationTests =
@@ -2257,7 +2256,7 @@ let main _ =
[]
let ``Opening type providers with abbreviation result in unqualified access to types and members`` () =
- let dir = Core.getTestsDirectory "typeProviders/helloWorld"
+ let dir = getTestsDirectory __SOURCE_DIRECTORY__ "../../typeProviders/helloWorld"
let provider =
Fsx (sprintf """
@@ -2299,7 +2298,7 @@ if StaticProperty1 <> "You got a static property" then
[]
let ``Opening type providers result in unqualified access to types and members`` () =
- let dir = Core.getTestsDirectory "typeProviders/helloWorld"
+ let dir = getTestsDirectory __SOURCE_DIRECTORY__ "../../typeProviders/helloWorld"
let provider =
Fsx (sprintf """
@@ -2339,7 +2338,7 @@ if StaticProperty1 <> "You got a static property" then
[]
let ``Opening type providers with nested result in unqualified access to types and members`` () =
- let dir = Core.getTestsDirectory "typeProviders/helloWorld"
+ let dir = getTestsDirectory __SOURCE_DIRECTORY__ "../../typeProviders/helloWorld"
let provider =
Fsx (sprintf """
@@ -2376,7 +2375,7 @@ if StaticProperty1 <> "You got a static property" then
[]
let ``Opening generative type providers in unqualified access to types and members`` () =
- let dir = Core.getTestsDirectory "typeProviders/helloWorld"
+ let dir = getTestsDirectory __SOURCE_DIRECTORY__ "../../typeProviders/helloWorld"
let provider =
Fsx (sprintf """
@@ -2414,7 +2413,7 @@ let _ : TheNestedGeneratedType = Unchecked.defaultof<_>
[]
let ``Opening generative type providers directly in unqualified access to types and members - Errors`` () =
- let dir = Core.getTestsDirectory "typeProviders/helloWorld"
+ let dir = getTestsDirectory __SOURCE_DIRECTORY__ "../../typeProviders/helloWorld"
let provider =
Fsx (sprintf """
diff --git a/tests/fsharp/Compiler/Language/OptionalInteropTests.fs b/tests/fsharp/Compiler/Language/OptionalInteropTests.fs
index 19d32334850..72fa7ee3b20 100644
--- a/tests/fsharp/Compiler/Language/OptionalInteropTests.fs
+++ b/tests/fsharp/Compiler/Language/OptionalInteropTests.fs
@@ -4,9 +4,9 @@ namespace FSharp.Compiler.UnitTests
open System.Collections.Immutable
open NUnit.Framework
+open FSharp.Test
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Utilities
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
open FSharp.Compiler.Diagnostics
open Microsoft.CodeAnalysis
diff --git a/tests/fsharp/Compiler/Language/SlicingQuotationTests.fs b/tests/fsharp/Compiler/Language/SlicingQuotationTests.fs
index a7d3a889d25..414d562708e 100644
--- a/tests/fsharp/Compiler/Language/SlicingQuotationTests.fs
+++ b/tests/fsharp/Compiler/Language/SlicingQuotationTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Language/SpanOptimizationTests.fs b/tests/fsharp/Compiler/Language/SpanOptimizationTests.fs
index 64ceb55ec20..1eec3bd3c6b 100644
--- a/tests/fsharp/Compiler/Language/SpanOptimizationTests.fs
+++ b/tests/fsharp/Compiler/Language/SpanOptimizationTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
#if NETCOREAPP
[]
diff --git a/tests/fsharp/Compiler/Language/SpanTests.fs b/tests/fsharp/Compiler/Language/SpanTests.fs
index f24036c8664..b7aca91e7f4 100644
--- a/tests/fsharp/Compiler/Language/SpanTests.fs
+++ b/tests/fsharp/Compiler/Language/SpanTests.fs
@@ -5,7 +5,7 @@ namespace FSharp.Compiler.UnitTests
open System
open FSharp.Compiler.Diagnostics
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
#if NETCOREAPP
[]
diff --git a/tests/fsharp/Compiler/Language/StringConcatOptimizationTests.fs b/tests/fsharp/Compiler/Language/StringConcatOptimizationTests.fs
index c392e247742..f27b3bdc23f 100644
--- a/tests/fsharp/Compiler/Language/StringConcatOptimizationTests.fs
+++ b/tests/fsharp/Compiler/Language/StringConcatOptimizationTests.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open System
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
#if !NETCOREAPP
[]
diff --git a/tests/fsharp/Compiler/Language/StringInterpolation.fs b/tests/fsharp/Compiler/Language/StringInterpolation.fs
index 6d41510b038..be7812ff7c0 100644
--- a/tests/fsharp/Compiler/Language/StringInterpolation.fs
+++ b/tests/fsharp/Compiler/Language/StringInterpolation.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open NUnit.Framework
open FSharp.Compiler.Diagnostics
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module StringInterpolationTests =
diff --git a/tests/fsharp/Compiler/Language/StructActivePatternTests.fs b/tests/fsharp/Compiler/Language/StructActivePatternTests.fs
index c4c4162fc9a..6107d368ef9 100644
--- a/tests/fsharp/Compiler/Language/StructActivePatternTests.fs
+++ b/tests/fsharp/Compiler/Language/StructActivePatternTests.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open NUnit.Framework
open FSharp.Compiler.Diagnostics
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module StructActivePatternTests =
diff --git a/tests/fsharp/Compiler/Language/TypeAttributeTests.fs b/tests/fsharp/Compiler/Language/TypeAttributeTests.fs
index 27f8584c593..23d09d9e706 100644
--- a/tests/fsharp/Compiler/Language/TypeAttributeTests.fs
+++ b/tests/fsharp/Compiler/Language/TypeAttributeTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Language/UIntTests.fs b/tests/fsharp/Compiler/Language/UIntTests.fs
index 8d2b6454136..05bf78bbebf 100644
--- a/tests/fsharp/Compiler/Language/UIntTests.fs
+++ b/tests/fsharp/Compiler/Language/UIntTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module UIntTests =
diff --git a/tests/fsharp/Compiler/Language/WitnessTests.fs b/tests/fsharp/Compiler/Language/WitnessTests.fs
index 0d6ce944d67..7ed562bd9a3 100644
--- a/tests/fsharp/Compiler/Language/WitnessTests.fs
+++ b/tests/fsharp/Compiler/Language/WitnessTests.fs
@@ -3,8 +3,9 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities.Compiler
-open FSharp.Tests
+open FSharp.Test
+open FSharp.Test.Utilities
+open FSharp.Test.Compiler
#if !NETCOREAPP
@@ -13,7 +14,7 @@ module WitnessTests =
[]
let ``Witness expressions are created as a result of compiling the type provider tests`` () =
- let dir = Core.getTestsDirectory "typeProviders/helloWorld"
+ let dir = getTestsDirectory __SOURCE_DIRECTORY__ "../../typeProviders/helloWorld"
Fsx (sprintf """
#load @"%s"
""" (dir ++ "provider.fsx"))
diff --git a/tests/fsharp/Compiler/Libraries/Core/Collections/ListTests.fs b/tests/fsharp/Compiler/Libraries/Core/Collections/ListTests.fs
index a57dac45d17..626f9c6e2c0 100644
--- a/tests/fsharp/Compiler/Libraries/Core/Collections/ListTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/Collections/ListTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Libraries/Core/ExtraTopLevelOperators/DictionaryTests.fs b/tests/fsharp/Compiler/Libraries/Core/ExtraTopLevelOperators/DictionaryTests.fs
index c2f00658833..d52624ee01c 100644
--- a/tests/fsharp/Compiler/Libraries/Core/ExtraTopLevelOperators/DictionaryTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/ExtraTopLevelOperators/DictionaryTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
module ``Dictionary Tests`` =
diff --git a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/CastToUnitsTests.fs b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/CastToUnitsTests.fs
index b36481fb338..be85ccd4092 100644
--- a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/CastToUnitsTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/CastToUnitsTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module ``Cast to Units Tests`` =
diff --git a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/ComparisonTests.fs b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/ComparisonTests.fs
index 4e5c5d2657c..e3b5abf34ff 100644
--- a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/ComparisonTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/ComparisonTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module ``Comparison Tests`` =
diff --git a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/StringFormatTests.fs b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/StringFormatTests.fs
index 7e5f01967aa..46380acecde 100644
--- a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/StringFormatTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/StringFormatTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module ``String Format Tests`` =
diff --git a/tests/fsharp/Compiler/Libraries/Core/NativeInterop/StackallocTests.fs b/tests/fsharp/Compiler/Libraries/Core/NativeInterop/StackallocTests.fs
index 9111f90d87b..1e244b53aa5 100644
--- a/tests/fsharp/Compiler/Libraries/Core/NativeInterop/StackallocTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/NativeInterop/StackallocTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
#nowarn "9"
diff --git a/tests/fsharp/Compiler/Libraries/Core/Operators/AbsTests.fs b/tests/fsharp/Compiler/Libraries/Core/Operators/AbsTests.fs
index 826bafd33a3..ca2f753de4e 100644
--- a/tests/fsharp/Compiler/Libraries/Core/Operators/AbsTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/Operators/AbsTests.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open NUnit.Framework
open FSharp.Compiler.Diagnostics
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module ``Abs Tests`` =
diff --git a/tests/fsharp/Compiler/Libraries/Core/Operators/CastTests.fs b/tests/fsharp/Compiler/Libraries/Core/Operators/CastTests.fs
index 5f4d34df153..df5bc326025 100644
--- a/tests/fsharp/Compiler/Libraries/Core/Operators/CastTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/Operators/CastTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open System
[]
diff --git a/tests/fsharp/Compiler/Libraries/Core/Operators/HashTests.fs b/tests/fsharp/Compiler/Libraries/Core/Operators/HashTests.fs
index b5b7f8af3d9..e809fafa937 100644
--- a/tests/fsharp/Compiler/Libraries/Core/Operators/HashTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/Operators/HashTests.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open NUnit.Framework
open FSharp.Compiler.Diagnostics
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module ``Hash Tests`` =
diff --git a/tests/fsharp/Compiler/Libraries/Core/Operators/SignTests.fs b/tests/fsharp/Compiler/Libraries/Core/Operators/SignTests.fs
index 158131e2ca8..2c67b1d1b8d 100644
--- a/tests/fsharp/Compiler/Libraries/Core/Operators/SignTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/Operators/SignTests.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open NUnit.Framework
open FSharp.Compiler.Diagnostics
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module ``Sign Tests`` =
diff --git a/tests/fsharp/Compiler/Regressions/ForInDoMutableRegressionTest.fs b/tests/fsharp/Compiler/Regressions/ForInDoMutableRegressionTest.fs
index 28cc6340422..6ea9fe2dc42 100644
--- a/tests/fsharp/Compiler/Regressions/ForInDoMutableRegressionTest.fs
+++ b/tests/fsharp/Compiler/Regressions/ForInDoMutableRegressionTest.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open System
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module ForInDoMutableRegressionTest =
diff --git a/tests/fsharp/Compiler/Regressions/IndexerRegressionTests.fs b/tests/fsharp/Compiler/Regressions/IndexerRegressionTests.fs
index a6e7cf6e4e9..c9c1a77bafd 100644
--- a/tests/fsharp/Compiler/Regressions/IndexerRegressionTests.fs
+++ b/tests/fsharp/Compiler/Regressions/IndexerRegressionTests.fs
@@ -4,7 +4,7 @@ namespace FSharp.Compiler.UnitTests
open System
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module IndexerRegressionTests =
diff --git a/tests/fsharp/Compiler/Regressions/NullableOptionalRegressionTests.fs b/tests/fsharp/Compiler/Regressions/NullableOptionalRegressionTests.fs
index 26391ffa1c3..c4009ee5233 100644
--- a/tests/fsharp/Compiler/Regressions/NullableOptionalRegressionTests.fs
+++ b/tests/fsharp/Compiler/Regressions/NullableOptionalRegressionTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities.Compiler
+open FSharp.Test.Compiler
[]
module NullableOptionalRegressionTests =
diff --git a/tests/fsharp/Compiler/Service/MultiProjectTests.fs b/tests/fsharp/Compiler/Service/MultiProjectTests.fs
index 88a131fad09..7835f409f8c 100644
--- a/tests/fsharp/Compiler/Service/MultiProjectTests.fs
+++ b/tests/fsharp/Compiler/Service/MultiProjectTests.fs
@@ -6,10 +6,9 @@ open System
open System.IO
open FSharp.Compiler.Diagnostics
open NUnit.Framework
+open FSharp.Test
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Utilities
-open FSharp.Test.Utilities.Compiler
-open FSharp.Tests
+open FSharp.Test.Compiler
open FSharp.Compiler.CodeAnalysis
open Microsoft.CodeAnalysis
open Microsoft.CodeAnalysis.CSharp
diff --git a/tests/fsharp/Compiler/Service/SignatureGenerationTests.fs b/tests/fsharp/Compiler/Service/SignatureGenerationTests.fs
index 3fb1a5487c8..b6898e524bb 100644
--- a/tests/fsharp/Compiler/Service/SignatureGenerationTests.fs
+++ b/tests/fsharp/Compiler/Service/SignatureGenerationTests.fs
@@ -4,10 +4,9 @@ namespace FSharp.Compiler.UnitTests
open FSharp.Compiler.Diagnostics
open NUnit.Framework
+open FSharp.Test
open FSharp.Test.Utilities
-open FSharp.Test.Utilities.Utilities
-open FSharp.Test.Utilities.Compiler
-open FSharp.Tests
+open FSharp.Test.Compiler
[]
module SignatureGenerationTests =
diff --git a/tests/fsharp/Compiler/Stress/LargeExprTests.fs b/tests/fsharp/Compiler/Stress/LargeExprTests.fs
index c0c8e69cdaa..b9d6e7bece2 100644
--- a/tests/fsharp/Compiler/Stress/LargeExprTests.fs
+++ b/tests/fsharp/Compiler/Stress/LargeExprTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
[]
module LargeExprTests =
diff --git a/tests/fsharp/Compiler/Warnings/AssignmentWarningTests.fs b/tests/fsharp/Compiler/Warnings/AssignmentWarningTests.fs
index c87ccdefd0f..d6ef26bcdf1 100644
--- a/tests/fsharp/Compiler/Warnings/AssignmentWarningTests.fs
+++ b/tests/fsharp/Compiler/Warnings/AssignmentWarningTests.fs
@@ -3,7 +3,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Warnings/ExperimentalAttributeTests.fs b/tests/fsharp/Compiler/Warnings/ExperimentalAttributeTests.fs
index d83ac8632e8..ed51078bf7a 100644
--- a/tests/fsharp/Compiler/Warnings/ExperimentalAttributeTests.fs
+++ b/tests/fsharp/Compiler/Warnings/ExperimentalAttributeTests.fs
@@ -2,7 +2,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/Compiler/Warnings/PatternMatchingWarningTests.fs b/tests/fsharp/Compiler/Warnings/PatternMatchingWarningTests.fs
index 4aa8feb8a7d..864f760cc04 100644
--- a/tests/fsharp/Compiler/Warnings/PatternMatchingWarningTests.fs
+++ b/tests/fsharp/Compiler/Warnings/PatternMatchingWarningTests.fs
@@ -1,7 +1,7 @@
namespace FSharp.Compiler.UnitTests
open NUnit.Framework
-open FSharp.Test.Utilities
+open FSharp.Test
open FSharp.Compiler.Diagnostics
[]
diff --git a/tests/fsharp/TypeProviderTests.fs b/tests/fsharp/TypeProviderTests.fs
index 332a38a63bc..2bd7f2111e0 100644
--- a/tests/fsharp/TypeProviderTests.fs
+++ b/tests/fsharp/TypeProviderTests.fs
@@ -33,7 +33,7 @@ let FSC_BASIC = FSC_OPT_PLUS_DEBUG
let FSI_BASIC = FSI_FILE
#endif
-let inline getTestsDirectory dir = __SOURCE_DIRECTORY__ ++ dir
+let inline getTestsDirectory dir = FSharp.Test.Utilities.getTestsDirectory __SOURCE_DIRECTORY__ dir
let testConfig = getTestsDirectory >> testConfig
[]
diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs
index 93957279ebf..77f55f50b8f 100644
--- a/tests/fsharp/tests.fs
+++ b/tests/fsharp/tests.fs
@@ -17,6 +17,7 @@ open TestFramework
open Scripting
open SingleTest
open HandleExpects
+open FSharp.Test
#if NETCOREAPP
// Use these lines if you want to test CoreCLR
@@ -31,7 +32,7 @@ let FSI_BASIC = FSI_FILE
#endif
// ^^^^^^^^^^^^ To run these tests in F# Interactive , 'build net40', then send this chunk, then evaluate body of a test ^^^^^^^^^^^^
-let inline getTestsDirectory dir = __SOURCE_DIRECTORY__ ++ dir
+let inline getTestsDirectory dir = FSharp.Test.Utilities.getTestsDirectory __SOURCE_DIRECTORY__ dir
let singleTestBuildAndRun = getTestsDirectory >> singleTestBuildAndRun
let singleTestBuildAndRunVersion = getTestsDirectory >> singleTestBuildAndRunVersion
let testConfig = getTestsDirectory >> testConfig
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl
index 6dfebd88b1e..76f073cdd4a 100644
--- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.il.bsl
@@ -1,5 +1,5 @@
-// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
+// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@@ -13,7 +13,7 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
- .ver 4:4:3:0
+ .ver 5:0:0:0
}
.assembly AsyncExpressionSteppingTest3
{
@@ -29,20 +29,20 @@
}
.mresource public FSharpSignatureData.AsyncExpressionSteppingTest3
{
- // Offset: 0x00000000 Length: 0x00000277
+ // Offset: 0x00000000 Length: 0x0000026B
}
.mresource public FSharpOptimizationData.AsyncExpressionSteppingTest3
{
- // Offset: 0x00000280 Length: 0x000000B1
+ // Offset: 0x00000270 Length: 0x000000B1
}
.module AsyncExpressionSteppingTest3.dll
-// MVID: {5AF5DDAE-6394-F35E-A745-0383AEDDF55A}
+// MVID: {60EDFA6D-6394-F35E-A745-03836DFAED60}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
-// Image base: 0x04650000
+// Image base: 0x06D00000
// =============== CLASS MEMBERS DECLARATION ===================
@@ -80,15 +80,17 @@
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn
Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed
{
- // Code size 14 (0xe)
+ // Code size 15 (0xf)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
- .line 10,10 : 17,25 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest3.fs'
- IL_0000: ldarga.s ctxt
- IL_0002: ldarg.0
- IL_0003: ldfld int32 AsyncExpressionSteppingTest3/AsyncExpressionSteppingTest3/'f3@10-1'::'value'
- IL_0008: call instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::OnSuccess(!0)
- IL_000d: ret
+ .line 10,10 : 17,25 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest3.fs'
+ IL_0000: ldarg.1
+ IL_0001: ldarg.0
+ IL_0002: ldfld int32 AsyncExpressionSteppingTest3/AsyncExpressionSteppingTest3/'f3@10-1'::'value'
+ IL_0007: tail.
+ IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1,
+ !0)
+ IL_000e: ret
} // end of method 'f3@10-1'::Invoke
} // end of class 'f3@10-1'
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl
index ce54bd4945d..61ab690daf9 100644
--- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.il.bsl
@@ -1,5 +1,5 @@
-// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
+// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@@ -13,7 +13,7 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
- .ver 4:4:3:0
+ .ver 5:0:0:0
}
.assembly AsyncExpressionSteppingTest4
{
@@ -29,20 +29,20 @@
}
.mresource public FSharpSignatureData.AsyncExpressionSteppingTest4
{
- // Offset: 0x00000000 Length: 0x00000277
+ // Offset: 0x00000000 Length: 0x0000026B
}
.mresource public FSharpOptimizationData.AsyncExpressionSteppingTest4
{
- // Offset: 0x00000280 Length: 0x000000B1
+ // Offset: 0x00000270 Length: 0x000000B1
}
.module AsyncExpressionSteppingTest4.dll
-// MVID: {5AF5DDAE-6394-6D4B-A745-0383AEDDF55A}
+// MVID: {60EDFA6D-6394-6D4B-A745-03836DFAED60}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
-// Image base: 0x028F0000
+// Image base: 0x06840000
// =============== CLASS MEMBERS DECLARATION ===================
@@ -80,15 +80,17 @@
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn
Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed
{
- // Code size 14 (0xe)
+ // Code size 15 (0xf)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
- .line 10,10 : 21,29 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest4.fs'
- IL_0000: ldarga.s ctxt
- IL_0002: ldarg.0
- IL_0003: ldfld int32 AsyncExpressionSteppingTest4/AsyncExpressionSteppingTest4/'f4@10-2'::'value'
- IL_0008: call instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::OnSuccess(!0)
- IL_000d: ret
+ .line 10,10 : 21,29 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest4.fs'
+ IL_0000: ldarg.1
+ IL_0001: ldarg.0
+ IL_0002: ldfld int32 AsyncExpressionSteppingTest4/AsyncExpressionSteppingTest4/'f4@10-2'::'value'
+ IL_0007: tail.
+ IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1,
+ !0)
+ IL_000e: ret
} // end of method 'f4@10-2'::Invoke
} // end of class 'f4@10-2'
diff --git a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl
index 379ad6bbe7c..165e470e0bf 100644
--- a/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl
+++ b/tests/fsharpqa/Source/CodeGen/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.il.bsl
@@ -1,5 +1,5 @@
-// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
+// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0
// Copyright (c) Microsoft Corporation. All rights reserved.
@@ -13,7 +13,7 @@
.assembly extern FSharp.Core
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
- .ver 4:4:3:0
+ .ver 5:0:0:0
}
.assembly AsyncExpressionSteppingTest6
{
@@ -29,20 +29,20 @@
}
.mresource public FSharpSignatureData.AsyncExpressionSteppingTest6
{
- // Offset: 0x00000000 Length: 0x000002A3
+ // Offset: 0x00000000 Length: 0x00000297
}
.mresource public FSharpOptimizationData.AsyncExpressionSteppingTest6
{
- // Offset: 0x000002A8 Length: 0x000000BE
+ // Offset: 0x000002A0 Length: 0x000000BE
}
.module AsyncExpressionSteppingTest6.dll
-// MVID: {5AF5DDAE-6394-4FAD-A745-0383AEDDF55A}
+// MVID: {60EDFA6D-6394-4FAD-A745-03836DFAED60}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
-// Image base: 0x04C40000
+// Image base: 0x071A0000
// =============== CLASS MEMBERS DECLARATION ===================
@@ -55,7 +55,7 @@
extends [mscorlib]System.Object
{
.custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 )
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@10-4'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@10-1'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>
{
.field public int32 'value'
@@ -73,27 +73,29 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@10-4'::'value'
+ IL_0008: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@10-1'::'value'
IL_000d: ret
- } // end of method 'f2@10-4'::.ctor
+ } // end of method 'f2@10-1'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn
Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed
{
- // Code size 14 (0xe)
+ // Code size 15 (0xf)
.maxstack 8
.language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}'
- .line 10,10 : 17,25 'C:\\GitHub\\dsyme\\visualfsharp\\tests\\fsharpqa\\Source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest6.fs'
- IL_0000: ldarga.s ctxt
- IL_0002: ldarg.0
- IL_0003: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@10-4'::'value'
- IL_0008: call instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::OnSuccess(!0)
- IL_000d: ret
- } // end of method 'f2@10-4'::Invoke
+ .line 10,10 : 17,25 'C:\\GitHub\\dsyme\\fsharp\\tests\\fsharpqa\\source\\CodeGen\\EmittedIL\\AsyncExpressionStepping\\AsyncExpressionSteppingTest6.fs'
+ IL_0000: ldarg.1
+ IL_0001: ldarg.0
+ IL_0002: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@10-1'::'value'
+ IL_0007: tail.
+ IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1,
+ !0)
+ IL_000e: ret
+ } // end of method 'f2@10-1'::Invoke
- } // end of class 'f2@10-4'
+ } // end of class 'f2@10-1'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@5-3'
+ .class auto ansi serializable sealed nested assembly beforefieldinit f2@5
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@
@@ -111,9 +113,9 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@5-3'::builder@
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/f2@5::builder@
IL_000d: ret
- } // end of method 'f2@5-3'::.ctor
+ } // end of method f2@5::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed
@@ -150,20 +152,20 @@
IL_0029: stloc.2
.line 10,10 : 17,25 ''
IL_002a: ldarg.0
- IL_002b: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@5-3'::builder@
+ IL_002b: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/f2@5::builder@
IL_0030: stloc.3
IL_0031: ldloc.2
IL_0032: stloc.s V_4
IL_0034: ldloc.s V_4
- IL_0036: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@10-4'::.ctor(int32)
+ IL_0036: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@10-1'::.ctor(int32)
IL_003b: tail.
IL_003d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>)
IL_0042: ret
- } // end of method 'f2@5-3'::Invoke
+ } // end of method f2@5::Invoke
- } // end of class 'f2@5-3'
+ } // end of class f2@5
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@20-7'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@20-5'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>
{
.field public int32 'value'
@@ -181,26 +183,28 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@20-7'::'value'
+ IL_0008: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@20-5'::'value'
IL_000d: ret
- } // end of method 'f3@20-7'::.ctor
+ } // end of method 'f3@20-5'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn
Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed
{
- // Code size 14 (0xe)
+ // Code size 15 (0xf)
.maxstack 8
.line 20,20 : 17,25 ''
- IL_0000: ldarga.s ctxt
- IL_0002: ldarg.0
- IL_0003: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@20-7'::'value'
- IL_0008: call instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::OnSuccess(!0)
- IL_000d: ret
- } // end of method 'f3@20-7'::Invoke
+ IL_0000: ldarg.1
+ IL_0001: ldarg.0
+ IL_0002: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@20-5'::'value'
+ IL_0007: tail.
+ IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1,
+ !0)
+ IL_000e: ret
+ } // end of method 'f3@20-5'::Invoke
- } // end of class 'f3@20-7'
+ } // end of class 'f3@20-5'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@19-6'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@19-4'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@
@@ -222,15 +226,15 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-6'::builder@
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-4'::builder@
IL_000d: ldarg.0
IL_000e: ldarg.2
- IL_000f: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-6'::x1
+ IL_000f: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-4'::x1
IL_0014: ldarg.0
IL_0015: ldarg.3
- IL_0016: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-6'::y
+ IL_0016: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-4'::y
IL_001b: ret
- } // end of method 'f3@19-6'::.ctor
+ } // end of method 'f3@19-4'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
Invoke(int32 _arg4) cil managed
@@ -246,9 +250,9 @@
IL_0001: stloc.0
.line 19,19 : 17,37 ''
IL_0002: ldarg.0
- IL_0003: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-6'::x1
+ IL_0003: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-4'::x1
IL_0008: ldarg.0
- IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-6'::y
+ IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-4'::y
IL_000e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1)
IL_0013: add
IL_0014: ldloc.0
@@ -256,20 +260,20 @@
IL_0016: stloc.1
.line 20,20 : 17,25 ''
IL_0017: ldarg.0
- IL_0018: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-6'::builder@
+ IL_0018: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-4'::builder@
IL_001d: stloc.2
IL_001e: ldloc.1
IL_001f: stloc.3
IL_0020: ldloc.3
- IL_0021: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@20-7'::.ctor(int32)
+ IL_0021: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@20-5'::.ctor(int32)
IL_0026: tail.
IL_0028: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>)
IL_002d: ret
- } // end of method 'f3@19-6'::Invoke
+ } // end of method 'f3@19-4'::Invoke
- } // end of class 'f3@19-6'
+ } // end of class 'f3@19-4'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@18-8'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@18-6'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation
@@ -292,12 +296,12 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-8'::computation
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-6'::computation
IL_000d: ldarg.0
IL_000e: ldarg.2
- IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-8'::binder
+ IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-6'::binder
IL_0014: ret
- } // end of method 'f3@18-8'::.ctor
+ } // end of method 'f3@18-6'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn
Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed
@@ -307,19 +311,19 @@
.line 18,18 : 17,31 ''
IL_0000: ldarg.1
IL_0001: ldarg.0
- IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-8'::computation
+ IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-6'::computation
IL_0007: ldarg.0
- IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-8'::binder
+ IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-6'::binder
IL_000d: tail.
IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1,
class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0014: ret
- } // end of method 'f3@18-8'::Invoke
+ } // end of method 'f3@18-6'::Invoke
- } // end of class 'f3@18-8'
+ } // end of class 'f3@18-6'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@16-5'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@16-3'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@
@@ -339,12 +343,12 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-5'::builder@
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-3'::builder@
IL_000d: ldarg.0
IL_000e: ldarg.2
- IL_000f: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-5'::x1
+ IL_000f: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-3'::x1
IL_0014: ret
- } // end of method 'f3@16-5'::.ctor
+ } // end of method 'f3@16-3'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
Invoke(int32 _arg3) cil managed
@@ -369,31 +373,31 @@
IL_000f: nop
.line 18,18 : 17,31 ''
IL_0010: ldarg.0
- IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-5'::builder@
+ IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-3'::builder@
IL_0016: stloc.2
IL_0017: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6::f2()
IL_001c: stloc.3
IL_001d: ldarg.0
- IL_001e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-5'::builder@
+ IL_001e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-3'::builder@
IL_0023: ldarg.0
- IL_0024: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-5'::x1
+ IL_0024: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-3'::x1
IL_0029: ldloc.1
- IL_002a: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-6'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder,
+ IL_002a: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@19-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder,
int32,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1)
IL_002f: stloc.s V_4
IL_0031: ldloc.3
IL_0032: ldloc.s V_4
- IL_0034: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-8'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
+ IL_0034: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@18-6'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0039: tail.
IL_003b: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>)
IL_0040: ret
- } // end of method 'f3@16-5'::Invoke
+ } // end of method 'f3@16-3'::Invoke
- } // end of class 'f3@16-5'
+ } // end of class 'f3@16-3'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@15-9'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@15-7'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation
@@ -416,12 +420,12 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-9'::computation
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-7'::computation
IL_000d: ldarg.0
IL_000e: ldarg.2
- IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-9'::binder
+ IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-7'::binder
IL_0014: ret
- } // end of method 'f3@15-9'::.ctor
+ } // end of method 'f3@15-7'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn
Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed
@@ -431,19 +435,19 @@
.line 15,15 : 17,31 ''
IL_0000: ldarg.1
IL_0001: ldarg.0
- IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-9'::computation
+ IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-7'::computation
IL_0007: ldarg.0
- IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-9'::binder
+ IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-7'::binder
IL_000d: tail.
IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1,
class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0014: ret
- } // end of method 'f3@15-9'::Invoke
+ } // end of method 'f3@15-7'::Invoke
- } // end of class 'f3@15-9'
+ } // end of class 'f3@15-7'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@15-4'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@15-2'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@
@@ -463,12 +467,12 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-4'::builder@
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-2'::builder@
IL_000d: ldarg.0
IL_000e: ldarg.2
- IL_000f: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-4'::x1
+ IL_000f: stfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-2'::x1
IL_0014: ret
- } // end of method 'f3@15-4'::.ctor
+ } // end of method 'f3@15-2'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
Invoke(int32 _arg2) cil managed
@@ -484,29 +488,29 @@
IL_0001: stloc.0
.line 15,15 : 17,31 ''
IL_0002: ldarg.0
- IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-4'::builder@
+ IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-2'::builder@
IL_0008: stloc.1
IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6::f2()
IL_000e: stloc.2
IL_000f: ldarg.0
- IL_0010: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-4'::builder@
+ IL_0010: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-2'::builder@
IL_0015: ldarg.0
- IL_0016: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-4'::x1
- IL_001b: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-5'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder,
+ IL_0016: ldfld int32 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-2'::x1
+ IL_001b: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@16-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder,
int32)
IL_0020: stloc.3
IL_0021: ldloc.2
IL_0022: ldloc.3
- IL_0023: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-9'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
+ IL_0023: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-7'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0028: tail.
IL_002a: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>)
IL_002f: ret
- } // end of method 'f3@15-4'::Invoke
+ } // end of method 'f3@15-2'::Invoke
- } // end of class 'f3@15-4'
+ } // end of class 'f3@15-2'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@14-10'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@14-8'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation
@@ -529,12 +533,12 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-10'::computation
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-8'::computation
IL_000d: ldarg.0
IL_000e: ldarg.2
- IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-10'::binder
+ IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-8'::binder
IL_0014: ret
- } // end of method 'f3@14-10'::.ctor
+ } // end of method 'f3@14-8'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn
Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed
@@ -544,19 +548,19 @@
.line 14,14 : 17,31 ''
IL_0000: ldarg.1
IL_0001: ldarg.0
- IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-10'::computation
+ IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-8'::computation
IL_0007: ldarg.0
- IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-10'::binder
+ IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-8'::binder
IL_000d: tail.
IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1,
class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0014: ret
- } // end of method 'f3@14-10'::Invoke
+ } // end of method 'f3@14-8'::Invoke
- } // end of class 'f3@14-10'
+ } // end of class 'f3@14-8'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@14-3'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@14-1'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@
@@ -574,9 +578,9 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-3'::builder@
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-1'::builder@
IL_000d: ret
- } // end of method 'f3@14-3'::.ctor
+ } // end of method 'f3@14-1'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
Invoke(int32 _arg1) cil managed
@@ -592,28 +596,28 @@
IL_0001: stloc.0
.line 14,14 : 17,31 ''
IL_0002: ldarg.0
- IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-3'::builder@
+ IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-1'::builder@
IL_0008: stloc.1
IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6::f2()
IL_000e: stloc.2
IL_000f: ldarg.0
- IL_0010: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-3'::builder@
+ IL_0010: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-1'::builder@
IL_0015: ldloc.0
- IL_0016: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder,
+ IL_0016: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@15-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder,
int32)
IL_001b: stloc.3
IL_001c: ldloc.2
IL_001d: ldloc.3
- IL_001e: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-10'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
- class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
+ IL_001e: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-8'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
+ class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0023: tail.
IL_0025: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>)
IL_002a: ret
- } // end of method 'f3@14-3'::Invoke
+ } // end of method 'f3@14-1'::Invoke
- } // end of class 'f3@14-3'
+ } // end of class 'f3@14-1'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@13-11'
+ .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@13-9'
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation
@@ -636,12 +640,12 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-11'::computation
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-9'::computation
IL_000d: ldarg.0
IL_000e: ldarg.2
- IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-11'::binder
+ IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-9'::binder
IL_0014: ret
- } // end of method 'f3@13-11'::.ctor
+ } // end of method 'f3@13-9'::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn
Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed
@@ -651,19 +655,19 @@
.line 13,13 : 17,31 ''
IL_0000: ldarg.1
IL_0001: ldarg.0
- IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-11'::computation
+ IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-9'::computation
IL_0007: ldarg.0
- IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-11'::binder
+ IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-9'::binder
IL_000d: tail.
IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1,
class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0014: ret
- } // end of method 'f3@13-11'::Invoke
+ } // end of method 'f3@13-9'::Invoke
- } // end of class 'f3@13-11'
+ } // end of class 'f3@13-9'
- .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@13-2'
+ .class auto ansi serializable sealed nested assembly beforefieldinit f3@13
extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>
{
.field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@
@@ -681,9 +685,9 @@
IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor()
IL_0006: ldarg.0
IL_0007: ldarg.1
- IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-2'::builder@
+ IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/f3@13::builder@
IL_000d: ret
- } // end of method 'f3@13-2'::.ctor
+ } // end of method f3@13::.ctor
.method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed
@@ -695,24 +699,24 @@
[2] class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_2)
.line 13,13 : 17,31 ''
IL_0000: ldarg.0
- IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-2'::builder@
+ IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/f3@13::builder@
IL_0006: stloc.0
IL_0007: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6::f2()
IL_000c: stloc.1
IL_000d: ldarg.0
- IL_000e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-2'::builder@
- IL_0013: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
+ IL_000e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/f3@13::builder@
+ IL_0013: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@14-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
IL_0018: stloc.2
IL_0019: ldloc.1
IL_001a: ldloc.2
- IL_001b: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-11'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
- class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
+ IL_001b: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-9'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1,
+ class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0020: tail.
IL_0022: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>)
IL_0027: ret
- } // end of method 'f3@13-2'::Invoke
+ } // end of method f3@13::Invoke
- } // end of class 'f3@13-2'
+ } // end of class f3@13
.method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1
f2() cil managed
@@ -725,7 +729,7 @@
IL_0005: stloc.0
IL_0006: ldloc.0
IL_0007: ldloc.0
- IL_0008: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f2@5-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
+ IL_0008: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/f2@5::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
IL_000d: tail.
IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0014: ret
@@ -742,7 +746,7 @@
IL_0005: stloc.0
IL_0006: ldloc.0
IL_0007: ldloc.0
- IL_0008: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/'f3@13-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
+ IL_0008: newobj instance void AsyncExpressionSteppingTest6/AsyncExpressionSteppingTest6/f3@13::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder)
IL_000d: tail.
IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>)
IL_0014: ret