From 76a6a67e4afa65e0a099f61f5c6b0d481af2ed0a Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sun, 7 Feb 2016 21:00:10 +0000 Subject: [PATCH 1/9] enable all of fsharpqa in appveyor ci --- build.cmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.cmd b/build.cmd index c3f2b018f0..5880a003ab 100644 --- a/build.cmd +++ b/build.cmd @@ -42,6 +42,7 @@ set TEST_PORTABLE259_COREUNIT=0 set TEST_VS=0 set TEST_FSHARP_SUITE=0 set TEST_TAGS= +set TEST_TAGS2= set TEST_FSHARPQA_SUITE=0 set BUILD_CONFIG=Release set BUILD_CONFIG_LOWER=release @@ -208,6 +209,7 @@ echo TEST_VS=%TEST_VS% echo TEST_FSHARP_SUITE=%TEST_FSHARP_SUITE% echo TEST_FSHARPQA_SUITE=%TEST_FSHARPQA_SUITE% echo TEST_TAGS=%TEST_TAGS% +echo TEST_TAGS2=%TEST_TAGS2% echo BUILD_CONFIG=%BUILD_CONFIG% echo BUILD_CONFIG_LOWER=%BUILD_CONFIG_LOWER% echo. @@ -350,7 +352,7 @@ set FSHARP_TEST_SUITE_USE_NUNIT_RUNNER= ) if '%TEST_FSHARPQA_SUITE%' == '1' ( -call RunTests.cmd %BUILD_CONFIG_LOWER% fsharpqa %TEST_TAGS2% +call RunTests.cmd %BUILD_CONFIG_LOWER% fsharpqa %TEST_TAGS% @if ERRORLEVEL 1 type testresults\fsharpqa_failures.log && echo Error: 'RunTests.cmd %BUILD_CONFIG_LOWER% fsharpqa %CONF_QA_SUITE%' failed && goto :failure ) From fe4fa89080f4d718ff4b75fd2418f203ee0a3e99 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sun, 7 Feb 2016 21:02:06 +0000 Subject: [PATCH 2/9] enable all of fsharpqa in appveyor ci (2) --- build.cmd | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build.cmd b/build.cmd index 5880a003ab..7e92e41a4d 100644 --- a/build.cmd +++ b/build.cmd @@ -42,7 +42,7 @@ set TEST_PORTABLE259_COREUNIT=0 set TEST_VS=0 set TEST_FSHARP_SUITE=0 set TEST_TAGS= -set TEST_TAGS2= +set TEST_TAGS_CI= set TEST_FSHARPQA_SUITE=0 set BUILD_CONFIG=Release set BUILD_CONFIG_LOWER=release @@ -124,7 +124,7 @@ if /i '%ARG%' == 'ci' ( set TEST_FSHARPQA_SUITE=1 set TEST_VS=0 set TEST_TAGS= - set TEST_TAGS2=CI + set TEST_TAGS_CI=CI ) REM These divide 'ci' into three chunks which can be done in parallel @@ -143,20 +143,20 @@ if /i '%ARG%' == 'ci_part1' ( set TEST_PORTABLE259_COREUNIT=1 set TEST_VS=0 set TEST_TAGS= - set TEST_TAGS2=CI + set TEST_TAGS_CI=CI ) if /i '%ARG%' == 'ci_part2' ( set TEST_FSHARP_SUITE=1 set TEST_TAGS= - set TEST_TAGS2=CI + set TEST_TAGS_CI=CI ) if /i '%ARG%' == 'ci_part3' ( set TEST_FSHARPQA_SUITE=1 set TEST_TAGS= - set TEST_TAGS2=CI + set TEST_TAGS_CI=CI ) if /i '%ARG%' == 'smoke' ( @@ -168,7 +168,7 @@ if /i '%ARG%' == 'smoke' ( set TEST_FSHARP_SUITE=1 set TEST_FSHARPQA_SUITE=0 - set TEST_TAGS2=Smoke + set TEST_TAGS_CI=Smoke ) if /i '%ARG%' == 'debug' ( @@ -209,7 +209,7 @@ echo TEST_VS=%TEST_VS% echo TEST_FSHARP_SUITE=%TEST_FSHARP_SUITE% echo TEST_FSHARPQA_SUITE=%TEST_FSHARPQA_SUITE% echo TEST_TAGS=%TEST_TAGS% -echo TEST_TAGS2=%TEST_TAGS2% +echo TEST_TAGS_CI=%TEST_TAGS_CI% echo BUILD_CONFIG=%BUILD_CONFIG% echo BUILD_CONFIG_LOWER=%BUILD_CONFIG_LOWER% echo. @@ -346,7 +346,7 @@ set FSHARP_TEST_SUITE_USE_NUNIT_RUNNER=true %_msbuildexe% fsharp\fsharp.tests.fsproj /p:Configuration=%BUILD_CONFIG% @if ERRORLEVEL 1 echo Error: fsharp cambridge tests for nunit failed && goto :failure -call RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %TEST_TAGS2% +call RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %TEST_TAGS_CI% @if ERRORLEVEL 1 type testresults\fsharp_failures.log && echo Error: 'RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %CONF_CAMBRIDGE_SUITE%' failed && goto :failure set FSHARP_TEST_SUITE_USE_NUNIT_RUNNER= ) From b3e24e9ab1272f1f5cf801ee3cd28531daeaca95 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Sun, 7 Feb 2016 22:45:19 +0000 Subject: [PATCH 3/9] changes to tests --- .../GenericComparison/Compare07.il.netfx4.bsl | 54 +++++++++--------- .../GenericComparison/Compare10.il.netfx4.bsl | Bin 142248 -> 70601 bytes .../GenericComparison/Equals06.il.netfx4.bsl | 54 +++++++++--------- .../GenericComparison/Equals09.il.netfx4.bsl | Bin 141540 -> 70244 bytes .../GenericComparison/Hash09.il.netfx4.bsl | 46 +++++++-------- .../GenericComparison/Hash12.il.netfx4.bsl | Bin 134464 -> 66734 bytes .../LoadingLogic/Cleanup.cmd | 1 + .../LoadingLogic/DoStuff.cmd | 1 + 8 files changed, 79 insertions(+), 77 deletions(-) diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl index d3f94c4eee..9264f0d50e 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare07.il.netfx4.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.0.30319.17376 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.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:3:0:0 + .ver 4:4:1:9055 } .assembly Compare07 { @@ -29,20 +29,22 @@ } .mresource public FSharpSignatureData.Compare07 { - // Offset: 0x00000000 Length: 0x000008B6 + // Offset: 0x00000000 Length: 0x0000089A + // WARNING: managed resource file FSharpSignatureData.Compare07 created } .mresource public FSharpOptimizationData.Compare07 { - // Offset: 0x000008C0 Length: 0x000006A4 + // Offset: 0x000008A0 Length: 0x00000694 + // WARNING: managed resource file FSharpOptimizationData.Compare07 created } .module Compare07.dll -// MVID: {4F20E44D-05DE-F88E-A745-03834DE4204F} +// MVID: {56B7C20F-05DE-F88E-A745-03830FC2B756} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x000000ADDE9C0000 +// Image base: 0x01310000 // =============== CLASS MEMBERS DECLARATION =================== @@ -254,17 +256,16 @@ instance int32 CompareTo(object obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 16 (0x10) + // Code size 14 (0xe) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.0 IL_0002: ldarg.1 IL_0003: unbox.any class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 - IL_0008: tail. - IL_000a: callvirt instance int32 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::CompareTo(class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1) - IL_000f: ret + IL_0008: callvirt instance int32 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::CompareTo(class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1) + IL_000d: ret } // end of method GenericKey`1::CompareTo .method public hidebysig virtual final @@ -280,7 +281,7 @@ [3] int32 V_3, [4] !a V_4, [5] !a V_5) - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.1 IL_0002: unbox.any class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 @@ -432,7 +433,7 @@ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.0 IL_0002: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() @@ -583,7 +584,7 @@ instance bool Equals(object obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 23 (0x17) + // Code size 21 (0x15) .maxstack 4 .locals init (class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 V_0) IL_0000: nop @@ -591,16 +592,15 @@ IL_0002: isinst class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0007: stloc.0 IL_0008: ldloc.0 - IL_0009: brfalse.s IL_0015 + IL_0009: brfalse.s IL_0013 IL_000b: ldarg.0 IL_000c: ldloc.0 - IL_000d: tail. - IL_000f: callvirt instance bool class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::Equals(class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1) - IL_0014: ret + IL_000d: callvirt instance bool class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::Equals(class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1) + IL_0012: ret - IL_0015: ldc.i4.0 - IL_0016: ret + IL_0013: ldc.i4.0 + IL_0014: ret } // end of method GenericKey`1::Equals .property instance int32 Tag() @@ -638,28 +638,28 @@ [1] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 t1, [2] class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 t2, [3] int32 i) - .line 6,6 : 8,25 + .line 6,6 : 8,25 IL_0000: nop IL_0001: ldc.i4.1 IL_0002: stloc.0 - .line 7,7 : 8,32 + .line 7,7 : 8,32 IL_0003: ldc.i4.1 IL_0004: ldc.i4.2 IL_0005: call class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::NewGenericKey(!0, !0) IL_000a: stloc.1 - .line 8,8 : 8,32 + .line 8,8 : 8,32 IL_000b: ldc.i4.1 IL_000c: ldc.i4.3 IL_000d: call class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::NewGenericKey(!0, !0) IL_0012: stloc.2 - .line 9,9 : 8,32 + .line 9,9 : 8,32 IL_0013: ldc.i4.0 IL_0014: stloc.3 IL_0015: br.s IL_0023 - .line 10,10 : 12,30 + .line 10,10 : 12,30 IL_0017: ldloc.1 IL_0018: ldloc.2 IL_0019: callvirt instance int32 class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1::CompareTo(class Compare07/CompareMicroPerfAndCodeGenerationTests/GenericKey`1) @@ -668,12 +668,12 @@ IL_0020: ldc.i4.1 IL_0021: add IL_0022: stloc.3 - .line 9,9 : 21,29 + .line 9,9 : 21,29 IL_0023: ldloc.3 IL_0024: ldc.i4 0x989681 IL_0029: blt.s IL_0017 - .line 11,11 : 8,9 + .line 11,11 : 8,9 IL_002b: ldloc.0 IL_002c: ret } // end of method CompareMicroPerfAndCodeGenerationTests::f6 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Compare10.il.netfx4.bsl index 50bdd64b3116a8875a9d5715ab449387745f0932..a425e0cd9685394159a0a50847aa53c8b6f0975a 100644 GIT binary patch literal 70601 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 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl index d9504cae2c..4dc8fc9bf2 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals06.il.netfx4.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.0.30319.17376 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.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:3:0:0 + .ver 4:4:1:9055 } .assembly Equals06 { @@ -29,20 +29,22 @@ } .mresource public FSharpSignatureData.Equals06 { - // Offset: 0x00000000 Length: 0x000008B2 + // Offset: 0x00000000 Length: 0x00000896 + // WARNING: managed resource file FSharpSignatureData.Equals06 created } .mresource public FSharpOptimizationData.Equals06 { - // Offset: 0x000008B8 Length: 0x000006A0 + // Offset: 0x000008A0 Length: 0x00000690 + // WARNING: managed resource file FSharpOptimizationData.Equals06 created } .module Equals06.dll -// MVID: {4F20E45C-0759-31EC-A745-03835CE4204F} +// MVID: {56B7C2C7-0759-31EC-A745-0383C7C2B756} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x0000003652390000 +// Image base: 0x00B20000 // =============== CLASS MEMBERS DECLARATION =================== @@ -254,17 +256,16 @@ instance int32 CompareTo(object obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 16 (0x10) + // Code size 14 (0xe) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.0 IL_0002: ldarg.1 IL_0003: unbox.any class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 - IL_0008: tail. - IL_000a: callvirt instance int32 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::CompareTo(class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1) - IL_000f: ret + IL_0008: callvirt instance int32 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::CompareTo(class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1) + IL_000d: ret } // end of method GenericKey`1::CompareTo .method public hidebysig virtual final @@ -280,7 +281,7 @@ [3] int32 V_3, [4] !a V_4, [5] !a V_5) - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.1 IL_0002: unbox.any class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 @@ -432,7 +433,7 @@ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.0 IL_0002: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() @@ -583,7 +584,7 @@ instance bool Equals(object obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 23 (0x17) + // Code size 21 (0x15) .maxstack 4 .locals init (class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 V_0) IL_0000: nop @@ -591,16 +592,15 @@ IL_0002: isinst class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0007: stloc.0 IL_0008: ldloc.0 - IL_0009: brfalse.s IL_0015 + IL_0009: brfalse.s IL_0013 IL_000b: ldarg.0 IL_000c: ldloc.0 - IL_000d: tail. - IL_000f: callvirt instance bool class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::Equals(class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1) - IL_0014: ret + IL_000d: callvirt instance bool class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::Equals(class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1) + IL_0012: ret - IL_0015: ldc.i4.0 - IL_0016: ret + IL_0013: ldc.i4.0 + IL_0014: ret } // end of method GenericKey`1::Equals .property instance int32 Tag() @@ -638,28 +638,28 @@ [1] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 t1, [2] class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 t2, [3] int32 i) - .line 6,6 : 8,29 + .line 6,6 : 8,29 IL_0000: nop IL_0001: ldc.i4.0 IL_0002: stloc.0 - .line 7,7 : 8,32 + .line 7,7 : 8,32 IL_0003: ldc.i4.1 IL_0004: ldc.i4.2 IL_0005: call class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::NewGenericKey(!0, !0) IL_000a: stloc.1 - .line 8,8 : 8,32 + .line 8,8 : 8,32 IL_000b: ldc.i4.1 IL_000c: ldc.i4.3 IL_000d: call class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1 class Equals06/EqualsMicroPerfAndCodeGenerationTests/GenericKey`1::NewGenericKey(!0, !0) IL_0012: stloc.2 - .line 9,9 : 8,32 + .line 9,9 : 8,32 IL_0013: ldc.i4.0 IL_0014: stloc.3 IL_0015: br.s IL_0028 - .line 10,10 : 12,26 + .line 10,10 : 12,26 IL_0017: ldloc.1 IL_0018: ldloc.2 IL_0019: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() @@ -670,12 +670,12 @@ IL_0025: ldc.i4.1 IL_0026: add IL_0027: stloc.3 - .line 9,9 : 21,29 + .line 9,9 : 21,29 IL_0028: ldloc.3 IL_0029: ldc.i4 0x989681 IL_002e: blt.s IL_0017 - .line 11,11 : 8,9 + .line 11,11 : 8,9 IL_0030: ldloc.0 IL_0031: ret } // end of method EqualsMicroPerfAndCodeGenerationTests::f6 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Equals09.il.netfx4.bsl index e48cd004d36f1556314806796aa0197831995e9e..78b85edbba2d69c41652e91bd1e987d9d066c53e 100644 GIT binary patch literal 70244 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 F{vR!vZXy5x literal 141540 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 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl index 340d96ae54..d87615b822 100644 --- a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl +++ b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash09.il.netfx4.bsl @@ -1,5 +1,5 @@ -// Microsoft (R) .NET Framework IL Disassembler. Version 4.0.30319.17376 +// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.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:3:0:0 + .ver 4:4:1:9055 } .assembly Hash09 { @@ -29,20 +29,22 @@ } .mresource public FSharpSignatureData.Hash09 { - // Offset: 0x00000000 Length: 0x000008AA + // Offset: 0x00000000 Length: 0x0000088E + // WARNING: managed resource file FSharpSignatureData.Hash09 created } .mresource public FSharpOptimizationData.Hash09 { - // Offset: 0x000008B0 Length: 0x00000698 + // Offset: 0x00000898 Length: 0x00000688 + // WARNING: managed resource file FSharpOptimizationData.Hash09 created } .module Hash09.dll -// MVID: {4F20E46D-9642-77DB-A745-03836DE4204F} +// MVID: {56B7C2E6-9642-77DB-A745-0383E6C2B756} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x0000009A2B400000 +// Image base: 0x01150000 // =============== CLASS MEMBERS DECLARATION =================== @@ -254,17 +256,16 @@ instance int32 CompareTo(object obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 16 (0x10) + // Code size 14 (0xe) .maxstack 8 .language '{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}', '{994B45C4-E6E9-11D2-903F-00C04FA302A1}', '{5A869D0B-6611-11D3-BD2A-0000F80849BD}' - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.0 IL_0002: ldarg.1 IL_0003: unbox.any class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 - IL_0008: tail. - IL_000a: callvirt instance int32 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::CompareTo(class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1) - IL_000f: ret + IL_0008: callvirt instance int32 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::CompareTo(class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1) + IL_000d: ret } // end of method GenericKey`1::CompareTo .method public hidebysig virtual final @@ -280,7 +281,7 @@ [3] int32 V_3, [4] !a V_4, [5] !a V_5) - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.1 IL_0002: unbox.any class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 @@ -432,7 +433,7 @@ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) // Code size 13 (0xd) .maxstack 8 - .line 4,4 : 10,20 + .line 4,4 : 10,20 IL_0000: nop IL_0001: ldarg.0 IL_0002: call class [mscorlib]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() @@ -583,7 +584,7 @@ instance bool Equals(object obj) cil managed { .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - // Code size 23 (0x17) + // Code size 21 (0x15) .maxstack 4 .locals init (class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 V_0) IL_0000: nop @@ -591,16 +592,15 @@ IL_0002: isinst class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 IL_0007: stloc.0 IL_0008: ldloc.0 - IL_0009: brfalse.s IL_0015 + IL_0009: brfalse.s IL_0013 IL_000b: ldarg.0 IL_000c: ldloc.0 - IL_000d: tail. - IL_000f: callvirt instance bool class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::Equals(class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1) - IL_0014: ret + IL_000d: callvirt instance bool class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::Equals(class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1) + IL_0012: ret - IL_0015: ldc.i4.0 - IL_0016: ret + IL_0013: ldc.i4.0 + IL_0014: ret } // end of method GenericKey`1::Equals .property instance int32 Tag() @@ -636,13 +636,13 @@ .maxstack 4 .locals init ([0] int32 i, [1] int32 V_1) - .line 7,7 : 8,32 + .line 7,7 : 8,32 IL_0000: nop IL_0001: ldc.i4.0 IL_0002: stloc.0 IL_0003: br.s IL_001b - .line 8,8 : 12,44 + .line 8,8 : 12,44 IL_0005: ldc.i4.1 IL_0006: ldc.i4.2 IL_0007: call class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1 class Hash09/HashMicroPerfAndCodeGenerationTests/GenericKey`1::NewGenericKey(!0, @@ -654,7 +654,7 @@ IL_0018: ldc.i4.1 IL_0019: add IL_001a: stloc.0 - .line 7,7 : 21,29 + .line 7,7 : 21,29 IL_001b: ldloc.0 IL_001c: ldc.i4 0x989681 IL_0021: blt.s IL_0005 diff --git a/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl b/tests/fsharpqa/Source/Optimizations/GenericComparison/Hash12.il.netfx4.bsl index 487646776d3f056219cc48753fb426da8f402020..a755e31b4b0e5216972fa625bfefbd66447e6a3c 100644 GIT binary patch literal 66734 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 Date: Mon, 8 Feb 2016 00:27:44 +0000 Subject: [PATCH 4/9] fix typecheck\sigs test --- tests/fsharp/typecheck/sigs/neg91.bsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/fsharp/typecheck/sigs/neg91.bsl b/tests/fsharp/typecheck/sigs/neg91.bsl index 704a7e282b..7021297a7f 100644 --- a/tests/fsharp/typecheck/sigs/neg91.bsl +++ b/tests/fsharp/typecheck/sigs/neg91.bsl @@ -17,4 +17,4 @@ neg91.fs(72,11,72,27): typecheck error FS3191: This literal pattern does not tak neg91.fs(80,11,80,38): typecheck error FS3191: This literal pattern does not take arguments -neg91.fs(64,29,64,32): typecheck error FS3192: Constructors are not permitted as extension members - they must be defined as part of the original definition of the type +neg91.fs(90,29,90,32): typecheck error FS3192: Constructors are not permitted as extension members - they must be defined as part of the original definition of the type From 79a259f9eca75f2aeb763a08cb131d6917509baa Mon Sep 17 00:00:00 2001 From: Don Syme Date: Mon, 8 Feb 2016 00:38:56 +0000 Subject: [PATCH 5/9] fix printing tests --- .../core/printing/z.output.test.1000.bsl | 88 ++++++++--------- .../core/printing/z.output.test.200.bsl | 98 +++++++++---------- .../core/printing/z.output.test.default.bsl | 88 ++++++++--------- .../core/printing/z.output.test.off.bsl | 88 ++++++++--------- 4 files changed, 181 insertions(+), 181 deletions(-) diff --git a/tests/fsharp/core/printing/z.output.test.1000.bsl b/tests/fsharp/core/printing/z.output.test.1000.bsl index 9d21952ff2..ed2ee65552 100644 --- a/tests/fsharp/core/printing/z.output.test.1000.bsl +++ b/tests/fsharp/core/printing/z.output.test.1000.bsl @@ -1783,73 +1783,73 @@ type Regression4319_T2 = static member ( +-+-+ ) : x:'a * y:'b -> string end -> + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; -----------------------------------------^^^^^ stdin(572,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T0 = class static member ( +-+-+ ) : string end -> + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; -----------------------------------------^^^^^ stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1 = class static member ( +-+-+ ) : x:'a -> string end -> + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; -----------------------------------------^^^^^ stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1b = class static member ( +-+-+ ) : x:'a -> string end -> + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; -----------------------------------------^^^^^ stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1c = class static member ( +-+-+ ) : x:('a * 'b) -> string end -> + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; -----------------------------------------^^^^^ stdin(576,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1d = class static member ( +-+-+ ) : x:(int * int) -> string end -> + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; -----------------------------------------^^^^^ stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T3 = class static member ( +-+-+ ) : x:'a * y:'b * z:'c -> string end -> + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ @@ -1859,13 +1859,13 @@ stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argum -----------------------------------------^^^^^ stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U1 = class static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string end -> + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; -----------------------------------------^^^^^ @@ -1875,24 +1875,24 @@ stdin(580,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argum -----------------------------------------^^^^^ stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U1b = class static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string end -> + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U2 = class static member ( +-+-+ ) : x:'a * y:'b -> moreArgs:'c -> string end -> + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ @@ -1902,13 +1902,13 @@ stdin(582,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argum -----------------------------------------^^^^^ stdin(582,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U3 = class static member ( +-+-+ ) : x:'a * y:'b * z:'c -> moreArgs:'d -> string end -> + static member (:=) = "COLON_EQUALS" -------------------^^ @@ -2063,7 +2063,7 @@ stdin(618,21): warning FS1172: Infix operator member '...%' has no arguments. Ex --------------------^^ stdin(619,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_check = class static member ( & ) : string @@ -2092,12 +2092,12 @@ type Regression4319_check = static member ( - ) : string end -> + member this.ToString() = "ABC" ----------------^^^^^^^^ stdin(624,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. -Expect ABC = ABC +> Expect ABC = ABC type Regression4469 = class @@ -2750,33 +2750,33 @@ val fff : x:'a -> 'a val note_ExpectDupMethod : string = "Regression4927: Expect error due to duplicate methods in the "+[20 chars] -> + member this.M() = "string" ----------------^ stdin(765,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in this type. -> +> > val note_ExpectDupProperty : string = "Regression4927: Expect error due to duplicate properties in t"+[23 chars] -> + member this.P = "string" ----------------^ stdin(772,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in this type. -> > val it : string = "NOTE: Expect IAPrivate less accessible IBPublic" -> +> > > val it : string = "NOTE: Expect IAPrivate less accessible IBPublic" + type public IBPublic = interface inherit IAPrivate abstract Q : int end ------------------^^^^^^^^ stdin(779,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in -> val it : string = "NOTE: Expect IAPrivate less accessible IBInternal" -> +> > val it : string = "NOTE: Expect IAPrivate less accessible IBInternal" + type internal IBInternal = interface inherit IAPrivate abstract Q : int end ------------------^^^^^^^^^^ stdin(784,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in -> +> > module Regression5265_PriPri = begin type private IAPrivate = interface @@ -2790,12 +2790,12 @@ module Regression5265_PriPri = begin end > val it : string = "NOTE: Expect IAInternal less accessible IBPublic" -> + type public IBPublic = interface inherit IAInternal abstract Q : int end ------------------^^^^^^^^ stdin(793,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in -> +> > module Regression5265_IntInt = begin type internal IAInternal = interface @@ -2862,12 +2862,12 @@ end > val it : string = "Regression4232: Expect an error about duplicate virtual methods from parent type" -> + override x.M(a:string) = 1 -------------------^ stdin(825,20): error FS0361: The override 'M : string -> int' implements more than one abstract slot, e.g. 'abstract member Regression4232.D.M : 'U -> int' and 'abstract member Regression4232.D.M : 'T -> int' -> val it : string = +> > val it : string = "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" > type AnAxHostSubClass = @@ -2878,37 +2878,37 @@ type AnAxHostSubClass = > val it : string = "** Expect error because the active pattern result contains free type variables" -> + let (|A|B|) (x:int) = A x;; -----^^^^^ stdin(833,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect error because the active pattern result contains free type variables (match value generic)" -> + let (|A|B|) (x:'a) = A x;; -----^^^^^ stdin(836,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" -> + let (|A|B|) (p:'a) (x:int) = A p;; -----^^^^^ stdin(839,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect OK, since error message says constraint should work!" > val ( |A|B| ) : x:int -> Choice > val it : string = "** Expect error since active pattern is not a function!" -> + let (|A|B|) = failwith "" : Choice;; -----^^^^^ stdin(845,6): error FS1209: Active pattern '|A|B|' is not a function -> val it : string = +> > val it : string = "** Expect OK since active pattern result is not too generic, typars depend on match val" > val ( |A|B| ) : p:bool -> 'a * 'b -> Choice<'a,'b> diff --git a/tests/fsharp/core/printing/z.output.test.200.bsl b/tests/fsharp/core/printing/z.output.test.200.bsl index 75fa08014d..659b1541a3 100644 --- a/tests/fsharp/core/printing/z.output.test.200.bsl +++ b/tests/fsharp/core/printing/z.output.test.200.bsl @@ -1032,73 +1032,73 @@ type Regression4319_T2 = static member ( +-+-+ ) : x:'a * y:'b -> string end -> + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; -----------------------------------------^^^^^ stdin(572,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T0 = class static member ( +-+-+ ) : string end -> + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; -----------------------------------------^^^^^ stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1 = class static member ( +-+-+ ) : x:'a -> string end -> + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; -----------------------------------------^^^^^ stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1b = class static member ( +-+-+ ) : x:'a -> string end -> + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; -----------------------------------------^^^^^ stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1c = class static member ( +-+-+ ) : x:('a * 'b) -> string end -> + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; -----------------------------------------^^^^^ stdin(576,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1d = class static member ( +-+-+ ) : x:(int * int) -> string end -> + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; -----------------------------------------^^^^^ stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T3 = class static member ( +-+-+ ) : x:'a * y:'b * z:'c -> string end -> + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ @@ -1108,13 +1108,8 @@ stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argum -----------------------------------------^^^^^ stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - -type Regression4319_U1 = - class - static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string - end - > + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; -----------------------------------------^^^^^ @@ -1124,24 +1119,29 @@ stdin(580,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argum -----------------------------------------^^^^^ stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... +type Regression4319_U1 = + class + static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string + end +> type Regression4319_U1b = class static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string end -> + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U2 = class static member ( +-+-+ ) : x:'a * y:'b -> moreArgs:'c -> string end -> + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ @@ -1151,13 +1151,13 @@ stdin(582,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argum -----------------------------------------^^^^^ stdin(582,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U3 = class static member ( +-+-+ ) : x:'a * y:'b * z:'c -> moreArgs:'d -> string end -> + static member (:=) = "COLON_EQUALS" -------------------^^ @@ -1312,7 +1312,7 @@ stdin(618,21): warning FS1172: Infix operator member '...%' has no arguments. Ex --------------------^^ stdin(619,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_check = class static member ( & ) : string @@ -1341,12 +1341,12 @@ type Regression4319_check = static member ( - ) : string end -> + member this.ToString() = "ABC" ----------------^^^^^^^^ stdin(624,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. -Expect ABC = ABC +> Expect ABC = ABC type Regression4469 = class @@ -1999,33 +1999,33 @@ val fff : x:'a -> 'a val note_ExpectDupMethod : string = "Regression4927: Expect error due to duplicate methods in the "+[20 chars] -> + member this.M() = "string" ----------------^ stdin(765,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in this type. -> +> > val note_ExpectDupProperty : string = "Regression4927: Expect error due to duplicate properties in t"+[23 chars] -> + member this.P = "string" ----------------^ stdin(772,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in this type. -> > val it : string = "NOTE: Expect IAPrivate less accessible IBPublic" -> +> > > val it : string = "NOTE: Expect IAPrivate less accessible IBPublic" + type public IBPublic = interface inherit IAPrivate abstract Q : int end ------------------^^^^^^^^ stdin(779,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in -> val it : string = "NOTE: Expect IAPrivate less accessible IBInternal" -> +> > val it : string = "NOTE: Expect IAPrivate less accessible IBInternal" + type internal IBInternal = interface inherit IAPrivate abstract Q : int end ------------------^^^^^^^^^^ stdin(784,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in -> +> > module Regression5265_PriPri = begin type private IAPrivate = interface @@ -2039,12 +2039,12 @@ module Regression5265_PriPri = begin end > val it : string = "NOTE: Expect IAInternal less accessible IBPublic" -> + type public IBPublic = interface inherit IAInternal abstract Q : int end ------------------^^^^^^^^ stdin(793,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in -> +> > module Regression5265_IntInt = begin type internal IAInternal = interface @@ -2111,12 +2111,12 @@ end > val it : string = "Regression4232: Expect an error about duplicate virtual methods from parent type" -> + override x.M(a:string) = 1 -------------------^ stdin(825,20): error FS0361: The override 'M : string -> int' implements more than one abstract slot, e.g. 'abstract member Regression4232.D.M : 'U -> int' and 'abstract member Regression4232.D.M : 'T -> int' -> val it : string = +> > val it : string = "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" > type AnAxHostSubClass = @@ -2127,37 +2127,37 @@ type AnAxHostSubClass = > val it : string = "** Expect error because the active pattern result contains free type variables" -> + let (|A|B|) (x:int) = A x;; -----^^^^^ stdin(833,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = - "** Expect error because the active pattern result contains free type variables (match value generic)" -> + let (|A|B|) (x:'a) = A x;; -----^^^^^ stdin(836,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = - "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" -> + let (|A|B|) (p:'a) (x:int) = A p;; -----^^^^^ stdin(839,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = + "** Expect error because the active pattern result contains free type variables (match value generic)" +> > val it : string = + "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" +> > val it : string = "** Expect OK, since error message says constraint should work!" > val ( |A|B| ) : x:int -> Choice > val it : string = "** Expect error since active pattern is not a function!" -> + let (|A|B|) = failwith "" : Choice;; -----^^^^^ stdin(845,6): error FS1209: Active pattern '|A|B|' is not a function -> val it : string = +> > val it : string = "** Expect OK since active pattern result is not too generic, typars depend on match val" > val ( |A|B| ) : p:bool -> 'a * 'b -> Choice<'a,'b> diff --git a/tests/fsharp/core/printing/z.output.test.default.bsl b/tests/fsharp/core/printing/z.output.test.default.bsl index c9d3abc3a6..feaf4e8fba 100644 --- a/tests/fsharp/core/printing/z.output.test.default.bsl +++ b/tests/fsharp/core/printing/z.output.test.default.bsl @@ -5310,73 +5310,73 @@ type Regression4319_T2 = static member ( +-+-+ ) : x:'a * y:'b -> string end -> + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; -----------------------------------------^^^^^ stdin(572,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T0 = class static member ( +-+-+ ) : string end -> + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; -----------------------------------------^^^^^ stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1 = class static member ( +-+-+ ) : x:'a -> string end -> + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; -----------------------------------------^^^^^ stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1b = class static member ( +-+-+ ) : x:'a -> string end -> + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; -----------------------------------------^^^^^ stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1c = class static member ( +-+-+ ) : x:('a * 'b) -> string end -> + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; -----------------------------------------^^^^^ stdin(576,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1d = class static member ( +-+-+ ) : x:(int * int) -> string end -> + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; -----------------------------------------^^^^^ stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T3 = class static member ( +-+-+ ) : x:'a * y:'b * z:'c -> string end -> + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ @@ -5386,13 +5386,13 @@ stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argum -----------------------------------------^^^^^ stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U1 = class static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string end -> + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; -----------------------------------------^^^^^ @@ -5402,24 +5402,24 @@ stdin(580,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argum -----------------------------------------^^^^^ stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U1b = class static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string end -> + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U2 = class static member ( +-+-+ ) : x:'a * y:'b -> moreArgs:'c -> string end -> + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ @@ -5429,13 +5429,13 @@ stdin(582,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argum -----------------------------------------^^^^^ stdin(582,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U3 = class static member ( +-+-+ ) : x:'a * y:'b * z:'c -> moreArgs:'d -> string end -> + static member (:=) = "COLON_EQUALS" -------------------^^ @@ -5590,7 +5590,7 @@ stdin(618,21): warning FS1172: Infix operator member '...%' has no arguments. Ex --------------------^^ stdin(619,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_check = class static member ( & ) : string @@ -5619,12 +5619,12 @@ type Regression4319_check = static member ( - ) : string end -> + member this.ToString() = "ABC" ----------------^^^^^^^^ stdin(624,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. -Expect ABC = ABC +> Expect ABC = ABC type Regression4469 = class @@ -6277,33 +6277,33 @@ val fff : x:'a -> 'a val note_ExpectDupMethod : string = "Regression4927: Expect error due to duplicate methods in the "+[20 chars] -> + member this.M() = "string" ----------------^ stdin(765,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in this type. -> +> > val note_ExpectDupProperty : string = "Regression4927: Expect error due to duplicate properties in t"+[23 chars] -> + member this.P = "string" ----------------^ stdin(772,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in this type. -> > val it : string = "NOTE: Expect IAPrivate less accessible IBPublic" -> +> > > val it : string = "NOTE: Expect IAPrivate less accessible IBPublic" + type public IBPublic = interface inherit IAPrivate abstract Q : int end ------------------^^^^^^^^ stdin(779,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in -> val it : string = "NOTE: Expect IAPrivate less accessible IBInternal" -> +> > val it : string = "NOTE: Expect IAPrivate less accessible IBInternal" + type internal IBInternal = interface inherit IAPrivate abstract Q : int end ------------------^^^^^^^^^^ stdin(784,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in -> +> > module Regression5265_PriPri = begin type private IAPrivate = interface @@ -6317,12 +6317,12 @@ module Regression5265_PriPri = begin end > val it : string = "NOTE: Expect IAInternal less accessible IBPublic" -> + type public IBPublic = interface inherit IAInternal abstract Q : int end ------------------^^^^^^^^ stdin(793,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in -> +> > module Regression5265_IntInt = begin type internal IAInternal = interface @@ -6389,12 +6389,12 @@ end > val it : string = "Regression4232: Expect an error about duplicate virtual methods from parent type" -> + override x.M(a:string) = 1 -------------------^ stdin(825,20): error FS0361: The override 'M : string -> int' implements more than one abstract slot, e.g. 'abstract member Regression4232.D.M : 'U -> int' and 'abstract member Regression4232.D.M : 'T -> int' -> val it : string = +> > val it : string = "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" > type AnAxHostSubClass = @@ -6405,37 +6405,37 @@ type AnAxHostSubClass = > val it : string = "** Expect error because the active pattern result contains free type variables" -> + let (|A|B|) (x:int) = A x;; -----^^^^^ stdin(833,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect error because the active pattern result contains free type variables (match value generic)" -> + let (|A|B|) (x:'a) = A x;; -----^^^^^ stdin(836,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" -> + let (|A|B|) (p:'a) (x:int) = A p;; -----^^^^^ stdin(839,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect OK, since error message says constraint should work!" > val ( |A|B| ) : x:int -> Choice > val it : string = "** Expect error since active pattern is not a function!" -> + let (|A|B|) = failwith "" : Choice;; -----^^^^^ stdin(845,6): error FS1209: Active pattern '|A|B|' is not a function -> val it : string = +> > val it : string = "** Expect OK since active pattern result is not too generic, typars depend on match val" > val ( |A|B| ) : p:bool -> 'a * 'b -> Choice<'a,'b> diff --git a/tests/fsharp/core/printing/z.output.test.off.bsl b/tests/fsharp/core/printing/z.output.test.off.bsl index 2a0b5ae28b..15104edb30 100644 --- a/tests/fsharp/core/printing/z.output.test.off.bsl +++ b/tests/fsharp/core/printing/z.output.test.off.bsl @@ -808,73 +808,73 @@ type Regression4319_T2 = static member ( +-+-+ ) : x:'a * y:'b -> string end -> + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; -----------------------------------------^^^^^ stdin(572,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T0 = class static member ( +-+-+ ) : string end -> + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; -----------------------------------------^^^^^ stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1 = class static member ( +-+-+ ) : x:'a -> string end -> + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; -----------------------------------------^^^^^ stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1b = class static member ( +-+-+ ) : x:'a -> string end -> + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; -----------------------------------------^^^^^ stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1c = class static member ( +-+-+ ) : x:('a * 'b) -> string end -> + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; -----------------------------------------^^^^^ stdin(576,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T1d = class static member ( +-+-+ ) : x:(int * int) -> string end -> + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; -----------------------------------------^^^^^ stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_T3 = class static member ( +-+-+ ) : x:'a * y:'b * z:'c -> string end -> + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ @@ -884,13 +884,13 @@ stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argum -----------------------------------------^^^^^ stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U1 = class static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string end -> + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; -----------------------------------------^^^^^ @@ -900,24 +900,24 @@ stdin(580,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argum -----------------------------------------^^^^^ stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U1b = class static member ( +-+-+ ) : x:'a -> moreArgs:'b -> string end -> + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U2 = class static member ( +-+-+ ) : x:'a * y:'b -> moreArgs:'c -> string end -> + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; -----------------------------------------^^^^^ @@ -927,13 +927,13 @@ stdin(582,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argum -----------------------------------------^^^^^ stdin(582,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_U3 = class static member ( +-+-+ ) : x:'a * y:'b * z:'c -> moreArgs:'d -> string end -> + static member (:=) = "COLON_EQUALS" -------------------^^ @@ -1088,7 +1088,7 @@ stdin(618,21): warning FS1172: Infix operator member '...%' has no arguments. Ex --------------------^^ stdin(619,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - +> type Regression4319_check = class static member ( & ) : string @@ -1117,12 +1117,12 @@ type Regression4319_check = static member ( - ) : string end -> + member this.ToString() = "ABC" ----------------^^^^^^^^ stdin(624,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. -Expect ABC = ABC +> Expect ABC = ABC type Regression4469 = class @@ -1774,32 +1774,32 @@ val fff : x:'a -> 'a > val note_ExpectDupMethod : string -> + member this.M() = "string" ----------------^ stdin(765,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in this type. -> +> > val note_ExpectDupProperty : string -> + member this.P = "string" ----------------^ stdin(772,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in this type. -> > val it : string = "NOTE: Expect IAPrivate less accessible IBPublic" -> +> > > val it : string = "NOTE: Expect IAPrivate less accessible IBPublic" + type public IBPublic = interface inherit IAPrivate abstract Q : int end ------------------^^^^^^^^ stdin(779,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in -> val it : string = "NOTE: Expect IAPrivate less accessible IBInternal" -> +> > val it : string = "NOTE: Expect IAPrivate less accessible IBInternal" + type internal IBInternal = interface inherit IAPrivate abstract Q : int end ------------------^^^^^^^^^^ stdin(784,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in -> +> > module Regression5265_PriPri = begin type private IAPrivate = interface @@ -1813,12 +1813,12 @@ module Regression5265_PriPri = begin end > val it : string = "NOTE: Expect IAInternal less accessible IBPublic" -> + type public IBPublic = interface inherit IAInternal abstract Q : int end ------------------^^^^^^^^ stdin(793,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in -> +> > module Regression5265_IntInt = begin type internal IAInternal = interface @@ -1885,12 +1885,12 @@ end > val it : string = "Regression4232: Expect an error about duplicate virtual methods from parent type" -> + override x.M(a:string) = 1 -------------------^ stdin(825,20): error FS0361: The override 'M : string -> int' implements more than one abstract slot, e.g. 'abstract member Regression4232.D.M : 'U -> int' and 'abstract member Regression4232.D.M : 'T -> int' -> val it : string = +> > val it : string = "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" > type AnAxHostSubClass = @@ -1901,37 +1901,37 @@ type AnAxHostSubClass = > val it : string = "** Expect error because the active pattern result contains free type variables" -> + let (|A|B|) (x:int) = A x;; -----^^^^^ stdin(833,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect error because the active pattern result contains free type variables (match value generic)" -> + let (|A|B|) (x:'a) = A x;; -----^^^^^ stdin(836,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" -> + let (|A|B|) (p:'a) (x:int) = A p;; -----^^^^^ stdin(839,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' -> val it : string = +> > val it : string = "** Expect OK, since error message says constraint should work!" > val ( |A|B| ) : x:int -> Choice > val it : string = "** Expect error since active pattern is not a function!" -> + let (|A|B|) = failwith "" : Choice;; -----^^^^^ stdin(845,6): error FS1209: Active pattern '|A|B|' is not a function -> val it : string = +> > val it : string = "** Expect OK since active pattern result is not too generic, typars depend on match val" > val ( |A|B| ) : p:bool -> 'a * 'b -> Choice<'a,'b> From e79d9f9607cf06382619455e46815e37fdcec618 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Mon, 8 Feb 2016 00:54:58 +0000 Subject: [PATCH 6/9] fix failures in appveyor CI --- build.cmd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.cmd b/build.cmd index c3f2b018f0..27e29eb276 100644 --- a/build.cmd +++ b/build.cmd @@ -153,6 +153,10 @@ if /i '%ARG%' == 'ci_part2' ( if /i '%ARG%' == 'ci_part3' ( + set BUILD_PORTABLE47=1 + set BUILD_PORTABLE7=1 + set BUILD_PORTABLE78=1 + set BUILD_PORTABLE259=1 set TEST_FSHARPQA_SUITE=1 set TEST_TAGS= set TEST_TAGS2=CI From 000c66587a4fc4ba0dc4609acb87871e548b66a2 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Mon, 8 Feb 2016 00:58:54 +0000 Subject: [PATCH 7/9] enable fsharp suite too --- build.cmd | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/build.cmd b/build.cmd index 1558f5a9fd..968570881a 100644 --- a/build.cmd +++ b/build.cmd @@ -42,7 +42,6 @@ set TEST_PORTABLE259_COREUNIT=0 set TEST_VS=0 set TEST_FSHARP_SUITE=0 set TEST_TAGS= -set TEST_TAGS_CI= set TEST_FSHARPQA_SUITE=0 set BUILD_CONFIG=Release set BUILD_CONFIG_LOWER=release @@ -124,7 +123,6 @@ if /i '%ARG%' == 'ci' ( set TEST_FSHARPQA_SUITE=1 set TEST_VS=0 set TEST_TAGS= - set TEST_TAGS_CI=CI ) REM These divide 'ci' into three chunks which can be done in parallel @@ -143,13 +141,11 @@ if /i '%ARG%' == 'ci_part1' ( set TEST_PORTABLE259_COREUNIT=1 set TEST_VS=0 set TEST_TAGS= - set TEST_TAGS_CI=CI ) if /i '%ARG%' == 'ci_part2' ( set TEST_FSHARP_SUITE=1 set TEST_TAGS= - set TEST_TAGS_CI=CI ) @@ -160,7 +156,6 @@ if /i '%ARG%' == 'ci_part3' ( set BUILD_PORTABLE259=1 set TEST_FSHARPQA_SUITE=1 set TEST_TAGS= - set TEST_TAGS_CI=CI ) if /i '%ARG%' == 'smoke' ( @@ -168,11 +163,10 @@ if /i '%ARG%' == 'smoke' ( set TEST_COMPILERUNIT=0 set TEST_NET40_COREUNIT=0 - set TEST_TAGS=Smoke - set TEST_FSHARP_SUITE=1 set TEST_FSHARPQA_SUITE=0 - set TEST_TAGS_CI=Smoke + set TEST_TAGS=Smoke + ) if /i '%ARG%' == 'debug' ( @@ -213,7 +207,6 @@ echo TEST_VS=%TEST_VS% echo TEST_FSHARP_SUITE=%TEST_FSHARP_SUITE% echo TEST_FSHARPQA_SUITE=%TEST_FSHARPQA_SUITE% echo TEST_TAGS=%TEST_TAGS% -echo TEST_TAGS_CI=%TEST_TAGS_CI% echo BUILD_CONFIG=%BUILD_CONFIG% echo BUILD_CONFIG_LOWER=%BUILD_CONFIG_LOWER% echo. @@ -350,7 +343,7 @@ set FSHARP_TEST_SUITE_USE_NUNIT_RUNNER=true %_msbuildexe% fsharp\fsharp.tests.fsproj /p:Configuration=%BUILD_CONFIG% @if ERRORLEVEL 1 echo Error: fsharp cambridge tests for nunit failed && goto :failure -call RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %TEST_TAGS_CI% +call RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %TEST_TAGS% @if ERRORLEVEL 1 type testresults\fsharp_failures.log && echo Error: 'RunTests.cmd %BUILD_CONFIG_LOWER% fsharp %CONF_CAMBRIDGE_SUITE%' failed && goto :failure set FSHARP_TEST_SUITE_USE_NUNIT_RUNNER= ) From fb5dbce9714d7ca5966b7b9075349c99b6336361 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Mon, 8 Feb 2016 01:02:54 +0000 Subject: [PATCH 8/9] remove CI tags from tests since all are now run --- tests/fsharpqa/Source/test.lst | 210 ++++++++++++++++----------------- tests/test.lst | 40 +++---- 2 files changed, 125 insertions(+), 125 deletions(-) diff --git a/tests/fsharpqa/Source/test.lst b/tests/fsharpqa/Source/test.lst index fbb1147040..86d7a03dde 100644 --- a/tests/fsharpqa/Source/test.lst +++ b/tests/fsharpqa/Source/test.lst @@ -7,151 +7,151 @@ # ReqENU -- skip this test/suite if we are running on non-ENU (useful to exclude hard-to-localize tests) CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\AsyncExpressionStepping -CodeGen01,NoMT,CodeGen,CI CodeGen\EmittedIL\AttributeTargets +CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\AttributeTargets CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\CCtorDUWithMember CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\CompiledNameAttribute -CodeGen01,NoMT,CodeGen,CI CodeGen\EmittedIL\ComputationExpressions +CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\ComputationExpressions CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\DoNotBoxStruct CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\GeneratedIterators -CodeGen01,NoMT,CodeGen,CI CodeGen\EmittedIL\InequalityComparison +CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\InequalityComparison CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\ListExpressionStepping CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\MethodImplAttribute -CodeGen01,NoMT,CodeGen,CI CodeGen\EmittedIL\Misc +CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\Misc CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\Mutation CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\Operators -CodeGen01,NoMT,CodeGen,CI CodeGen\EmittedIL\QueryExpressionStepping +CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\QueryExpressionStepping CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\SeqExpressionStepping -CodeGen01,NoMT,CodeGen,CI CodeGen\EmittedIL\SeqExpressionTailCalls +CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\SeqExpressionTailCalls CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\SerializableAttribute -CodeGen01,NoMT,CodeGen,CI CodeGen\EmittedIL\StaticInit +CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\StaticInit CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\SteppingMatch -CodeGen01,NoMT,CodeGen,CI CodeGen\EmittedIL\TailCalls +CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\TailCalls CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\TestFunctions CodeGen01,NoMT,CodeGen CodeGen\EmittedIL\Tuples NoHostedCompiler,CodeGen01,NoMT CodeGen\EmittedIL\TypeProviders CodeGen01,NoMT,CodeGen CodeGen\StringEncoding -CodeGen01,NoMT,CodeGen,CI CodeGen\Structure +CodeGen01,NoMT,CodeGen CodeGen\Structure -CompilerOptions01,NoMT,CI CompilerOptions\fsc\checked +CompilerOptions01,NoMT CompilerOptions\fsc\checked CompilerOptions01,NoMT CompilerOptions\fsc\cliversion CompilerOptions01,NoMT CompilerOptions\fsc\codepage CompilerOptions01,NoMT CompilerOptions\fsc\crossoptimize -CompilerOptions01,NoMT,CI CompilerOptions\fsc\debug +CompilerOptions01,NoMT CompilerOptions\fsc\debug CompilerOptions01,NoMT CompilerOptions\fsc\dumpAllCommandLineOptions CompilerOptions01,NoMT CompilerOptions\fsc\flaterrors CompilerOptions02,NoMT CompilerOptions\fsc\gccerrors -CompilerOptions01,NoMT,CI CompilerOptions\fsc\help +CompilerOptions01,NoMT CompilerOptions\fsc\help CompilerOptions01,NoMT CompilerOptions\fsc\highentropyva CompilerOptions01,NoMT CompilerOptions\fsc\lib CompilerOptions01,NoMT CompilerOptions\fsc\noframework CompilerOptions01,NoMT CompilerOptions\fsc\nologo -CompilerOptions01,NoMT,CI CompilerOptions\fsc\optimize +CompilerOptions01,NoMT CompilerOptions\fsc\optimize CompilerOptions01,NoMT CompilerOptions\fsc\out CompilerOptions01,NoMT CompilerOptions\fsc\pdb CompilerOptions01,NoMT CompilerOptions\fsc\platform CompilerOptions01,NoMT CompilerOptions\fsc\reference -CompilerOptions01,NoMT,CI CompilerOptions\fsc\Removed +CompilerOptions01,NoMT CompilerOptions\fsc\Removed CompilerOptions01,NoMT CompilerOptions\fsc\standalone CompilerOptions01,NoMT,NoHostedCompiler CompilerOptions\fsc\staticlink CompilerOptions01,NoMT CompilerOptions\fsc\subsystemversion CompilerOptions01,NoMT CompilerOptions\fsc\tailcalls -CompilerOptions01,NoMT,CI CompilerOptions\fsc\target +CompilerOptions01,NoMT CompilerOptions\fsc\target CompilerOptions01,NoMT CompilerOptions\fsc\times CompilerOptions01,NoMT CompilerOptions\fsc\warn CompilerOptions01,NoMT CompilerOptions\fsc\warnaserror CompilerOptions01,NoMT CompilerOptions\fsc\warnon -CompilerOptions01,NoMT,CI CompilerOptions\fsc\responsefile +CompilerOptions01,NoMT CompilerOptions\fsc\responsefile CompilerOptions01,NoMT CompilerOptions\fsi\help CompilerOptions01,NoMT CompilerOptions\fsi\highentropyva CompilerOptions01,NoMT CompilerOptions\fsi\nologo CompilerOptions01,NoMT CompilerOptions\fsi\subsystemversion -CompilerOptions01,NoMT,CI CompilerOptions\fsi\times +CompilerOptions01,NoMT CompilerOptions\fsi\times CompilerOptions02,NoMT CompilerOptions\fsi\exename Conformance01 Conformance\BasicGrammarElements\Constants -Conformance01,CI Conformance\BasicGrammarElements\OperatorNames +Conformance01 Conformance\BasicGrammarElements\OperatorNames Conformance01 Conformance\BasicGrammarElements\PrecedenceAndOperators Conformance01 Conformance\BasicTypeAndModuleDefinitions\ExceptionDefinitions -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\Attributes\Diags -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\Attributes\Legacy -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\Attributes\New -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\Basic -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\IComparison -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\ModuleDefinitions -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\NamespaceDeclGroups -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\NullRepresentations -Conformance01,CI,Smoke Conformance\BasicTypeAndModuleDefinitions\RecordTypes -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\TypeAbbreviations -Conformance01,CI Conformance\BasicTypeAndModuleDefinitions\UnionTypes -Conformance01,CI Conformance\DeclarationElements\AccessibilityAnnotations\Basic -Conformance01,CI Conformance\DeclarationElements\AccessibilityAnnotations\OnOverridesAndIFaceImpl -Conformance01,CI Conformance\DeclarationElements\AccessibilityAnnotations\OnTypeMembers -Conformance01,CI Conformance\DeclarationElements\AccessibilityAnnotations\PermittedLocations -Conformance01,CI Conformance\DeclarationElements\CustomAttributes\ArgumentsOfAllTypes +Conformance01 Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\Attributes\Diags +Conformance01 Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\Attributes\Legacy +Conformance01 Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\Attributes\New +Conformance01 Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\Basic +Conformance01 Conformance\BasicTypeAndModuleDefinitions\GeneratedEqualityHashingComparison\IComparison +Conformance01 Conformance\BasicTypeAndModuleDefinitions\ModuleDefinitions +Conformance01 Conformance\BasicTypeAndModuleDefinitions\NamespaceDeclGroups +Conformance01 Conformance\BasicTypeAndModuleDefinitions\NullRepresentations +Conformance01 Conformance\BasicTypeAndModuleDefinitions\RecordTypes +Conformance01 Conformance\BasicTypeAndModuleDefinitions\TypeAbbreviations +Conformance01 Conformance\BasicTypeAndModuleDefinitions\UnionTypes +Conformance01 Conformance\DeclarationElements\AccessibilityAnnotations\Basic +Conformance01 Conformance\DeclarationElements\AccessibilityAnnotations\OnOverridesAndIFaceImpl +Conformance01 Conformance\DeclarationElements\AccessibilityAnnotations\OnTypeMembers +Conformance01 Conformance\DeclarationElements\AccessibilityAnnotations\PermittedLocations +Conformance01 Conformance\DeclarationElements\CustomAttributes\ArgumentsOfAllTypes -Conformance02,CI Conformance\DeclarationElements\CustomAttributes\AttributeUsage -Conformance02,CI Conformance\DeclarationElements\CustomAttributes\Basic -Conformance02,CI Conformance\DeclarationElements\CustomAttributes\ImportedAttributes -Conformance02,CI Conformance\DeclarationElements\Events\basic -Conformance02,CI Conformance\DeclarationElements\FieldMembers -Conformance02,CI Conformance\DeclarationElements\ImportDeclarations -Conformance02,CI Conformance\DeclarationElements\InterfaceSpecificationsAndImplementations -Conformance02,CI Conformance\DeclarationElements\LetBindings\ActivePatternBindings -Conformance02,CI Conformance\DeclarationElements\LetBindings\ArityInference -Conformance02,CI Conformance\DeclarationElements\LetBindings\Basic -Conformance02,CI Conformance\DeclarationElements\LetBindings\ExplicitTypeParameters -Conformance02,CI Conformance\DeclarationElements\LetBindings\TypeFunctions -Conformance02,CI Conformance\DeclarationElements\MemberDefinitions\ImplementingDispatchSlots -Conformance02,CI Conformance\DeclarationElements\MemberDefinitions\MethodsAndProperties -Conformance02,CI Conformance\DeclarationElements\MemberDefinitions\NamedArguments -Conformance02,CI Conformance\DeclarationElements\MemberDefinitions\OptionalArguments -Conformance02,CI Conformance\DeclarationElements\MemberDefinitions\OverloadingMembers -Conformance02,CI Conformance\DeclarationElements\ModuleAbbreviations -Conformance02,CI Conformance\DeclarationElements\ObjectConstructors -Conformance02,CI Conformance\DeclarationElements\P-invokeDeclarations +Conformance02 Conformance\DeclarationElements\CustomAttributes\AttributeUsage +Conformance02 Conformance\DeclarationElements\CustomAttributes\Basic +Conformance02 Conformance\DeclarationElements\CustomAttributes\ImportedAttributes +Conformance02 Conformance\DeclarationElements\Events\basic +Conformance02 Conformance\DeclarationElements\FieldMembers +Conformance02 Conformance\DeclarationElements\ImportDeclarations +Conformance02 Conformance\DeclarationElements\InterfaceSpecificationsAndImplementations +Conformance02 Conformance\DeclarationElements\LetBindings\ActivePatternBindings +Conformance02 Conformance\DeclarationElements\LetBindings\ArityInference +Conformance02 Conformance\DeclarationElements\LetBindings\Basic +Conformance02 Conformance\DeclarationElements\LetBindings\ExplicitTypeParameters +Conformance02 Conformance\DeclarationElements\LetBindings\TypeFunctions +Conformance02 Conformance\DeclarationElements\MemberDefinitions\ImplementingDispatchSlots +Conformance02 Conformance\DeclarationElements\MemberDefinitions\MethodsAndProperties +Conformance02 Conformance\DeclarationElements\MemberDefinitions\NamedArguments +Conformance02 Conformance\DeclarationElements\MemberDefinitions\OptionalArguments +Conformance02 Conformance\DeclarationElements\MemberDefinitions\OverloadingMembers +Conformance02 Conformance\DeclarationElements\ModuleAbbreviations +Conformance02 Conformance\DeclarationElements\ObjectConstructors +Conformance02 Conformance\DeclarationElements\P-invokeDeclarations -Conformance03,CI Conformance\Expressions\ApplicationExpressions\Assertion -Conformance03,CI Conformance\Expressions\ApplicationExpressions\BasicApplication -Conformance03,CI Conformance\Expressions\ApplicationExpressions\ObjectConstruction -Conformance03,CI Conformance\Expressions\BindingExpressions\Binding -Conformance03,CI Conformance\Expressions\ConstantExpressions -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\Assertion -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\Conditional -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\ParenthesizedAndBlock -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\PatternMatching -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\SequenceIteration -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\SequentialExecution -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\SimpleFor -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\TryCatch -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\TryFinally -Conformance03,CI Conformance\Expressions\ControlFlowExpressions\While -Conformance03,CI Conformance\Expressions\DataExpressions\AddressOf -Conformance03,CI Conformance\Expressions\DataExpressions\ComputationExpressions -Conformance03,CI Conformance\Expressions\DataExpressions\ObjectExpressions -Conformance03,CI Conformance\Expressions\DataExpressions\QueryExpressions -Conformance03,CI Conformance\Expressions\DataExpressions\RangeExpressions +Conformance03 Conformance\Expressions\ApplicationExpressions\Assertion +Conformance03 Conformance\Expressions\ApplicationExpressions\BasicApplication +Conformance03 Conformance\Expressions\ApplicationExpressions\ObjectConstruction +Conformance03 Conformance\Expressions\BindingExpressions\Binding +Conformance03 Conformance\Expressions\ConstantExpressions +Conformance03 Conformance\Expressions\ControlFlowExpressions\Assertion +Conformance03 Conformance\Expressions\ControlFlowExpressions\Conditional +Conformance03 Conformance\Expressions\ControlFlowExpressions\ParenthesizedAndBlock +Conformance03 Conformance\Expressions\ControlFlowExpressions\PatternMatching +Conformance03 Conformance\Expressions\ControlFlowExpressions\SequenceIteration +Conformance03 Conformance\Expressions\ControlFlowExpressions\SequentialExecution +Conformance03 Conformance\Expressions\ControlFlowExpressions\SimpleFor +Conformance03 Conformance\Expressions\ControlFlowExpressions\TryCatch +Conformance03 Conformance\Expressions\ControlFlowExpressions\TryFinally +Conformance03 Conformance\Expressions\ControlFlowExpressions\While +Conformance03 Conformance\Expressions\DataExpressions\AddressOf +Conformance03 Conformance\Expressions\DataExpressions\ComputationExpressions +Conformance03 Conformance\Expressions\DataExpressions\ObjectExpressions +Conformance03 Conformance\Expressions\DataExpressions\QueryExpressions +Conformance03 Conformance\Expressions\DataExpressions\RangeExpressions -Conformance04,CI Conformance\Expressions\DataExpressions\SequenceExpressions -Conformance04,CI Conformance\Expressions\DataExpressions\Simple -Conformance04,CI Conformance\Expressions\DataExpressions\TupleExpressions -Conformance04,CI Conformance\Expressions\ElaborationAndElaboratedExpressions -Conformance04,CI Conformance\Expressions\EvaluationAndValues -Conformance04,CI Conformance\Expressions\EvaluationOfElaboratedForms -Conformance04,CI Conformance\Expressions\ExpressionQuotations\Baselines -Conformance04,CI Conformance\Expressions\ExpressionQuotations\Regressions -Conformance04,CI Conformance\Expressions\SomeCheckingAndInferenceTerminology -Conformance04,CI Conformance\Expressions\SyntacticSugar -Conformance04,CI Conformance\Expressions\SyntacticSugarAndAmbiguities -Conformance04,CI Conformance\Expressions\Type-relatedExpressions -Conformance04,CI Conformance\ImplementationFilesAndSignatureFiles\CheckingOfImplementationFiles -Conformance04,CI Conformance\ImplementationFilesAndSignatureFiles\InitializationSemanticsForImplementationFiles -Conformance04,CI Conformance\ImplementationFilesAndSignatureFiles\NamespacesFragmentsAndImplementationFiles\basic -Conformance04,CI Conformance\ImplementationFilesAndSignatureFiles\NamespacesFragmentsAndImplementationFiles\global -Conformance04,CI Conformance\ImplementationFilesAndSignatureFiles\SignatureFiles -Conformance04,CI Conformance\InferenceProcedures\ByrefSafetyAnalysis -Conformance04,CI Conformance\InferenceProcedures\ConstraintSolving +Conformance04 Conformance\Expressions\DataExpressions\SequenceExpressions +Conformance04 Conformance\Expressions\DataExpressions\Simple +Conformance04 Conformance\Expressions\DataExpressions\TupleExpressions +Conformance04 Conformance\Expressions\ElaborationAndElaboratedExpressions +Conformance04 Conformance\Expressions\EvaluationAndValues +Conformance04 Conformance\Expressions\EvaluationOfElaboratedForms +Conformance04 Conformance\Expressions\ExpressionQuotations\Baselines +Conformance04 Conformance\Expressions\ExpressionQuotations\Regressions +Conformance04 Conformance\Expressions\SomeCheckingAndInferenceTerminology +Conformance04 Conformance\Expressions\SyntacticSugar +Conformance04 Conformance\Expressions\SyntacticSugarAndAmbiguities +Conformance04 Conformance\Expressions\Type-relatedExpressions +Conformance04 Conformance\ImplementationFilesAndSignatureFiles\CheckingOfImplementationFiles +Conformance04 Conformance\ImplementationFilesAndSignatureFiles\InitializationSemanticsForImplementationFiles +Conformance04 Conformance\ImplementationFilesAndSignatureFiles\NamespacesFragmentsAndImplementationFiles\basic +Conformance04 Conformance\ImplementationFilesAndSignatureFiles\NamespacesFragmentsAndImplementationFiles\global +Conformance04 Conformance\ImplementationFilesAndSignatureFiles\SignatureFiles +Conformance04 Conformance\InferenceProcedures\ByrefSafetyAnalysis +Conformance04 Conformance\InferenceProcedures\ConstraintSolving Conformance04 Conformance\InferenceProcedures\DispatchSlotChecking Conformance05 Conformance\InferenceProcedures\DispatchSlotInference @@ -179,7 +179,7 @@ Conformance06 Conformance\LexicalAnalysis\StringsAndCharacters Conformance06 Conformance\LexicalAnalysis\SymbolicKeywords Conformance06 Conformance\LexicalAnalysis\SymbolicOperators Conformance06 Conformance\LexicalAnalysis\Whitespace -Conformance06,CI Conformance\LexicalFiltering\Basic\ByExample +Conformance06 Conformance\LexicalFiltering\Basic\ByExample Conformance06 Conformance\LexicalFiltering\Basic\OffsideExceptions Conformance06 Conformance\LexicalFiltering\HashLight Conformance06 Conformance\LexicalFiltering\HighPrecedenceApplication @@ -190,7 +190,7 @@ Conformance06 Conformance\ObjectOrientedTypeDefinitions\ClassTypes\AutoPropert Conformance06 Conformance\ObjectOrientedTypeDefinitions\ClassTypes\ExplicitFields Conformance06 Conformance\ObjectOrientedTypeDefinitions\ClassTypes\ExplicitObjectConstructors Conformance06 Conformance\ObjectOrientedTypeDefinitions\ClassTypes\ImplicitObjectConstructors -Conformance06,CI Conformance\ObjectOrientedTypeDefinitions\ClassTypes\InheritsDeclarations +Conformance06 Conformance\ObjectOrientedTypeDefinitions\ClassTypes\InheritsDeclarations Conformance06 Conformance\ObjectOrientedTypeDefinitions\ClassTypes\LetDoDeclarations Conformance06 Conformance\ObjectOrientedTypeDefinitions\ClassTypes\MemberDeclarations Conformance06 Conformance\ObjectOrientedTypeDefinitions\ClassTypes\Misc @@ -217,7 +217,7 @@ Conformance07 Conformance\PatternMatching\Record Conformance07 Conformance\PatternMatching\Simple Conformance07 Conformance\PatternMatching\SimpleConstant -Conformance08,CI Conformance\PatternMatching\Tuple +Conformance08 Conformance\PatternMatching\Tuple Conformance08 Conformance\PatternMatching\TypeAnnotated Conformance08 Conformance\PatternMatching\TypeConstraint Conformance08 Conformance\PatternMatching\Union @@ -229,18 +229,18 @@ Conformance08 Conformance\TypesAndTypeConstraints\CheckingSyntacticTypes Conformance08 Conformance\TypesAndTypeConstraints\LogicalPropertiesOfTypes Conformance08 Conformance\TypesAndTypeConstraints\TypeConstraints Conformance08 Conformance\TypesAndTypeConstraints\TypeParameterDefinitions -Conformance08,CI Conformance\UnitsOfMeasure\Basic +Conformance08 Conformance\UnitsOfMeasure\Basic Conformance08 Conformance\UnitsOfMeasure\Bounds Conformance08 Conformance\UnitsOfMeasure\Constants Conformance08 Conformance\UnitsOfMeasure\Diagnostics Conformance08 Conformance\UnitsOfMeasure\Operators Conformance08 Conformance\UnitsOfMeasure\Parenthesis -Conformance08,CI Conformance\UnitsOfMeasure\Parsing +Conformance08 Conformance\UnitsOfMeasure\Parsing Conformance08 Conformance\UnitsOfMeasure\TypeChecker Conformance08 Conformance\UnitsOfMeasure\WithOOP -NoHostedCompiler,TypeProviders01,CI TypeProviders\Arrays +NoHostedCompiler,TypeProviders01 TypeProviders\Arrays NoHostedCompiler,TypeProviders01 TypeProviders\Attributes NoHostedCompiler,TypeProviders01 ..\..\..\testsprivate\fsharpqa\Source\TypeProviders\BuiltIn\EdmxFile NoHostedCompiler,TypeProviders01 TypeProviders\BuiltIn\OdataService\Diagnostics @@ -264,7 +264,7 @@ NoHostedCompiler,TypeProviders02 ..\..\..\testsprivate\fsharpqa\Source\TypePro NoHostedCompiler,TypeProviders03 ..\..\..\testsprivate\fsharpqa\Source\TypeProviders\BuiltIn\WsdlService\StaticParams NoHostedCompiler,TypeProviders03 TypeProviders\Events -NoHostedCompiler,TypeProviders03,CI TypeProviders\Fields\Literals +NoHostedCompiler,TypeProviders03 TypeProviders\Fields\Literals NoHostedCompiler,TypeProviders03 TypeProviders\Generics NoHostedCompiler,TypeProviders03 TypeProviders\Inheritance NoHostedCompiler,TypeProviders03 TypeProviders\Interfaces\Erased @@ -278,11 +278,11 @@ NoHostedCompiler,TypeProviders04 TypeProviders\Properties\Static NoHostedCompiler,TypeProviders04 ..\..\..\testsprivate\fsharpqa\Source\TypeProviders\QuerySql2DotNetTypes NoHostedCompiler,TypeProviders04 TypeProviders\RuntimeDesignTimeAssembly\LoadingLogic NoHostedCompiler,TypeProviders04 TypeProviders\RuntimeDesignTimeAssembly\Negative -NoHostedCompiler,TypeProviders04,CI TypeProviders\StaticParams +NoHostedCompiler,TypeProviders04 TypeProviders\StaticParams NoHostedCompiler,TypeProviders04 ..\..\..\testsprivate\fsharpqa\Source\TypeProviders\WsdlDotNetTypes -Misc01,CI ClrFx\PseudoCustomAttributes\AssemblyAlgorithmId +Misc01 ClrFx\PseudoCustomAttributes\AssemblyAlgorithmId Misc01 ClrFx\PseudoCustomAttributes\AssemblyConfiguration Misc01 ClrFx\PseudoCustomAttributes\AssemblyVersion Misc01 Diagnostics\async @@ -300,12 +300,12 @@ Misc01 Libraries\Core\ExtraTopLevelOperators Misc01 Libraries\Core\LanguagePrimitives Misc01 Libraries\Core\NativeInterop\stackalloc Misc01 Libraries\Core\Operators -Misc01,CI Libraries\Core\Reflection +Misc01 Libraries\Core\Reflection Misc01 Libraries\Core\Unchecked Misc02 Libraries\Portable Misc02 Misc -Misc02,CI MultiTargeting +Misc02 MultiTargeting Misc02 OCamlCompat Misc02,CodeGen Optimizations\AssemblyBoundary Misc02,CodeGen Optimizations\ForLoop @@ -317,6 +317,6 @@ Misc02 ..\..\..\testsprivate\fsharpqa\Source\RealWorld\Agents Misc02,NoMT ..\..\..\testsprivate\fsharpqa\Source\Setup Misc02 Stress Misc02 XmlDoc\Basic -Misc02,CI XmlDoc\OCamlDoc +Misc02 XmlDoc\OCamlDoc Misc02 XmlDoc\UnitOfMeasure Diagnostics Diagnostics\General diff --git a/tests/test.lst b/tests/test.lst index b2201712ec..62877d3af7 100644 --- a/tests/test.lst +++ b/tests/test.lst @@ -8,40 +8,40 @@ # Remember to use **TABS** not spaces. # I don't know who you are. I don't know what you want. But if you hose daily automation by forgetting tabs, I will look for you, I will find you, and I will revert your checkin. -Core01,CI fsharp\core\access +Core01 fsharp\core\access Core01 fsharp\core\apporder -Core01,CI fsharp\core\array +Core01 fsharp\core\array Core01 fsharp\core\attributes -Core01,CI fsharp\core\comprehensions +Core01 fsharp\core\comprehensions Core01 fsharp\core\control Core01 fsharp\core\controlChamenos Core01 fsharp\core\controlMailbox Core01 fsharp\core\controlStackOverflow -Core01,CI fsharp\core\controlWebExt +Core01 fsharp\core\controlWebExt Core02 fsharp\core\controlWpf Core02 fsharp\core\csext Core02 ..\testsprivate\fsharp\core\csfromfs Core02 fsharp\core\events Core02 fsharp\core\forwarders Core02 fsharp\core\forexpression -Core02,CI fsharp\core\fsfromcs +Core02 fsharp\core\fsfromcs Core02 fsharp\core\fsfromfsviacs Core02 fsharp\core\fsiAndModifiers Core02 fsharp\core\fsi-reload Core02 fsharp\core\fsi-shadowcopy -Core02,CI fsharp\core\genericmeasures +Core02 fsharp\core\genericmeasures Core02 fsharp\core\hiding Core03 fsharp\core\innerpoly -Core03,CI,Smoke fsharp\core\int32 +Core03,Smoke fsharp\core\int32 Core03 fsharp\core\internalsvisible Core03 fsharp\core\interop Core03 fsharp\core\ilread Core03 fsharp\core\lazy Core03 fsharp\core\letrec -Core03,CI fsharp\core\libtest +Core03 fsharp\core\libtest Core03 fsharp\core\lift NO_CI,Core03 fsharp\core\load-script -Core03,CI fsharp\core\longnames +Core03 fsharp\core\longnames Core03 fsharp\core\map Core04 ..\testsprivate\fsharp\core\math\lapack Core04 fsharp\core\math\numbers @@ -64,16 +64,16 @@ Core05 fsharp\core\queriesCustomQueryOps Core06,CoreQuotes fsharp\core\queriesLeafExpressionConvert Core06 fsharp\core\queriesNullableOperators Core06 fsharp\core\queriesOverIEnumerable -Core06,CI fsharp\core\queriesOverIQueryable +Core06 fsharp\core\queriesOverIQueryable Core06 ..\testsprivate\fsharp\core\queriesOverIQueryableLinqToEntities Core06 ..\testsprivate\fsharp\core\queriesOverIQueryableLinqToSql Core06 fsharp\core\queriesOverOData -Core06,CoreQuotes,CI fsharp\core\quotes +Core06,CoreQuotes fsharp\core\quotes Core06 fsharp\core\quotesDebugInfo Core06 fsharp\core\quotesInMultipleModules Core07 fsharp\core\reflect Core07 fsharp\core\resources -Core07,CI fsharp\core\seq +Core07 fsharp\core\seq Core07 fsharp\core\subtype Core07 fsharp\core\syntax Core07 fsharp\core\tlr @@ -91,7 +91,7 @@ Portable259 fsharp\core\netcore\netcore259 Samples01 ..\testsprivate\fsharp\samples\adCenter Samples01 ..\testsprivate\fsharp\samples\AntColony Samples01 ..\testsprivate\fsharp\samples\asfparse -Samples01,CI ..\testsprivate\fsharp\samples\bitonic +Samples01 ..\testsprivate\fsharp\samples\bitonic Samples01 ..\testsprivate\fsharp\samples\blast Samples01 ..\testsprivate\fsharp\samples\brianmcn Samples01 ..\testsprivate\fsharp\samples\Cci2Test @@ -99,7 +99,7 @@ Samples01 ..\testsprivate\fsharp\samples\ChartControl Samples01 ..\testsprivate\fsharp\samples\ChessAnalysis Samples01 ..\testsprivate\fsharp\samples\CodeFormatter Samples02 ..\testsprivate\fsharp\samples\ConcurrentLife -Samples02,CI ..\testsprivate\fsharp\samples\cs2fsform +Samples02 ..\testsprivate\fsharp\samples\cs2fsform Samples02 ..\testsprivate\fsharp\samples\expert-fsharp-book Samples02 ..\testsprivate\fsharp\samples\formgen Samples02 ..\testsprivate\fsharp\samples\FSforScientists @@ -111,7 +111,7 @@ Samples03 ..\testsprivate\fsharp\samples\graph Samples03 ..\testsprivate\fsharp\samples\InteractiveDirectX Samples03 ..\testsprivate\fsharp\samples\interactivewebcrawl Samples03 ..\testsprivate\fsharp\samples\IntroductoryTutorial -Samples03,CI ..\testsprivate\fsharp\samples\Joins\ActiveObjects +Samples03 ..\testsprivate\fsharp\samples\Joins\ActiveObjects Samples03 ..\testsprivate\fsharp\samples\Joins\BoundedBuffer Samples03 ..\testsprivate\fsharp\samples\Joins\ReaderWriter Samples03 ..\testsprivate\fsharp\samples\jrh @@ -119,7 +119,7 @@ Samples04 ..\testsprivate\fsharp\samples\life Samples04 ..\testsprivate\fsharp\samples\Micado Samples04 ..\testsprivate\fsharp\samples\mort Samples04 ..\testsprivate\fsharp\samples\mort3 -Samples04,CI ..\testsprivate\fsharp\samples\mort-hw +Samples04 ..\testsprivate\fsharp\samples\mort-hw Samples04 ..\testsprivate\fsharp\samples\MSFDSL Samples04 ..\testsprivate\fsharp\samples\nativecodebindingtutorial Samples04 ..\testsprivate\fsharp\samples\netra @@ -138,7 +138,7 @@ Samples06 ..\testsprivate\fsharp\samples\SudokuSolver Samples06 ..\testsprivate\fsharp\samples\t-pierred Samples06 ..\testsprivate\fsharp\samples\TrueSkillDistribution\TrueSkillDistributionViewer Samples06 ..\testsprivate\fsharp\samples\umrun -Samples06,CI ..\testsprivate\fsharp\samples\vsmocks +Samples06 ..\testsprivate\fsharp\samples\vsmocks Samples06 ..\testsprivate\fsharp\samples\wecker-1 Samples07 ..\testsprivate\fsharp\samples\WinFormsScripting Samples07 ..\testsprivate\fsharp\samples\XBoxLiveLogFilter @@ -146,7 +146,7 @@ Samples07 ..\testsprivate\fsharp\samples\XBoxLiveLogViewer Samples07 ..\testsprivate\fsharp\samples\XNA\WindowsXNAGame Samples07 ..\testsprivate\fsharp\samples\XNA\XBox360Game -TypeProviders01,CI fsharp\typeProviders\helloWorld +TypeProviders01 fsharp\typeProviders\helloWorld TypeProviders01 ..\testsprivate\fsharp\typeProviders\builtin\DbmlFile TypeProviders01 fsharp\typeProviders\builtin\EdmxFile TypeProviders01 fsharp\typeProviders\builtin\ODataService @@ -154,7 +154,7 @@ TypeProviders01 fsharp\typeProviders\builtin\SqlDataConnection TypeProviders01 fsharp\typeProviders\builtin\SqlEntityConnection TypeProviders01 fsharp\typeProviders\builtin\WsdlService TypeProviders01 fsharp\typeProviders\diamondAssembly -TypeProviders01,CI fsharp\typeProviders\globalNamespace +TypeProviders01 fsharp\typeProviders\globalNamespace TypeProviders01 fsharp\typeProviders\helloWorldCSharp NO_CI,TypeProviders01,TypeProvidersNeg fsharp\typeProviders\negTests TypeProviders01 fsharp\typeProviders\splitAssembly @@ -172,7 +172,7 @@ Misc01 fsharp\regression\83 Misc01 fsharp\regression\84 Misc01 fsharp\regression\85 Misc01 fsharp\regression\86 -Misc02,CI fsharp\regression\321 +Misc02 fsharp\regression\321 Misc02 fsharp\regression\655 Misc02 fsharp\regression\656 Misc02 ..\testsprivate\fsharp\regression\standalone-bug From fd847388901e21b0f9b178591de50a3a69bef647 Mon Sep 17 00:00:00 2001 From: Don Syme Date: Mon, 8 Feb 2016 11:59:02 +0000 Subject: [PATCH 9/9] reduce FSharp.Core test times and simplify sln --- VisualFSharp.sln | 569 ------------------ .../Microsoft.FSharp.Control/AsyncModule.fs | 14 +- tests/RunTests.cmd | 16 +- 3 files changed, 15 insertions(+), 584 deletions(-) diff --git a/VisualFSharp.sln b/VisualFSharp.sln index 7010474b3d..c89f1e72b0 100644 --- a/VisualFSharp.sln +++ b/VisualFSharp.sln @@ -117,955 +117,386 @@ Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|x86 = Debug|x86 - Proto|Any CPU = Proto|Any CPU - Proto|x86 = Proto|x86 Release|Any CPU = Release|Any CPU Release|x86 = Release|x86 - VSDebug|Any CPU = VSDebug|Any CPU - VSDebug|x86 = VSDebug|x86 - VSRelease|Any CPU = VSRelease|Any CPU - VSRelease|x86 = VSRelease|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Debug|Any CPU.Build.0 = Debug|Any CPU {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Debug|x86.ActiveCfg = Debug|Any CPU {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Debug|x86.Build.0 = Debug|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Proto|Any CPU.Build.0 = Release|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Proto|x86.ActiveCfg = Proto|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Proto|x86.Build.0 = Proto|Any CPU {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Release|Any CPU.ActiveCfg = Release|Any CPU {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Release|Any CPU.Build.0 = Release|Any CPU {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Release|x86.ActiveCfg = Release|Any CPU {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.Release|x86.Build.0 = Release|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {4D7BE558-E6BF-44DA-8CE2-46AA6E0DC2E7}.VSRelease|x86.Build.0 = VSRelease|Any CPU {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Debug|Any CPU.Build.0 = Debug|Any CPU {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Debug|x86.ActiveCfg = Debug|Any CPU {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Debug|x86.Build.0 = Debug|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Proto|Any CPU.Build.0 = Release|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Proto|x86.ActiveCfg = Proto|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Proto|x86.Build.0 = Proto|Any CPU {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Release|Any CPU.Build.0 = Release|Any CPU {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Release|x86.ActiveCfg = Release|Any CPU {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.Release|x86.Build.0 = Release|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {CE3EB47C-F7E7-4A5A-9F92-29A22DE218C6}.VSRelease|x86.Build.0 = VSRelease|Any CPU {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Debug|Any CPU.Build.0 = Debug|Any CPU {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Debug|x86.ActiveCfg = Debug|Any CPU {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Debug|x86.Build.0 = Debug|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Proto|Any CPU.Build.0 = Release|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Proto|x86.ActiveCfg = Proto|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Proto|x86.Build.0 = Proto|Any CPU {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Release|Any CPU.ActiveCfg = Release|Any CPU {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Release|Any CPU.Build.0 = Release|Any CPU {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Release|x86.ActiveCfg = Release|Any CPU {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.Release|x86.Build.0 = Release|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {15A57828-F9F5-4FB4-8E1E-AE7622A10F70}.VSRelease|x86.Build.0 = VSRelease|Any CPU {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Debug|Any CPU.Build.0 = Debug|Any CPU {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Debug|x86.ActiveCfg = Debug|Any CPU {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Debug|x86.Build.0 = Debug|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Proto|Any CPU.Build.0 = Release|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Proto|x86.ActiveCfg = Proto|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Proto|x86.Build.0 = Proto|Any CPU {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Release|Any CPU.ActiveCfg = Release|Any CPU {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Release|Any CPU.Build.0 = Release|Any CPU {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Release|x86.ActiveCfg = Release|Any CPU {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.Release|x86.Build.0 = Release|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {5B739CF3-1116-4EB4-B598-6C16BEA81CE5}.VSRelease|x86.Build.0 = VSRelease|Any CPU {DB374A0C-7560-479F-9B21-D37C81F7624F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DB374A0C-7560-479F-9B21-D37C81F7624F}.Debug|Any CPU.Build.0 = Debug|Any CPU {DB374A0C-7560-479F-9B21-D37C81F7624F}.Debug|x86.ActiveCfg = Debug|Any CPU {DB374A0C-7560-479F-9B21-D37C81F7624F}.Debug|x86.Build.0 = Debug|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.Proto|Any CPU.Build.0 = Release|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.Proto|x86.ActiveCfg = Proto|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.Proto|x86.Build.0 = Proto|Any CPU {DB374A0C-7560-479F-9B21-D37C81F7624F}.Release|Any CPU.ActiveCfg = Release|Any CPU {DB374A0C-7560-479F-9B21-D37C81F7624F}.Release|Any CPU.Build.0 = Release|Any CPU {DB374A0C-7560-479F-9B21-D37C81F7624F}.Release|x86.ActiveCfg = Release|Any CPU {DB374A0C-7560-479F-9B21-D37C81F7624F}.Release|x86.Build.0 = Release|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {DB374A0C-7560-479F-9B21-D37C81F7624F}.VSRelease|x86.Build.0 = VSRelease|Any CPU {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Debug|Any CPU.Build.0 = Debug|Any CPU {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Debug|x86.ActiveCfg = Debug|Any CPU {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Debug|x86.Build.0 = Debug|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Proto|Any CPU.Build.0 = Release|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Proto|x86.ActiveCfg = Proto|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Proto|x86.Build.0 = Proto|Any CPU {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Release|Any CPU.ActiveCfg = Release|Any CPU {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Release|Any CPU.Build.0 = Release|Any CPU {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Release|x86.ActiveCfg = Release|Any CPU {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.Release|x86.Build.0 = Release|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {2FACEE44-48BD-40B5-A2EE-B54A0C9BB7C4}.VSRelease|x86.Build.0 = VSRelease|Any CPU {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Debug|Any CPU.Build.0 = Debug|Any CPU {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Debug|x86.ActiveCfg = Debug|Any CPU {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Debug|x86.Build.0 = Debug|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Proto|Any CPU.Build.0 = Release|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Proto|x86.ActiveCfg = Proto|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Proto|x86.Build.0 = Proto|Any CPU {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Release|Any CPU.ActiveCfg = Release|Any CPU {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Release|Any CPU.Build.0 = Release|Any CPU {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Release|x86.ActiveCfg = Release|Any CPU {604F0DAA-2D33-48DD-B162-EDF0B672803D}.Release|x86.Build.0 = Release|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {604F0DAA-2D33-48DD-B162-EDF0B672803D}.VSRelease|x86.Build.0 = VSRelease|Any CPU {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Debug|Any CPU.Build.0 = Debug|Any CPU {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Debug|x86.ActiveCfg = Debug|Any CPU {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Debug|x86.Build.0 = Debug|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Proto|Any CPU.Build.0 = Release|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Proto|x86.ActiveCfg = Proto|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Proto|x86.Build.0 = Proto|Any CPU {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Release|Any CPU.ActiveCfg = Release|Any CPU {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Release|Any CPU.Build.0 = Release|Any CPU {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Release|x86.ActiveCfg = Release|Any CPU {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.Release|x86.Build.0 = Release|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {01678CDA-A11F-4DEE-9344-2EDF91CF1AE7}.VSRelease|x86.Build.0 = VSRelease|Any CPU {493D19F9-35A4-4D0B-9B25-CA948823B709}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {493D19F9-35A4-4D0B-9B25-CA948823B709}.Debug|Any CPU.Build.0 = Debug|Any CPU {493D19F9-35A4-4D0B-9B25-CA948823B709}.Debug|x86.ActiveCfg = Debug|Any CPU {493D19F9-35A4-4D0B-9B25-CA948823B709}.Debug|x86.Build.0 = Debug|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.Proto|Any CPU.Build.0 = Release|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.Proto|x86.ActiveCfg = Proto|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.Proto|x86.Build.0 = Proto|Any CPU {493D19F9-35A4-4D0B-9B25-CA948823B709}.Release|Any CPU.ActiveCfg = Release|Any CPU {493D19F9-35A4-4D0B-9B25-CA948823B709}.Release|Any CPU.Build.0 = Release|Any CPU {493D19F9-35A4-4D0B-9B25-CA948823B709}.Release|x86.ActiveCfg = Release|Any CPU {493D19F9-35A4-4D0B-9B25-CA948823B709}.Release|x86.Build.0 = Release|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {493D19F9-35A4-4D0B-9B25-CA948823B709}.VSRelease|x86.Build.0 = VSRelease|Any CPU {530DF8CA-7996-407A-B533-D0C2873257AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {530DF8CA-7996-407A-B533-D0C2873257AF}.Debug|Any CPU.Build.0 = Debug|Any CPU {530DF8CA-7996-407A-B533-D0C2873257AF}.Debug|x86.ActiveCfg = Debug|Any CPU {530DF8CA-7996-407A-B533-D0C2873257AF}.Debug|x86.Build.0 = Debug|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.Proto|Any CPU.Build.0 = Release|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.Proto|x86.ActiveCfg = Proto|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.Proto|x86.Build.0 = Proto|Any CPU {530DF8CA-7996-407A-B533-D0C2873257AF}.Release|Any CPU.ActiveCfg = Release|Any CPU {530DF8CA-7996-407A-B533-D0C2873257AF}.Release|Any CPU.Build.0 = Release|Any CPU {530DF8CA-7996-407A-B533-D0C2873257AF}.Release|x86.ActiveCfg = Release|Any CPU {530DF8CA-7996-407A-B533-D0C2873257AF}.Release|x86.Build.0 = Release|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {530DF8CA-7996-407A-B533-D0C2873257AF}.VSRelease|x86.Build.0 = VSRelease|Any CPU {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Debug|Any CPU.Build.0 = Debug|Any CPU {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Debug|x86.ActiveCfg = Debug|Any CPU {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Debug|x86.Build.0 = Debug|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Proto|Any CPU.Build.0 = Release|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Proto|x86.ActiveCfg = Proto|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Proto|x86.Build.0 = Proto|Any CPU {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Release|Any CPU.ActiveCfg = Release|Any CPU {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Release|Any CPU.Build.0 = Release|Any CPU {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Release|x86.ActiveCfg = Release|Any CPU {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.Release|x86.Build.0 = Release|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {98ABDE09-9E08-49C7-B006-FB3CB5365B54}.VSRelease|x86.Build.0 = VSRelease|Any CPU {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Debug|Any CPU.Build.0 = Debug|Any CPU {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Debug|x86.ActiveCfg = Debug|Any CPU {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Debug|x86.Build.0 = Debug|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Proto|Any CPU.Build.0 = Proto|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Proto|x86.ActiveCfg = Proto|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Proto|x86.Build.0 = Proto|Any CPU {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Release|Any CPU.ActiveCfg = Release|Any CPU {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Release|Any CPU.Build.0 = Release|Any CPU {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Release|x86.ActiveCfg = Release|Any CPU {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.Release|x86.Build.0 = Release|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}.VSRelease|x86.Build.0 = VSRelease|Any CPU {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Debug|Any CPU.Build.0 = Debug|Any CPU {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Debug|x86.ActiveCfg = Debug|Any CPU {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Debug|x86.Build.0 = Debug|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Proto|Any CPU.Build.0 = Proto|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Proto|x86.ActiveCfg = Proto|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Proto|x86.Build.0 = Proto|Any CPU {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Release|Any CPU.ActiveCfg = Release|Any CPU {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Release|Any CPU.Build.0 = Release|Any CPU {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Release|x86.ActiveCfg = Release|Any CPU {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.Release|x86.Build.0 = Release|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {991DCF75-C2EB-42B6-9A0D-AA1D2409D519}.VSRelease|x86.Build.0 = VSRelease|Any CPU {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Debug|Any CPU.Build.0 = Debug|Any CPU {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Debug|x86.ActiveCfg = Debug|Any CPU {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Debug|x86.Build.0 = Debug|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Proto|Any CPU.Build.0 = Proto|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Proto|x86.ActiveCfg = Proto|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Proto|x86.Build.0 = Proto|Any CPU {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Release|Any CPU.ActiveCfg = Release|Any CPU {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Release|Any CPU.Build.0 = Release|Any CPU {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Release|x86.ActiveCfg = Release|Any CPU {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.Release|x86.Build.0 = Release|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {D5870CF0-ED51-4CBC-B3D7-6F56DA84AC06}.VSRelease|x86.Build.0 = VSRelease|Any CPU {DED3BBD7-53F4-428A-8C9F-27968E768605}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DED3BBD7-53F4-428A-8C9F-27968E768605}.Debug|Any CPU.Build.0 = Debug|Any CPU {DED3BBD7-53F4-428A-8C9F-27968E768605}.Debug|x86.ActiveCfg = Debug|Any CPU {DED3BBD7-53F4-428A-8C9F-27968E768605}.Debug|x86.Build.0 = Debug|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.Proto|Any CPU.Build.0 = Proto|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.Proto|x86.ActiveCfg = Proto|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.Proto|x86.Build.0 = Proto|Any CPU {DED3BBD7-53F4-428A-8C9F-27968E768605}.Release|Any CPU.ActiveCfg = Release|Any CPU {DED3BBD7-53F4-428A-8C9F-27968E768605}.Release|Any CPU.Build.0 = Release|Any CPU {DED3BBD7-53F4-428A-8C9F-27968E768605}.Release|x86.ActiveCfg = Release|Any CPU {DED3BBD7-53F4-428A-8C9F-27968E768605}.Release|x86.Build.0 = Release|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {DED3BBD7-53F4-428A-8C9F-27968E768605}.VSRelease|x86.Build.0 = VSRelease|Any CPU {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Debug|Any CPU.Build.0 = Debug|Any CPU {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Debug|x86.ActiveCfg = Debug|Any CPU {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Debug|x86.Build.0 = Debug|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Proto|Any CPU.Build.0 = Proto|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Proto|x86.ActiveCfg = Proto|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Proto|x86.Build.0 = Proto|Any CPU {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Release|Any CPU.ActiveCfg = Release|Any CPU {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Release|Any CPU.Build.0 = Release|Any CPU {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Release|x86.ActiveCfg = Release|Any CPU {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.Release|x86.Build.0 = Release|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {A437A6EC-5323-47C2-8F86-E2CAC54FF152}.VSRelease|x86.Build.0 = VSRelease|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Debug|Any CPU.Build.0 = Debug|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Debug|x86.ActiveCfg = Debug|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Debug|x86.Build.0 = Debug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Proto|Any CPU.Build.0 = Proto|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Proto|x86.ActiveCfg = Proto|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Proto|x86.Build.0 = Proto|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Release|Any CPU.ActiveCfg = Release|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Release|Any CPU.Build.0 = Release|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Release|x86.ActiveCfg = Release|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.Release|x86.Build.0 = Release|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64CCC413E3F}.VSRelease|x86.Build.0 = VSRelease|Any CPU {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Debug|Any CPU.Build.0 = Debug|Any CPU {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Debug|x86.ActiveCfg = Debug|Any CPU {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Debug|x86.Build.0 = Debug|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Proto|Any CPU.Build.0 = Release|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Proto|x86.ActiveCfg = Proto|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Proto|x86.Build.0 = Proto|Any CPU {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Release|Any CPU.ActiveCfg = Release|Any CPU {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Release|Any CPU.Build.0 = Release|Any CPU {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Release|x86.ActiveCfg = Release|Any CPU {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.Release|x86.Build.0 = Release|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}.VSRelease|x86.Build.0 = VSRelease|Any CPU {65E0E82A-EACE-4787-8994-888674C2FE87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {65E0E82A-EACE-4787-8994-888674C2FE87}.Debug|Any CPU.Build.0 = Debug|Any CPU {65E0E82A-EACE-4787-8994-888674C2FE87}.Debug|x86.ActiveCfg = Debug|Any CPU {65E0E82A-EACE-4787-8994-888674C2FE87}.Debug|x86.Build.0 = Debug|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.Proto|Any CPU.Build.0 = Proto|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.Proto|x86.ActiveCfg = Proto|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.Proto|x86.Build.0 = Proto|Any CPU {65E0E82A-EACE-4787-8994-888674C2FE87}.Release|Any CPU.ActiveCfg = Release|Any CPU {65E0E82A-EACE-4787-8994-888674C2FE87}.Release|Any CPU.Build.0 = Release|Any CPU {65E0E82A-EACE-4787-8994-888674C2FE87}.Release|x86.ActiveCfg = Release|Any CPU {65E0E82A-EACE-4787-8994-888674C2FE87}.Release|x86.Build.0 = Release|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {65E0E82A-EACE-4787-8994-888674C2FE87}.VSRelease|x86.Build.0 = VSRelease|Any CPU {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Debug|Any CPU.Build.0 = Debug|Any CPU {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Debug|x86.ActiveCfg = Debug|Any CPU {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Debug|x86.Build.0 = Debug|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Proto|Any CPU.Build.0 = Release|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Proto|x86.ActiveCfg = Proto|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Proto|x86.Build.0 = Proto|Any CPU {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Release|Any CPU.ActiveCfg = Release|Any CPU {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Release|Any CPU.Build.0 = Release|Any CPU {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Release|x86.ActiveCfg = Release|Any CPU {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.Release|x86.Build.0 = Release|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {B700E38B-F8C0-4E49-B5EC-DB7B7AC0C4E7}.VSRelease|x86.Build.0 = VSRelease|Any CPU {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Debug|Any CPU.Build.0 = Debug|Any CPU {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Debug|x86.ActiveCfg = Debug|Any CPU {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Debug|x86.Build.0 = Debug|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Proto|Any CPU.Build.0 = Release|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Proto|x86.ActiveCfg = Proto|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Proto|x86.Build.0 = Proto|Any CPU {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Release|Any CPU.ActiveCfg = Release|Any CPU {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Release|Any CPU.Build.0 = Release|Any CPU {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Release|x86.ActiveCfg = Release|Any CPU {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.Release|x86.Build.0 = Release|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {FCFB214C-462E-42B3-91CA-FC557EFEE74F}.VSRelease|x86.Build.0 = VSRelease|Any CPU {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Debug|Any CPU.Build.0 = Debug|Any CPU {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Debug|x86.ActiveCfg = Debug|Any CPU {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Debug|x86.Build.0 = Debug|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Proto|Any CPU.Build.0 = Proto|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Proto|x86.ActiveCfg = Proto|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Proto|x86.Build.0 = Proto|Any CPU {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Release|Any CPU.ActiveCfg = Release|Any CPU {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Release|Any CPU.Build.0 = Release|Any CPU {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Release|x86.ActiveCfg = Release|Any CPU {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.Release|x86.Build.0 = Release|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {6196B0F8-CAEA-4CF1-AF82-1B520F77FE44}.VSRelease|x86.Build.0 = VSRelease|Any CPU {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Debug|Any CPU.Build.0 = Debug|Any CPU {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Debug|x86.ActiveCfg = Debug|Any CPU {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Debug|x86.Build.0 = Debug|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Proto|Any CPU.Build.0 = Proto|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Proto|x86.ActiveCfg = Proto|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Proto|x86.Build.0 = Proto|Any CPU {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Release|Any CPU.ActiveCfg = Release|Any CPU {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Release|Any CPU.Build.0 = Release|Any CPU {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Release|x86.ActiveCfg = Release|Any CPU {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.Release|x86.Build.0 = Release|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {D9D95330-3626-4199-B7AF-17B8E4AF6D87}.VSRelease|x86.Build.0 = VSRelease|Any CPU {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Debug|Any CPU.Build.0 = Debug|Any CPU {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Debug|x86.ActiveCfg = Debug|Any CPU {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Debug|x86.Build.0 = Debug|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Proto|Any CPU.Build.0 = Proto|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Proto|x86.ActiveCfg = Proto|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Proto|x86.Build.0 = Proto|Any CPU {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Release|Any CPU.ActiveCfg = Release|Any CPU {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Release|Any CPU.Build.0 = Release|Any CPU {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Release|x86.ActiveCfg = Release|Any CPU {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.Release|x86.Build.0 = Release|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {1A8DBF70-4178-4AE3-AF5F-39DDD5692210}.VSRelease|x86.Build.0 = VSRelease|Any CPU {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Debug|Any CPU.Build.0 = Debug|Any CPU {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Debug|x86.ActiveCfg = Debug|Any CPU {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Debug|x86.Build.0 = Debug|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Proto|Any CPU.Build.0 = Proto|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Proto|x86.ActiveCfg = Proto|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Proto|x86.Build.0 = Proto|Any CPU {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Release|Any CPU.ActiveCfg = Release|Any CPU {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Release|Any CPU.Build.0 = Release|Any CPU {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Release|x86.ActiveCfg = Release|Any CPU {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.Release|x86.Build.0 = Release|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {FBD4B354-DC6E-4032-8EC7-C81D8DFB1AF7}.VSRelease|x86.Build.0 = VSRelease|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Debug|Any CPU.Build.0 = Debug|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Debug|x86.ActiveCfg = Debug|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Debug|x86.Build.0 = Debug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Proto|Any CPU.Build.0 = Proto|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Proto|x86.ActiveCfg = Proto|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Proto|x86.Build.0 = Proto|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Release|Any CPU.ActiveCfg = Release|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Release|Any CPU.Build.0 = Release|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Release|x86.ActiveCfg = Release|Any CPU {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.Release|x86.Build.0 = Release|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}.VSRelease|x86.Build.0 = VSRelease|Any CPU {DA39AD38-4A58-47BF-9215-E49768295169}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DA39AD38-4A58-47BF-9215-E49768295169}.Debug|Any CPU.Build.0 = Debug|Any CPU {DA39AD38-4A58-47BF-9215-E49768295169}.Debug|x86.ActiveCfg = Debug|Any CPU {DA39AD38-4A58-47BF-9215-E49768295169}.Debug|x86.Build.0 = Debug|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.Proto|Any CPU.Build.0 = Proto|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.Proto|x86.ActiveCfg = Proto|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.Proto|x86.Build.0 = Proto|Any CPU {DA39AD38-4A58-47BF-9215-E49768295169}.Release|Any CPU.ActiveCfg = Release|Any CPU {DA39AD38-4A58-47BF-9215-E49768295169}.Release|Any CPU.Build.0 = Release|Any CPU {DA39AD38-4A58-47BF-9215-E49768295169}.Release|x86.ActiveCfg = Release|Any CPU {DA39AD38-4A58-47BF-9215-E49768295169}.Release|x86.Build.0 = Release|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {DA39AD38-4A58-47BF-9215-E49768295169}.VSRelease|x86.Build.0 = VSRelease|Any CPU {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Debug|Any CPU.Build.0 = Debug|Any CPU {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Debug|x86.ActiveCfg = Debug|Any CPU {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Debug|x86.Build.0 = Debug|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Proto|Any CPU.Build.0 = Proto|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Proto|x86.ActiveCfg = Proto|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Proto|x86.Build.0 = Proto|Any CPU {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Release|Any CPU.ActiveCfg = Release|Any CPU {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Release|Any CPU.Build.0 = Release|Any CPU {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Release|x86.ActiveCfg = Release|Any CPU {8C2439BD-0E49-4929-A8B1-29CEE228191E}.Release|x86.Build.0 = Release|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {8C2439BD-0E49-4929-A8B1-29CEE228191E}.VSRelease|x86.Build.0 = VSRelease|Any CPU {F47196DC-186D-4055-BAF2-658282A12F33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F47196DC-186D-4055-BAF2-658282A12F33}.Debug|Any CPU.Build.0 = Debug|Any CPU {F47196DC-186D-4055-BAF2-658282A12F33}.Debug|x86.ActiveCfg = Debug|Any CPU {F47196DC-186D-4055-BAF2-658282A12F33}.Debug|x86.Build.0 = Debug|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.Proto|Any CPU.Build.0 = Proto|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.Proto|x86.ActiveCfg = Proto|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.Proto|x86.Build.0 = Proto|Any CPU {F47196DC-186D-4055-BAF2-658282A12F33}.Release|Any CPU.ActiveCfg = Release|Any CPU {F47196DC-186D-4055-BAF2-658282A12F33}.Release|Any CPU.Build.0 = Release|Any CPU {F47196DC-186D-4055-BAF2-658282A12F33}.Release|x86.ActiveCfg = Release|Any CPU {F47196DC-186D-4055-BAF2-658282A12F33}.Release|x86.Build.0 = Release|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {F47196DC-186D-4055-BAF2-658282A12F33}.VSRelease|x86.Build.0 = VSRelease|Any CPU {D4C88934-5893-467E-A55C-A11ECD6479FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D4C88934-5893-467E-A55C-A11ECD6479FE}.Debug|Any CPU.Build.0 = Debug|Any CPU {D4C88934-5893-467E-A55C-A11ECD6479FE}.Debug|x86.ActiveCfg = Debug|Any CPU {D4C88934-5893-467E-A55C-A11ECD6479FE}.Debug|x86.Build.0 = Debug|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.Proto|Any CPU.Build.0 = Proto|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.Proto|x86.ActiveCfg = Proto|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.Proto|x86.Build.0 = Proto|Any CPU {D4C88934-5893-467E-A55C-A11ECD6479FE}.Release|Any CPU.ActiveCfg = Release|Any CPU {D4C88934-5893-467E-A55C-A11ECD6479FE}.Release|Any CPU.Build.0 = Release|Any CPU {D4C88934-5893-467E-A55C-A11ECD6479FE}.Release|x86.ActiveCfg = Release|Any CPU {D4C88934-5893-467E-A55C-A11ECD6479FE}.Release|x86.Build.0 = Release|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {D4C88934-5893-467E-A55C-A11ECD6479FE}.VSRelease|x86.Build.0 = VSRelease|Any CPU {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Debug|Any CPU.Build.0 = Debug|Any CPU {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Debug|x86.ActiveCfg = Debug|Any CPU {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Debug|x86.Build.0 = Debug|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Proto|Any CPU.Build.0 = Proto|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Proto|x86.ActiveCfg = Proto|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Proto|x86.Build.0 = Proto|Any CPU {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Release|Any CPU.Build.0 = Release|Any CPU {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Release|x86.ActiveCfg = Release|Any CPU {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.Release|x86.Build.0 = Release|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {6AFF752D-E991-4A08-9ED2-5BF46B0E0F8B}.VSRelease|x86.Build.0 = VSRelease|Any CPU {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Debug|Any CPU.Build.0 = Debug|Any CPU {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Debug|x86.ActiveCfg = Debug|Any CPU {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Debug|x86.Build.0 = Debug|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Proto|Any CPU.Build.0 = Proto|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Proto|x86.ActiveCfg = Proto|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Proto|x86.Build.0 = Proto|Any CPU {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Release|Any CPU.ActiveCfg = Release|Any CPU {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Release|Any CPU.Build.0 = Release|Any CPU {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Release|x86.ActiveCfg = Release|Any CPU {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.Release|x86.Build.0 = Release|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {0B9CDEAF-EE8F-45E0-A4E0-34A8ED6DD09E}.VSRelease|x86.Build.0 = VSRelease|Any CPU {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Debug|Any CPU.Build.0 = Debug|Any CPU {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Debug|x86.ActiveCfg = Debug|Any CPU {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Debug|x86.Build.0 = Debug|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Proto|Any CPU.Build.0 = Proto|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Proto|x86.ActiveCfg = Proto|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Proto|x86.Build.0 = Proto|Any CPU {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Release|Any CPU.ActiveCfg = Release|Any CPU {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Release|Any CPU.Build.0 = Release|Any CPU {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Release|x86.ActiveCfg = Release|Any CPU {004982C6-93EA-4E70-B4F0-BE7D7219926A}.Release|x86.Build.0 = Release|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {004982C6-93EA-4E70-B4F0-BE7D7219926A}.VSRelease|x86.Build.0 = VSRelease|Any CPU {243A81AC-A954-4601-833A-60EEEFB00FCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {243A81AC-A954-4601-833A-60EEEFB00FCD}.Debug|Any CPU.Build.0 = Debug|Any CPU {243A81AC-A954-4601-833A-60EEEFB00FCD}.Debug|x86.ActiveCfg = Debug|Any CPU {243A81AC-A954-4601-833A-60EEEFB00FCD}.Debug|x86.Build.0 = Debug|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.Proto|Any CPU.Build.0 = Proto|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.Proto|x86.ActiveCfg = Proto|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.Proto|x86.Build.0 = Proto|Any CPU {243A81AC-A954-4601-833A-60EEEFB00FCD}.Release|Any CPU.ActiveCfg = Release|Any CPU {243A81AC-A954-4601-833A-60EEEFB00FCD}.Release|Any CPU.Build.0 = Release|Any CPU {243A81AC-A954-4601-833A-60EEEFB00FCD}.Release|x86.ActiveCfg = Release|Any CPU {243A81AC-A954-4601-833A-60EEEFB00FCD}.Release|x86.Build.0 = Release|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {243A81AC-A954-4601-833A-60EEEFB00FCD}.VSRelease|x86.Build.0 = VSRelease|Any CPU {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Debug|Any CPU.Build.0 = Debug|Any CPU {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Debug|x86.ActiveCfg = Debug|Any CPU {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Debug|x86.Build.0 = Debug|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Proto|Any CPU.Build.0 = Proto|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Proto|x86.ActiveCfg = Proto|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Proto|x86.Build.0 = Proto|Any CPU {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Release|Any CPU.ActiveCfg = Release|Any CPU {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Release|Any CPU.Build.0 = Release|Any CPU {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Release|x86.ActiveCfg = Release|Any CPU {B4595EB6-053A-400E-AA1B-7727F1BC900F}.Release|x86.Build.0 = Release|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {B4595EB6-053A-400E-AA1B-7727F1BC900F}.VSRelease|x86.Build.0 = VSRelease|Any CPU {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Debug|Any CPU.Build.0 = Debug|Any CPU {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Debug|x86.ActiveCfg = Debug|Any CPU {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Debug|x86.Build.0 = Debug|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Proto|Any CPU.Build.0 = Proto|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Proto|x86.ActiveCfg = Proto|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Proto|x86.Build.0 = Proto|Any CPU {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Release|Any CPU.ActiveCfg = Release|Any CPU {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Release|Any CPU.Build.0 = Release|Any CPU {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Release|x86.ActiveCfg = Release|Any CPU {A559D7E8-7EFD-473A-B618-A10B41AB523B}.Release|x86.Build.0 = Release|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {A559D7E8-7EFD-473A-B618-A10B41AB523B}.VSRelease|x86.Build.0 = VSRelease|Any CPU {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Debug|Any CPU.Build.0 = Debug|Any CPU {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Debug|x86.ActiveCfg = Debug|Any CPU {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Debug|x86.Build.0 = Debug|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Proto|Any CPU.Build.0 = Proto|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Proto|x86.ActiveCfg = Proto|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Proto|x86.Build.0 = Proto|Any CPU {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Release|Any CPU.ActiveCfg = Release|Any CPU {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Release|Any CPU.Build.0 = Release|Any CPU {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Release|x86.ActiveCfg = Release|Any CPU {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.Release|x86.Build.0 = Release|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {AC85EE6D-033C-45F9-B8BA-884BC22EC6D9}.VSRelease|x86.Build.0 = VSRelease|Any CPU {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Debug|Any CPU.Build.0 = Debug|Any CPU {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Debug|x86.ActiveCfg = Debug|Any CPU {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Debug|x86.Build.0 = Debug|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Proto|Any CPU.Build.0 = Proto|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Proto|x86.ActiveCfg = Proto|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Proto|x86.Build.0 = Proto|Any CPU {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Release|Any CPU.ActiveCfg = Release|Any CPU {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Release|Any CPU.Build.0 = Release|Any CPU {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Release|x86.ActiveCfg = Release|Any CPU {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.Release|x86.Build.0 = Release|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {956BBE41-ABD1-4DBA-9F3B-BA1C9821C98C}.VSRelease|x86.Build.0 = VSRelease|Any CPU {702A7979-BCF9-4C41-853E-3ADFC9897890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {702A7979-BCF9-4C41-853E-3ADFC9897890}.Debug|Any CPU.Build.0 = Debug|Any CPU {702A7979-BCF9-4C41-853E-3ADFC9897890}.Debug|x86.ActiveCfg = Debug|Any CPU {702A7979-BCF9-4C41-853E-3ADFC9897890}.Debug|x86.Build.0 = Debug|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.Proto|Any CPU.Build.0 = Proto|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.Proto|x86.ActiveCfg = Proto|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.Proto|x86.Build.0 = Proto|Any CPU {702A7979-BCF9-4C41-853E-3ADFC9897890}.Release|Any CPU.ActiveCfg = Release|Any CPU {702A7979-BCF9-4C41-853E-3ADFC9897890}.Release|Any CPU.Build.0 = Release|Any CPU {702A7979-BCF9-4C41-853E-3ADFC9897890}.Release|x86.ActiveCfg = Release|Any CPU {702A7979-BCF9-4C41-853E-3ADFC9897890}.Release|x86.Build.0 = Release|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {702A7979-BCF9-4C41-853E-3ADFC9897890}.VSRelease|x86.Build.0 = VSRelease|Any CPU {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Debug|Any CPU.Build.0 = Debug|Any CPU {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Debug|x86.ActiveCfg = Debug|Any CPU {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Debug|x86.Build.0 = Debug|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Proto|Any CPU.Build.0 = Proto|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Proto|x86.ActiveCfg = Proto|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Proto|x86.Build.0 = Proto|Any CPU {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Release|Any CPU.ActiveCfg = Release|Any CPU {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Release|Any CPU.Build.0 = Release|Any CPU {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Release|x86.ActiveCfg = Release|Any CPU {C94C257C-3C0A-4858-B5D8-D746498D1F08}.Release|x86.Build.0 = Release|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {C94C257C-3C0A-4858-B5D8-D746498D1F08}.VSRelease|x86.Build.0 = VSRelease|Any CPU {CB7D20C4-6506-406D-9144-5342C3595F03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CB7D20C4-6506-406D-9144-5342C3595F03}.Debug|Any CPU.Build.0 = Debug|Any CPU {CB7D20C4-6506-406D-9144-5342C3595F03}.Debug|x86.ActiveCfg = Debug|Any CPU {CB7D20C4-6506-406D-9144-5342C3595F03}.Debug|x86.Build.0 = Debug|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.Proto|Any CPU.Build.0 = Proto|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.Proto|x86.ActiveCfg = Proto|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.Proto|x86.Build.0 = Proto|Any CPU {CB7D20C4-6506-406D-9144-5342C3595F03}.Release|Any CPU.ActiveCfg = Release|Any CPU {CB7D20C4-6506-406D-9144-5342C3595F03}.Release|Any CPU.Build.0 = Release|Any CPU {CB7D20C4-6506-406D-9144-5342C3595F03}.Release|x86.ActiveCfg = Release|Any CPU {CB7D20C4-6506-406D-9144-5342C3595F03}.Release|x86.Build.0 = Release|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {CB7D20C4-6506-406D-9144-5342C3595F03}.VSRelease|x86.Build.0 = VSRelease|Any CPU {649FA588-F02E-457C-9FCF-87E46407481E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {649FA588-F02E-457C-9FCF-87E46407481E}.Debug|Any CPU.Build.0 = Debug|Any CPU {649FA588-F02E-457C-9FCF-87E46407481E}.Debug|x86.ActiveCfg = Debug|Any CPU {649FA588-F02E-457C-9FCF-87E46407481E}.Debug|x86.Build.0 = Debug|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.Proto|Any CPU.Build.0 = Proto|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.Proto|x86.ActiveCfg = Proto|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.Proto|x86.Build.0 = Proto|Any CPU {649FA588-F02E-457C-9FCF-87E46407481E}.Release|Any CPU.ActiveCfg = Release|Any CPU {649FA588-F02E-457C-9FCF-87E46407481E}.Release|Any CPU.Build.0 = Release|Any CPU {649FA588-F02E-457C-9FCF-87E46407481E}.Release|x86.ActiveCfg = Release|Any CPU {649FA588-F02E-457C-9FCF-87E46407481E}.Release|x86.Build.0 = Release|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {649FA588-F02E-457C-9FCF-87E46407481E}.VSRelease|x86.Build.0 = VSRelease|Any CPU {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Debug|Any CPU.ActiveCfg = Debug|x86 {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Debug|Any CPU.Build.0 = Debug|x86 {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Debug|x86.ActiveCfg = Debug|x86 {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Debug|x86.Build.0 = Debug|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Proto|Any CPU.ActiveCfg = Proto|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Proto|x86.ActiveCfg = Proto|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Proto|x86.Build.0 = Proto|x86 {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Release|Any CPU.ActiveCfg = Release|x86 {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Release|Any CPU.Build.0 = Release|x86 {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Release|x86.ActiveCfg = Release|x86 {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.Release|x86.Build.0 = Release|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.VSDebug|Any CPU.ActiveCfg = VSDebug|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.VSDebug|Any CPU.Build.0 = VSDebug|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.VSDebug|x86.ActiveCfg = VSDebug|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.VSDebug|x86.Build.0 = VSDebug|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.VSRelease|Any CPU.ActiveCfg = VSRelease|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.VSRelease|Any CPU.Build.0 = VSRelease|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.VSRelease|x86.ActiveCfg = VSRelease|x86 - {8B3E283D-B5FE-4055-9D80-7E3A32F3967B}.VSRelease|x86.Build.0 = VSRelease|x86 {D0E98C0D-490B-4C61-9329-0862F6E87645}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D0E98C0D-490B-4C61-9329-0862F6E87645}.Debug|Any CPU.Build.0 = Debug|Any CPU {D0E98C0D-490B-4C61-9329-0862F6E87645}.Debug|x86.ActiveCfg = Debug|Any CPU {D0E98C0D-490B-4C61-9329-0862F6E87645}.Debug|x86.Build.0 = Debug|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.Proto|Any CPU.Build.0 = Proto|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.Proto|x86.ActiveCfg = Proto|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.Proto|x86.Build.0 = Proto|Any CPU {D0E98C0D-490B-4C61-9329-0862F6E87645}.Release|Any CPU.ActiveCfg = Release|Any CPU {D0E98C0D-490B-4C61-9329-0862F6E87645}.Release|Any CPU.Build.0 = Release|Any CPU {D0E98C0D-490B-4C61-9329-0862F6E87645}.Release|x86.ActiveCfg = Release|Any CPU {D0E98C0D-490B-4C61-9329-0862F6E87645}.Release|x86.Build.0 = Release|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {D0E98C0D-490B-4C61-9329-0862F6E87645}.VSRelease|x86.Build.0 = VSRelease|Any CPU {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Debug|Any CPU.Build.0 = Debug|Any CPU {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Debug|x86.ActiveCfg = Debug|Any CPU {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Debug|x86.Build.0 = Debug|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Proto|Any CPU.Build.0 = Proto|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Proto|x86.ActiveCfg = Proto|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Proto|x86.Build.0 = Proto|Any CPU {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Release|Any CPU.ActiveCfg = Release|Any CPU {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Release|Any CPU.Build.0 = Release|Any CPU {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Release|x86.ActiveCfg = Release|Any CPU {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.Release|x86.Build.0 = Release|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {C163E892-5BF7-4B59-AA99-B0E8079C67C4}.VSRelease|x86.Build.0 = VSRelease|Any CPU {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Debug|Any CPU.Build.0 = Debug|Any CPU {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Debug|x86.ActiveCfg = Debug|Any CPU {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Debug|x86.Build.0 = Debug|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Proto|Any CPU.Build.0 = Proto|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Proto|x86.ActiveCfg = Proto|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Proto|x86.Build.0 = Proto|Any CPU {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Release|Any CPU.Build.0 = Release|Any CPU {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Release|x86.ActiveCfg = Release|Any CPU {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.Release|x86.Build.0 = Release|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}.VSRelease|x86.Build.0 = VSRelease|Any CPU {88E2D422-6852-46E3-A740-83E391DC7973}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {88E2D422-6852-46E3-A740-83E391DC7973}.Debug|Any CPU.Build.0 = Debug|Any CPU {88E2D422-6852-46E3-A740-83E391DC7973}.Debug|x86.ActiveCfg = Debug|Any CPU {88E2D422-6852-46E3-A740-83E391DC7973}.Debug|x86.Build.0 = Debug|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.Proto|Any CPU.ActiveCfg = Proto|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.Proto|Any CPU.Build.0 = Proto|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.Proto|x86.ActiveCfg = Proto|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.Proto|x86.Build.0 = Proto|Any CPU {88E2D422-6852-46E3-A740-83E391DC7973}.Release|Any CPU.ActiveCfg = Release|Any CPU {88E2D422-6852-46E3-A740-83E391DC7973}.Release|Any CPU.Build.0 = Release|Any CPU {88E2D422-6852-46E3-A740-83E391DC7973}.Release|x86.ActiveCfg = Release|Any CPU {88E2D422-6852-46E3-A740-83E391DC7973}.Release|x86.Build.0 = Release|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.VSDebug|Any CPU.ActiveCfg = VSDebug|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.VSDebug|Any CPU.Build.0 = VSDebug|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.VSDebug|x86.ActiveCfg = VSDebug|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.VSDebug|x86.Build.0 = VSDebug|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.VSRelease|Any CPU.ActiveCfg = VSRelease|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.VSRelease|Any CPU.Build.0 = VSRelease|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.VSRelease|x86.ActiveCfg = VSRelease|Any CPU - {88E2D422-6852-46E3-A740-83E391DC7973}.VSRelease|x86.Build.0 = VSRelease|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/fsharp/FSharp.Core.Unittests/FSharp.Core/Microsoft.FSharp.Control/AsyncModule.fs b/src/fsharp/FSharp.Core.Unittests/FSharp.Core/Microsoft.FSharp.Control/AsyncModule.fs index 9df6b81a79..09f9d5cd42 100644 --- a/src/fsharp/FSharp.Core.Unittests/FSharp.Core/Microsoft.FSharp.Control/AsyncModule.fs +++ b/src/fsharp/FSharp.Core.Unittests/FSharp.Core/Microsoft.FSharp.Control/AsyncModule.fs @@ -170,7 +170,7 @@ type AsyncModule() = let dispose(d : #IDisposable) = d.Dispose() let testErrorAndCancelRace computation = - for _ in 1..100 do + for _ in 1..20 do let cts = new System.Threading.CancellationTokenSource() use barrier = new System.Threading.ManualResetEvent(false) async { cts.Cancel() } @@ -291,7 +291,7 @@ type AsyncModule() = cts.Cancel() sleep(100) Assert.IsTrue(isSet()) - for _i = 1 to 50 do test() + for _i = 1 to 3 do test() [] member this.``OnCancel.CancelThatWasSignalledBeforeRunningTheComputation``() = @@ -317,10 +317,10 @@ type AsyncModule() = Assert.IsTrue(ok, "Computation should be completed") Assert.IsFalse(!cancelledWasCalled, "Cancellation handler should not be called") - for _i = 1 to 50 do test() + for _i = 1 to 3 do test() - [] + [] member this.``Async.AwaitWaitHandle does not leak memory`` () = // This test checks that AwaitWaitHandle does not leak continuations (described in #131), // We only test the worst case - when the AwaitWaitHandle is already set. @@ -352,7 +352,7 @@ type AsyncModule() = Assert.IsFalse(resource.IsAlive) // The leak hangs on a race condition which is really hard to trigger in F# 3.0, hence the 100000 runs... - for _ in 1..100 do tryToLeak() + for _ in 1..10 do tryToLeak() [] member this.``AwaitWaitHandle.DisposedWaitHandle2``() = @@ -415,7 +415,7 @@ type AsyncModule() = testErrorAndCancelRace (Async.Sleep (-5)) #if !(FSHARP_CORE_PORTABLE || FSHARP_CORE_NETCORE_PORTABLE) - [] + [] // takes 3 minutes! member this.``Async.Choice specification test``() = Check.QuickThrowOnFailure (normalize >> runChoice) #endif @@ -562,7 +562,7 @@ type AsyncModule() = try cts.Cancel() with _ -> () System.Threading.Thread.Sleep 1500 printfn "====" - for i = 1 to 20 do test() + for i = 1 to 3 do test() Assert.AreEqual(0, !okCount) Assert.AreEqual(0, !errCount) #endif diff --git a/tests/RunTests.cmd b/tests/RunTests.cmd index a133fdb2f3..78a1e1b8bc 100644 --- a/tests/RunTests.cmd +++ b/tests/RunTests.cmd @@ -155,8 +155,8 @@ set XMLFILE=FSharpNunit_Xml.xml set OUTPUTFILE=FSharpNunit_Output.log set ERRORFILE=FSharpNunit_Error.log -echo "%NUNIT3_CONSOLE%" /verbose "%FSCBINPATH%\..\..\net40\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 %TTAGS_NUNIT_WHERE% --work="%FSCBINPATH%" --output="%OUTPUTFILE%" --err="%ERRORFILE%" --result="%XMLFILE%" -"%NUNIT3_CONSOLE%" /verbose "%FSCBINPATH%\..\..\net40\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 %TTAGS_NUNIT_WHERE% --work="%FSCBINPATH%" --output="%OUTPUTFILE%" --err="%ERRORFILE%" --result="%XMLFILE%" +echo "%NUNIT3_CONSOLE%" --verbose "%FSCBINPATH%\..\..\net40\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 %TTAGS_NUNIT_WHERE% --work:"%FSCBINPATH%" --output:"%OUTPUTFILE%;format=nunit2" --err:"%ERRORFILE%" --result:"%XMLFILE%" +"%NUNIT3_CONSOLE%" --verbose "%FSCBINPATH%\..\..\net40\bin\FSharp.Tests.FSharp.dll" --framework:V4.0 %TTAGS_NUNIT_WHERE% --work:"%FSCBINPATH%" --output:"%OUTPUTFILE%;format=nunit2" --err:"%ERRORFILE%" --result:"%XMLFILE%" call :UPLOAD_XML "%XMLFILE%" goto :EOF @@ -261,8 +261,8 @@ set XMLFILE=%RESULTSDIR%\CoreUnit_%coreunitsuffix%_Xml.xml set OUTPUTFILE=%RESULTSDIR%\CoreUnit_%coreunitsuffix%_Output.log set ERRORFILE=%RESULTSDIR%\CoreUnit_%coreunitsuffix%_Error.log -echo "%NUNIT3_CONSOLE%" /verbose /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\%coreunitsuffix%\bin\FSharp.Core.Unittests.dll" - "%NUNIT3_CONSOLE%" /verbose /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\%coreunitsuffix%\bin\FSharp.Core.Unittests.dll" +echo "%NUNIT3_CONSOLE%" --verbose --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\%coreunitsuffix%\bin\FSharp.Core.Unittests.dll" + "%NUNIT3_CONSOLE%" --verbose --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\%coreunitsuffix%\bin\FSharp.Core.Unittests.dll" call :UPLOAD_XML "%XMLFILE%" @@ -274,8 +274,8 @@ set XMLFILE=%RESULTSDIR%\CompilerUnit_%compilerunitsuffix%_Xml.xml set OUTPUTFILE=%RESULTSDIR%\CompilerUnit_%compilerunitsuffix%_Output.log set ERRORFILE=%RESULTSDIR%\CompilerUnit_%compilerunitsuffix%_Error.log -echo "%NUNIT3_CONSOLE%" /verbose /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\%compilerunitsuffix%\bin\FSharp.Compiler.Unittests.dll" - "%NUNIT3_CONSOLE%" /verbose /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\..\..\%compilerunitsuffix%\bin\FSharp.Compiler.Unittests.dll" +echo "%NUNIT3_CONSOLE%" --verbose --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\%compilerunitsuffix%\bin\FSharp.Compiler.Unittests.dll" + "%NUNIT3_CONSOLE%" --verbose --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\..\..\%compilerunitsuffix%\bin\FSharp.Compiler.Unittests.dll" call :UPLOAD_XML "%XMLFILE%" @@ -288,8 +288,8 @@ set OUTPUTFILE=%RESULTSDIR%\IDEUnit_Output.log set ERRORFILE=%RESULTSDIR%\IDEUnit_Error.log pushd %FSCBINPATH% -echo "%NUNIT3_CONSOLE%" /verbose --x86 /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\VisualFSharp.Unittests.dll" - "%NUNIT3_CONSOLE%" /verbose --x86 /framework:V4.0 /result="%XMLFILE%;format=nunit2" /output="%OUTPUTFILE%" /err="%ERRORFILE%" /work="%FSCBINPATH%" "%FSCBINPATH%\VisualFSharp.Unittests.dll" +echo "%NUNIT3_CONSOLE%" --verbose --x86 --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\VisualFSharp.Unittests.dll" + "%NUNIT3_CONSOLE%" --verbose --x86 --framework:V4.0 %TTAGS_NUNIT_WHERE% --result:"%XMLFILE%;format=nunit2" --output:"%OUTPUTFILE%" --err:"%ERRORFILE%" --work:"%FSCBINPATH%" "%FSCBINPATH%\VisualFSharp.Unittests.dll" popd call :UPLOAD_XML "%XMLFILE%"