From 43cf4950f4de0f8898107732fa2dac4f60558498 Mon Sep 17 00:00:00 2001 From: lr Date: Wed, 14 Mar 2018 07:01:31 +0100 Subject: [PATCH 1/4] Use C# code instead of manually modified DLL. --- .../fsharpqa/Source/Import/AccessibilityTests.cs | 6 ++---- .../Source/Import/AccessibilityTests.dll | Bin 4608 -> 0 bytes tests/fsharpqa/Source/Import/env.lst | 8 ++++---- 3 files changed, 6 insertions(+), 8 deletions(-) delete mode 100644 tests/fsharpqa/Source/Import/AccessibilityTests.dll diff --git a/tests/fsharpqa/Source/Import/AccessibilityTests.cs b/tests/fsharpqa/Source/Import/AccessibilityTests.cs index e3df6a9fb70..1a8ac727bce 100644 --- a/tests/fsharpqa/Source/Import/AccessibilityTests.cs +++ b/tests/fsharpqa/Source/Import/AccessibilityTests.cs @@ -10,9 +10,7 @@ public class Accessibility private int Private { get; set; } protected int Protected { get; set; } internal int Internal { get; set; } - // Note: accessibility was modified using dnspy - public int FamOrAssembly { get; set; } - // Note: accessibility was modified using dnspy - public int FamAndAssembly { get; set; } + protected internal int FamOrAssembly { get; set; } + private protected int FamAndAssembly { get; set; } } diff --git a/tests/fsharpqa/Source/Import/AccessibilityTests.dll b/tests/fsharpqa/Source/Import/AccessibilityTests.dll deleted file mode 100644 index 0e01f245a7d15069221ccb8c6cc4561078833f20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4608 zcmeHKPiz!r6#vcacDpT

U5LmVrWOMAw=&Q6qtEDV3T+8(ND0VmrGXm(kgoW@cJi zL{m^n3?7W}z`+DP7%v(<7$qhe^y0yoc+jH>2X7v{7)^{3fA7s~w_8wyHw|C;e)Hb% z{rTSa=9``2@MEtc10c(J^(t_QR~bdczlUX-H*EW413ql|diy0~^y}@DC)~)I3xi5% zSFN(``$24#94nmnE!Ve(#wM(4FzXcB+FEy}smBijqecc>9v^wMw%Qf!*uKu_1zO4E z61LF8tHoL51U9N{CUpxT_3KzBl9!P|@g;GUfAwps3dQm5Zs52GMc|t>PSlk#1FT$VS%`M7mfA9WS7xnr7%D zxpd#WrlSZ9*5ulCqx6+SYBSM<%NDSy88C$W7o*F3mZ8}@cbJ*yR3O1p5<&$MJa7r2 z0ts#^AygpIR3lU%!DEnkq(TpCY{i`zoOpQ9NUN2-FZ36B3w^zP_dX!SXE8(E%w@Wt z2Nrq#nKg7z#G&g~BJuE;PukS|(6NyrUQbiMAo`#elz5fF5aal*ZyGJ4{I;tPok@R0 zr%jJ&TY6<#xPw#r$5eVhM3yO-TywY|`)U8xxXsMrK2z|R>6#rl&4f9eSLPkXFUaTc zJy9}j7SKEf>)uYeDbY8I@mVhEH6FF5*^<5<9S4`NvRHpMex5YDQ%{MPZgzK9iy_Z>s#3uJV@3 zmlZ!xQGBkb3`1(L6pM;8ipz>7cMZI4+)jK~@k7PW6u(sbjwpT^PLn88&P0|dPjoZo z9MR-#p`0h0oa-pJ5=~Ay59^89WiHe(eqaH7C|8DodlGq|Ty~FHJg892I6g z4|@*>v-6&_4-IxyqjC^>ZV6+hr=4<)iKQrZs@OX|U-I1YzGtSV2kr7Rd?<%q$D1V| zx(jyfT+a~1OyJC3YZ~!mC-iOaTFbCq9SaAd$f=gRrR$mp{Mo;>SDbh{sS{CMT(G@) z2Wm@dO^m6W@M)>3rKX9kR;!v;6tOhas^&%}^;uPL&1p4ND91sFwCc2(7!PYDtgP6W zo7(Cm4YyElF%AUPIoGpeH}H=-p1r72G!XL#wKN|)>3uC6o%dt6>J$=pC!BD?1()Xq zsX=&#CWogUJ>-<;D;2xsIdv{MDTN`|uJ}O|yX6Rp8xIT58gte*6HU21kDfCb)T3(! zJmmOJ$OAQ7Hziq|a4-x`MvZG;W15H=i|YG(9^PtSIP}KZTRJvv%^gMl<5N#eZRx-A zvYE?gEabD6VTfR4dXUe{qb8$Ee)T8K&f}pycO>u+E|#4+Y2f4uS=ne}Q2VX)ZkA^q zl4C=MfemYJ25vFX)_A*+l?aXB#rT!+`|cGHUGjdn>iTM__U>QJ0n-P9aLDrx+peEH zwvMAuws>9L#awH?DjK72YX9X9$Tx+4V=OoBLQXKy3%=?aMsn!n+wqYi5Sw*lZ1z)` z!UU#?2XU0r2*z-P`Ur8DvW!o&Km8%^_O)YwO31rsRa#|-hz7IT2${!)2ZuR*JcU5* zJN1ng%(1kF1R3Tv zA7|cxRn4>Zm}@n5p}v3V1^8_&JsaRoB6?Q2OOF*>{}{*6o8v}1U?u-Y>An9(18@5O HA3E?S>u)os diff --git a/tests/fsharpqa/Source/Import/env.lst b/tests/fsharpqa/Source/Import/env.lst index 792c23a3ace..af9c5c59795 100644 --- a/tests/fsharpqa/Source/Import/env.lst +++ b/tests/fsharpqa/Source/Import/env.lst @@ -83,11 +83,11 @@ NOMONO SOURCE=reference2.fsx SCFLAGS="--nologo -r:reference1.dll" PRECMD="\$FSC_ ### ### F# can consume FamOrAssembly and FamAndAssembly in combination with IVT ### - SOURCE=FamAndAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" # FamAndAssembly.fs + SOURCE=FamAndAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library AccessibilityTests.cs" # FamAndAssembly.fs ### See issue https://github.com/Microsoft/visualfsharp/issues/2496 - ### SOURCE=FamOrAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" # FamOrAssembly.fs - SOURCE=FamAndAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" # FamAndAssembly_NoIVT.fs - ### SOURCE=FamOrAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" # FamOrAssembly_NoIVT.fs + ### SOURCE=FamOrAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library AccessibilityTests.cs" # FamOrAssembly.fs + SOURCE=FamAndAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library AccessibilityTests.cs" # FamAndAssembly_NoIVT.fs + ### SOURCE=FamOrAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library AccessibilityTests.cs" # FamOrAssembly_NoIVT.fs ### ### Iterate over BCL collections From 4fcf640ad02990c81e68f9897b789e24d736005e Mon Sep 17 00:00:00 2001 From: Lukas Rieger <0x53A@users.noreply.github.com> Date: Wed, 14 Mar 2018 10:06:38 +0100 Subject: [PATCH 2/4] set /langversion:latest --- tests/fsharpqa/Source/Import/env.lst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/fsharpqa/Source/Import/env.lst b/tests/fsharpqa/Source/Import/env.lst index af9c5c59795..7e9100030a3 100644 --- a/tests/fsharpqa/Source/Import/env.lst +++ b/tests/fsharpqa/Source/Import/env.lst @@ -83,11 +83,11 @@ NOMONO SOURCE=reference2.fsx SCFLAGS="--nologo -r:reference1.dll" PRECMD="\$FSC_ ### ### F# can consume FamOrAssembly and FamAndAssembly in combination with IVT ### - SOURCE=FamAndAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library AccessibilityTests.cs" # FamAndAssembly.fs + SOURCE=FamAndAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library /langversion:latest AccessibilityTests.cs" # FamAndAssembly.fs ### See issue https://github.com/Microsoft/visualfsharp/issues/2496 - ### SOURCE=FamOrAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library AccessibilityTests.cs" # FamOrAssembly.fs - SOURCE=FamAndAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library AccessibilityTests.cs" # FamAndAssembly_NoIVT.fs - ### SOURCE=FamOrAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library AccessibilityTests.cs" # FamOrAssembly_NoIVT.fs + ### SOURCE=FamOrAssembly.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library /langversion:latest AccessibilityTests.cs" # FamOrAssembly.fs + SOURCE=FamAndAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library /langversion:latest AccessibilityTests.cs" # FamAndAssembly_NoIVT.fs + ### SOURCE=FamOrAssembly_NoIVT.fs SCFLAGS="-a -r:AccessibilityTests.dll" PRECMD="\$CSC_PIPE /debug /target:library /langversion:latest AccessibilityTests.cs" # FamOrAssembly_NoIVT.fs ### ### Iterate over BCL collections @@ -100,4 +100,4 @@ NOMONO SOURCE=reference2.fsx SCFLAGS="--nologo -r:reference1.dll" PRECMD="\$FSC_ SOURCE=ReferenceExe01.fsx PRECMD="\$FSC_PIPE ReferenceExe.fs" # ReferenceExe01.fsx - SOURCE=LineDirectiveFromCSharp.fs PRECMD="\$CSC_PIPE /t:library LineDirectiveLib.cs" SCFLAGS="-r:LineDirectiveLib.dll" # LineDirectiveFromCSharp.fs \ No newline at end of file + SOURCE=LineDirectiveFromCSharp.fs PRECMD="\$CSC_PIPE /t:library LineDirectiveLib.cs" SCFLAGS="-r:LineDirectiveLib.dll" # LineDirectiveFromCSharp.fs From 314cf5c290d869801e248537705c9552475ed523 Mon Sep 17 00:00:00 2001 From: Lukas Rieger <0x53A@users.noreply.github.com> Date: Thu, 15 Mar 2018 00:35:20 +0100 Subject: [PATCH 3/4] pre-fill CSC_PIPE with Microsoft.Net.Compilers --- build.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build.cmd b/build.cmd index 277cee2fb0e..c5753a6b3fc 100644 --- a/build.cmd +++ b/build.cmd @@ -938,6 +938,7 @@ set HOSTED_COMPILER=1 if "%TEST_NET40_FSHARPQA_SUITE%" == "1" ( + set CSC_PIPE=%~dp0packages\Microsoft.Net.Compilers.2.4.0\tools\csc.exe set FSC=!FSCBINPATH!\fsc.exe set FSCOREDLLPATH=!FSCBinPath!\FSharp.Core.dll set PATH=!FSCBINPATH!;!PATH! From 7582e4c1666194ea7fabdcda3ba10acefd5941ad Mon Sep 17 00:00:00 2001 From: lr Date: Thu, 15 Mar 2018 19:04:16 +0100 Subject: [PATCH 4/4] upgrade Microsoft.Net.Compilers 2.4 => 2.7 --- build.cmd | 2 +- tests/fsharp/packages.config | 2 +- tests/fsharp/test-framework.fs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.cmd b/build.cmd index c5753a6b3fc..7ae0c12403e 100644 --- a/build.cmd +++ b/build.cmd @@ -938,7 +938,7 @@ set HOSTED_COMPILER=1 if "%TEST_NET40_FSHARPQA_SUITE%" == "1" ( - set CSC_PIPE=%~dp0packages\Microsoft.Net.Compilers.2.4.0\tools\csc.exe + set CSC_PIPE=%~dp0packages\Microsoft.Net.Compilers.2.7.0\tools\csc.exe set FSC=!FSCBINPATH!\fsc.exe set FSCOREDLLPATH=!FSCBinPath!\FSharp.Core.dll set PATH=!FSCBINPATH!;!PATH! diff --git a/tests/fsharp/packages.config b/tests/fsharp/packages.config index 4715cb922cb..1d5c24f97f0 100644 --- a/tests/fsharp/packages.config +++ b/tests/fsharp/packages.config @@ -1,6 +1,6 @@  - + diff --git a/tests/fsharp/test-framework.fs b/tests/fsharp/test-framework.fs index e356652dc2d..279a98f12b5 100644 --- a/tests/fsharp/test-framework.fs +++ b/tests/fsharp/test-framework.fs @@ -155,7 +155,7 @@ let config configurationName envVars = let fsi_flags = "-r:System.Core.dll --nowarn:20 --define:INTERACTIVE --maxerrors:1 --abortonerror" let Is64BitOperatingSystem = WindowsPlatform.Is64BitOperatingSystem envVars let architectureMoniker = if Is64BitOperatingSystem then "x64" else "x86" - let CSC = requireFile (packagesDir ++ "Microsoft.Net.Compilers.2.4.0" ++ "tools" ++ "csc.exe") + let CSC = requireFile (packagesDir ++ "Microsoft.Net.Compilers.2.7.0" ++ "tools" ++ "csc.exe") let ILDASM = requireFile (packagesDir ++ ("runtime.win-" + architectureMoniker + ".Microsoft.NETCore.ILDAsm.2.0.3") ++ "runtimes" ++ ("win-" + architectureMoniker) ++ "native" ++ "ildasm.exe") let coreclrdll = requireFile (packagesDir ++ ("runtime.win-" + architectureMoniker + ".Microsoft.NETCore.Runtime.CoreCLR.2.0.3") ++ "runtimes" ++ ("win-" + architectureMoniker) ++ "native" ++ "coreclr.dll") let PEVERIFY = requireFile (SCRIPT_ROOT ++ ".." ++ "fsharpqa" ++ "testenv" ++ "src" ++ "PEVerify" ++ "bin" ++ configurationName ++ "net46" ++ "PEVerify.exe")