@@ -34,6 +34,7 @@ module MyModule =
3434 printfn "Hello from main method"
3535 0
3636 """
37+ |> withName " SimpleTypesInNamespace"
3738 |> withRealInternalSignature realSig
3839 |> compileExeAndRun
3940 |> shouldSucceed
@@ -42,6 +43,11 @@ module MyModule =
4243 " Hello, World from MyLibrary.MySecondType"
4344 " Hello from main method"
4445 ]
46+ |> verifyPEFileWithSystemDlls
47+ |> withOutputContainsAllInOrderWithWildcards [
48+ " All Classes and Methods in*SimpleTypesInNamespace.exe Verified."
49+ ]
50+
4551
4652
4753 [<InlineData( true ) >] // RealSig
@@ -60,6 +66,7 @@ type MySecondType =
6066
6167printfn "Hello from implicit main method"
6268 """
69+ |> withName " SimpleTypesInImplicitMain"
6370 |> withRealInternalSignature realSig
6471 |> compileExeAndRun
6572 |> shouldSucceed
@@ -68,6 +75,10 @@ printfn "Hello from implicit main method"
6875 " Hello, World from MyProgram.MySecondType"
6976 " Hello from implicit main method"
7077 ]
78+ |> verifyPEFileWithSystemDlls
79+ |> withOutputContainsAllInOrderWithWildcards [
80+ " All Classes and Methods in*SimpleTypesInImplicitMain.exe Verified."
81+ ]
7182
7283
7384 [<InlineData( true ) >] // RealSig
@@ -91,6 +102,7 @@ module MyModule =
91102 printfn "Hello from main method"
92103 0
93104 """
105+ |> withName " SimpleTypeOneAndTypeTwoInNamespace"
94106 |> withRealInternalSignature realSig
95107 |> compileExeAndRun
96108 |> withStdOutContainsAllInOrder [
@@ -99,6 +111,10 @@ module MyModule =
99111 " Hello from main method"
100112 ]
101113 |> shouldSucceed
114+ |> verifyPEFileWithSystemDlls
115+ |> withOutputContainsAllInOrderWithWildcards [
116+ " All Classes and Methods in*SimpleTypeOneAndTypeTwoInNamespace.exe Verified."
117+ ]
102118
103119 [<InlineData( true ) >] // RealSig
104120 [<InlineData( false ) >] // Regular
@@ -130,12 +146,17 @@ module doit =
130146 FSharpSource.CreateFromFile("Hello") |> ignore
131147 printfn "Main program"
132148 """
149+ |> withName " PublicTypePublicCtor"
133150 |> withRealInternalSignature realSig
134151 |> compileExeAndRun
135152 |> shouldSucceed
136153 |> withStdOutContainsAllInOrder [
137154 " Main program"
138155 ]
156+ |> verifyPEFileWithSystemDlls
157+ |> withOutputContainsAllInOrderWithWildcards [
158+ " All Classes and Methods in*PublicTypePublicCtor.exe Verified."
159+ ]
139160
140161
141162 [<InlineData( true ) >] // RealSig
@@ -168,12 +189,17 @@ module doit =
168189 FSharpSource.CreateFromFile("Hello") |> ignore
169190 printfn "Main program"
170191 """
192+ |> withName " PublicTypeInternalCtor"
171193 |> withRealInternalSignature realSig
172194 |> compileExeAndRun
173195 |> shouldSucceed
174196 |> withStdOutContainsAllInOrder [
175197 " Main program"
176198 ]
199+ |> verifyPEFileWithSystemDlls
200+ |> withOutputContainsAllInOrderWithWildcards [
201+ " All Classes and Methods in*PublicTypeInternalCtor.exe Verified."
202+ ]
177203
178204
179205 [<InlineData( true ) >] // RealSig
@@ -206,12 +232,17 @@ module doit =
206232 FSharpSource.CreateFromFile("Hello") |> ignore
207233 printfn "Main program"
208234 """
235+ |> withName " PublicTypePrivateCtor"
209236 |> withRealInternalSignature realSig
210237 |> compileExeAndRun
211238 |> shouldSucceed
212239 |> withStdOutContainsAllInOrder [
213240 " Main program"
214241 ]
242+ |> verifyPEFileWithSystemDlls
243+ |> withOutputContainsAllInOrderWithWildcards [
244+ " All Classes and Methods in*PublicTypePrivateCtor.exe Verified."
245+ ]
215246
216247 [<InlineData( true ) >] // RealSig
217248 [<InlineData( false ) >] // Regular
@@ -243,12 +274,17 @@ module doit =
243274 FSharpSource.CreateFromFile("Hello") |> ignore
244275 printfn "Main program"
245276 """
277+ |> withName " PublicTypeUnspecifiedCtor"
246278 |> withRealInternalSignature realSig
247279 |> compileExeAndRun
248280 |> shouldSucceed
249281 |> withStdOutContainsAllInOrder [
250282 " Main program"
251283 ]
284+ |> verifyPEFileWithSystemDlls
285+ |> withOutputContainsAllInOrderWithWildcards [
286+ " All Classes and Methods in*PublicTypeUnspecifiedCtor.exe Verified."
287+ ]
252288
253289 [<InlineData( true ) >] // RealSig
254290 [<InlineData( false ) >] // Regular
@@ -280,13 +316,17 @@ module doit =
280316 FSharpSource.CreateFromFile("Hello") |> ignore
281317 printfn "Main program"
282318 """
319+ |> withName " PrivateTypePublicCtor"
283320 |> withRealInternalSignature realSig
284321 |> compileExeAndRun
285322 |> shouldSucceed
286323 |> withStdOutContainsAllInOrder [
287324 " Main program"
288325 ]
289-
326+ |> verifyPEFileWithSystemDlls
327+ |> withOutputContainsAllInOrderWithWildcards [
328+ " All Classes and Methods in*PrivateTypePublicCtor.exe Verified."
329+ ]
290330
291331 [<InlineData( true ) >] // RealSig
292332 [<InlineData( false ) >] // Regular
@@ -318,12 +358,17 @@ module doit =
318358 FSharpSource.CreateFromFile("Hello") |> ignore
319359 printfn "Main program"
320360 """
361+ |> withName " PrivateTypeInternalCtor"
321362 |> withRealInternalSignature realSig
322363 |> compileExeAndRun
323364 |> withStdOutContainsAllInOrder [
324365 " Main program"
325366 ]
326367 |> shouldSucceed
368+ |> verifyPEFileWithSystemDlls
369+ |> withOutputContainsAllInOrderWithWildcards [
370+ " All Classes and Methods in*PrivateTypeInternalCtor.exe Verified."
371+ ]
327372
328373 [<InlineData( true ) >] // RealSig
329374 [<InlineData( false ) >] // Regular
@@ -362,12 +407,17 @@ type FSharpSource with
362407module doit =
363408 printfn "Main program"
364409 """
410+ |> withName " PrivateTypePrivateCtor"
365411 |> withRealInternalSignature realSig
366412 |> compileExeAndRun
367413 |> shouldSucceed
368414 |> withStdOutContainsAllInOrder [
369415 " Main program"
370416 ]
417+ |> verifyPEFileWithSystemDlls
418+ |> withOutputContainsAllInOrderWithWildcards [
419+ " All Classes and Methods in*PrivateTypePrivateCtor.exe Verified."
420+ ]
371421
372422 [<InlineData( true ) >] // RealSig
373423 [<InlineData( false ) >] // Regular
@@ -399,12 +449,17 @@ module doit =
399449 FSharpSource.CreateFromFile("Hello") |> ignore
400450 printfn "Main program"
401451 """
452+ |> withName " PrivateTypeUnspecifiedCtor"
402453 |> withRealInternalSignature realSig
403454 |> compileExeAndRun
404455 |> shouldSucceed
405456 |> withStdOutContainsAllInOrder [
406457 " Main program"
407458 ]
459+ |> verifyPEFileWithSystemDlls
460+ |> withOutputContainsAllInOrderWithWildcards [
461+ " All Classes and Methods in*PrivateTypeUnspecifiedCtor.exe Verified."
462+ ]
408463
409464 [<InlineData( true ) >] // RealSig
410465 [<InlineData( false ) >] // Regular
@@ -439,12 +494,17 @@ let message = FSharpSourceFromFile.SetIt ("Here is something")
439494
440495printfn $"{message}"
441496 """
497+ |> withName " StaticInitializationNoInlinePrivateField"
442498 |> withRealInternalSignature realSig
443499 |> compileExeAndRun
444500 |> shouldSucceed
445501 |> withStdOutContainsAllInOrder [
446502 " Here is something"
447503 ]
504+ |> verifyPEFileWithSystemDlls
505+ |> withOutputContainsAllInOrderWithWildcards [
506+ " All Classes and Methods in*StaticInitializationNoInlinePrivateField.exe Verified."
507+ ]
448508
449509 [<InlineData( true ) >] // RealSig
450510 [<InlineData( false ) >] // Regular
@@ -476,14 +536,18 @@ type MyClass =
476536
477537printfn "%A " (MyClass.result())
478538"""
539+ |> withName " ComputationExpressionAccessPrivateBinding"
479540 |> withRealInternalSignature realSig
480541 |> withNoOptimize
481542 |> compileExeAndRun
482543 |> shouldSucceed
483544 |> withStdOutContainsAllInOrder [
484545 " Some 3"
485546 ]
486-
547+ |> verifyPEFileWithSystemDlls
548+ |> withOutputContainsAllInOrderWithWildcards [
549+ " All Classes and Methods in*ComputationExpressionAccessPrivateBinding.exe Verified."
550+ ]
487551
488552 [<InlineData( true , true ) >] // RealSig Optimize
489553 [<InlineData( true , false ) >] // RealSig NoOptimize
@@ -495,11 +559,16 @@ printfn "%A" (MyClass.result())
495559 let source = File.ReadAllText ( path)
496560
497561 FSharp source
562+ |> withName " NestedGenericClosure"
498563 |> asExe
499564 |> withRealInternalSignature realSig
500565 |> withOptimization optimize
501566 |> compileAndRun
502567 |> shouldSucceed
568+ |> verifyPEFileWithSystemDlls
569+ |> withOutputContainsAllInOrderWithWildcards [
570+ " All Classes and Methods in*NestedGenericClosure.exe Verified."
571+ ]
503572
504573 [<InlineData( true , true ) >] // RealSig Optimize
505574 [<InlineData( true , false ) >] // RealSig NoOptimize
@@ -538,11 +607,16 @@ module doIt =
538607 for i in enumerator.MoveNext() do
539608 printfn "%A " i
540609 """
610+ |> withName " GenericClassWithClosureWithConstraints"
541611 |> asExe
542612 |> withRealInternalSignature realSig
543613 |> withOptimization optimize
544614 |> compileAndRun
545615 |> shouldSucceed
616+ |> verifyPEFileWithSystemDlls
617+ |> withOutputContainsAllInOrderWithWildcards [
618+ " All Classes and Methods in*GenericClassWithClosureWithConstraints.exe Verified."
619+ ]
546620
547621 [<InlineData( true , true ) >] // RealSig Optimize
548622 [<InlineData( true , false ) >] // RealSig NoOptimize
@@ -700,11 +774,16 @@ type internal AgedLookup<'Token, 'Key, 'Value when 'Value: not struct>(keepStron
700774 let keep = FilterAndHold(tok)
701775 AssignWithStrength(tok, keep)
702776 """
777+ |> withName " AgedLookup"
703778 |> asLibrary
704779 |> withRealInternalSignature realSig
705780 |> withOptimization optimize
706781 |> compile
707782 |> shouldSucceed
783+ |> verifyPEFileWithSystemDlls
784+ |> withOutputContainsAllInOrderWithWildcards [
785+ " All Classes and Methods in*AgedLookup.dll Verified."
786+ ]
708787
709788 [<InlineData( true , true ) >] // RealSig Optimize
710789 [<InlineData( true , false ) >] // RealSig NoOptimize
@@ -718,11 +797,16 @@ namespace Equality
718797
719798type BigGenericTuple<'a> = BigGenericTuple of int * 'a * byte * int * 'a * byte
720799 """
800+ |> withName " BigTuples"
721801 |> asLibrary
722802 |> withRealInternalSignature realSig
723803 |> withOptimization optimize
724804 |> compile
725805 |> shouldSucceed
806+ |> verifyPEFileWithSystemDlls
807+ |> withOutputContainsAllInOrderWithWildcards [
808+ " All Classes and Methods in*BigTuples.dll Verified."
809+ ]
726810
727811 [<InlineData( true , true ) >] // RealSig Optimize
728812 [<InlineData( true , false ) >] // RealSig NoOptimize
@@ -735,14 +819,18 @@ type BigGenericTuple<'a> = BigGenericTuple of int * 'a * byte * int * 'a * byte
735819module GroupByTest
736820let ``for _ in Array groupBy id [||] do ...`` () = [|for _ in Array.groupBy id [||] do 0|]
737821 """
822+ |> withName " ArrayGroupById"
738823 |> asLibrary
739824 |> withRealInternalSignature realSig
740825 |> withOptimization optimize
741826 |> compile
742827 |> shouldSucceed
828+ |> verifyPEFileWithSystemDlls
829+ |> withOutputContainsAllInOrderWithWildcards [
830+ " All Classes and Methods in*ArrayGroupById.dll Verified."
831+ ]
743832
744-
745- let roundTripWithInterfaceGeneration ( realsig , optimize , implementationFile ) =
833+ let roundTripWithInterfaceGeneration ( realsig , optimize , implementationFile , name ) =
746834
747835 let generatedSignature =
748836 Fs implementationFile
@@ -751,6 +839,7 @@ let ``for _ in Array groupBy id [||] do ...`` () = [|for _ in Array.groupBy id [
751839 |> printSignatures
752840
753841 Fsi generatedSignature
842+ |> withName name
754843 |> asLibrary
755844 |> withAdditionalSourceFile ( FsSource implementationFile)
756845 |> withRealInternalSignature realsig
@@ -774,7 +863,11 @@ type IMonad<'a> =
774863 abstract bind : #IMonad<'a> -> ('a -> #IMonad<'b>) -> IMonad<'b>
775864 end"""
776865
777- roundTripWithInterfaceGeneration( realsig, optimize, implementationFile)
866+ roundTripWithInterfaceGeneration( realsig, optimize, implementationFile, " GenericParameterOrderRoundtrip" )
867+ |> verifyPEFileWithSystemDlls
868+ |> withOutputContainsAllInOrderWithWildcards [
869+ " All Classes and Methods in*GenericParameterOrderRoundtrip.dll Verified."
870+ ]
778871
779872 [<InlineData( true , true ) >] // RealSig Optimize
780873 [<InlineData( true , false ) >] // RealSig NoOptimize
@@ -803,4 +896,8 @@ namespace GenericInterfaceTest
803896 new(x) = { store = x }
804897 end"""
805898
806- roundTripWithInterfaceGeneration( realsig, optimize, implementationFile)
899+ roundTripWithInterfaceGeneration( realsig, optimize, implementationFile, " MembersBasicRoundtrip" )
900+ |> verifyPEFileWithSystemDlls
901+ |> withOutputContainsAllInOrderWithWildcards [
902+ " All Classes and Methods in*MembersBasicRoundtrip.dll Verified."
903+ ]
0 commit comments