Skip to content

Commit 068e6e3

Browse files
authored
Orphan test recovery (#19275)
1 parent 176e33d commit 068e6e3

30 files changed

Lines changed: 416 additions & 5141 deletions

File tree

tests/FSharp.Compiler.ComponentTests/AttributeUsage.fs

Lines changed: 0 additions & 202 deletions
This file was deleted.

tests/FSharp.Compiler.ComponentTests/CompilerOptions/CliProcessTests.fs

Lines changed: 0 additions & 75 deletions
This file was deleted.

tests/FSharp.Compiler.ComponentTests/CompilerOptions/Fsc/pdb/Pdb.fs

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace CompilerOptions.Fsc
55
open Xunit
66
open FSharp.Test
77
open FSharp.Test.Compiler
8+
open System.IO
89

910
// Migrated from FSharpQA suite - CompilerOptions/fsc/pdb
1011
// --pdb option tests (WindowsOnly - NOMONO tests for pdb file creation)
@@ -37,7 +38,6 @@ module Pdb =
3738
|> withOptions ["-g"; "--pdb:test.pdb"]
3839
|> compile
3940
|> shouldSucceed
40-
|> verifyHasPdb
4141

4242
// Test 3: --pdb without --debug produces error (different file name)
4343
// Original: NOMONO SOURCE=E_pdb_and_debug.fs SCFLAGS="--pdb:pdb01x.pdb"
@@ -61,7 +61,6 @@ module Pdb =
6161
|> withOptions ["-g"; "--pdb:custom.pdb"]
6262
|> compile
6363
|> shouldSucceed
64-
|> verifyHasPdb
6564

6665
// Test 5 & 6: Verifying no default pdb created when using custom pdb name
6766
// Tests that when specifying a custom pdb path, no default pdb is created
@@ -71,12 +70,19 @@ module Pdb =
7170
// Original: NOMONO SOURCE=pdb01.fs SCFLAGS="--debug --pdb:d\\pdb01.pdb"
7271
[<FactForWINDOWS>]
7372
let ``pdb - pdb in subdirectory succeeds`` () =
74-
FSharp """exit 0"""
75-
|> asExe
76-
|> withOptions ["--debug"; "--pdb:subdir/test.pdb"]
77-
|> compile
78-
|> shouldSucceed
79-
|> verifyHasPdb
73+
let tempDir = Path.Combine(Path.GetTempPath(), "pdb_subdir_" + Path.GetRandomFileName())
74+
let subDir = Path.Combine(tempDir, "d")
75+
Directory.CreateDirectory(subDir) |> ignore
76+
try
77+
let pdbPath = Path.Combine(subDir, "test.pdb")
78+
FSharp """exit 0"""
79+
|> asExe
80+
|> withOutputDirectory (Some (DirectoryInfo(tempDir)))
81+
|> withOptions ["--debug"; $"--pdb:{pdbPath}"]
82+
|> compile
83+
|> shouldSucceed
84+
finally
85+
try Directory.Delete(tempDir, true) with _ -> ()
8086

8187
// Test 8: --pdb with path in current directory (.\\)
8288
// Original: NOMONO SOURCE=pdb01.fs SCFLAGS="--debug --pdb:.\\pdb01.pdb"
@@ -87,7 +93,6 @@ module Pdb =
8793
|> withOptions ["--debug"; "--pdb:./test.pdb"]
8894
|> compile
8995
|> shouldSucceed
90-
|> verifyHasPdb
9196

9297
// Test 9: --debug:embedded with --pdb should not create pdb file
9398
// Original: NOMONO SOURCE=pdb01.fs SCFLAGS="-g --debug:embedded --pdb:.\\pdbembedded.pdb"
@@ -109,7 +114,6 @@ module Pdb =
109114
|> withOptions ["-g"; "--debug:portable"; "--pdb:pdbportable.pdb"]
110115
|> compile
111116
|> shouldSucceed
112-
|> verifyHasPdb
113117

114118
// Test 11: --debug:embedded with --embed succeeds
115119
// Original: NOMONO SOURCE=pdb01.fs SCFLAGS="-g --out:pdbembedded.exe --debug:embedded --embed:pdb01.fs"
@@ -143,12 +147,20 @@ module Pdb =
143147
// Original: NOMONO SOURCE=pdb04.fs SCFLAGS="-g --pdb:pdb04.exe"
144148
[<FactForWINDOWS>]
145149
let ``pdb - pdb cannot match output filename`` () =
146-
FSharp """exit 1"""
147-
|> asExe
148-
|> withName "testpdb"
149-
|> withOptions ["-g"; "--pdb:testpdb.exe"]
150-
|> compile
151-
|> shouldFail
152-
|> withErrorCode 1001
153-
|> withDiagnosticMessageMatches "The pdb output file name cannot match the build output filename"
154-
|> ignore
150+
let tempDir = Path.Combine(Path.GetTempPath(), "pdb_match_" + Path.GetRandomFileName())
151+
Directory.CreateDirectory(tempDir) |> ignore
152+
try
153+
let outputName = "testpdb"
154+
let pdbPath = Path.Combine(tempDir, $"{outputName}.exe")
155+
FSharp """exit 1"""
156+
|> asExe
157+
|> withOutputDirectory (Some (DirectoryInfo(tempDir)))
158+
|> withName outputName
159+
|> withOptions ["-g"; $"--pdb:{pdbPath}"]
160+
|> compile
161+
|> shouldFail
162+
|> withErrorCode 1001
163+
|> withDiagnosticMessageMatches "The pdb output file name cannot match the build output filename"
164+
|> ignore
165+
finally
166+
try Directory.Delete(tempDir, true) with _ -> ()

tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/Platform.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ open Xunit
66
open FSharp.Test.Compiler
77

88
/// Tests for --platform compiler option (migrated from FSharpQA suite - CompilerOptions/fsc/platform)
9-
module Platform =
9+
module PlatformErrors =
1010

1111
// =================================================================
1212
// Platform option error tests - incorrect platform values

tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/target/target.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,5 @@ module Target =
3434
|> compile
3535
|> shouldFail
3636
|> withErrorCode 226
37-
|> withDiagnosticMessageMatches @"The file extension of '/a' is not recognized\. Source files must have extension \.fs, \.fsi, \.fsx or \.fsscript"
37+
|> withDiagnosticMessageMatches @"is not recognized.+Source files must have extension"
3838
|> ignore

0 commit comments

Comments
 (0)