diff options
author | Santiago Fernandez Madero <safern@microsoft.com> | 2017-01-05 02:22:22 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-05 02:22:22 +0300 |
commit | 05ae65fd6b51f865750e8d400c60511fcdbbbfb5 (patch) | |
tree | bac9a375052707a2b8322a2799d6278322458cdd /src | |
parent | 4d7a01b0374408ed800ce899aaa65bdc3fc86142 (diff) |
Update LocalAppContext DisableCaching and XmlSchemaSet Tests to fix failure (#14778)
* Update LocalAppContext DisableCaching and XmlSchemaSet Tests
Diffstat (limited to 'src')
3 files changed, 32 insertions, 14 deletions
diff --git a/src/Common/src/System/LocalAppContext.cs b/src/Common/src/System/LocalAppContext.cs index e12a4c456b..95a8666d2b 100644 --- a/src/Common/src/System/LocalAppContext.cs +++ b/src/Common/src/System/LocalAppContext.cs @@ -8,14 +8,9 @@ namespace System { internal partial class LocalAppContext { - static LocalAppContext() - { - bool isEnabled; - if (AppContext.TryGetSwitch(@"TestSwitch.LocalAppContext.DisableCaching", out isEnabled)) - { - DisableCaching = isEnabled; - } - } + private static bool s_isDisableCachingInitialized; + private static bool s_disableCaching; + private static readonly object s_syncObject = new object(); [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static bool GetCachedSwitchValue(string switchName, ref int switchValue) @@ -40,6 +35,29 @@ namespace System return isSwitchEnabled; } - private static bool DisableCaching { get; set; } + private static bool DisableCaching + { + get + { + if (!s_isDisableCachingInitialized) + { + lock (s_syncObject) + { + if (!s_isDisableCachingInitialized) + { + bool isEnabled; + if (AppContext.TryGetSwitch(@"TestSwitch.LocalAppContext.DisableCaching", out isEnabled)) + { + s_disableCaching = isEnabled; + } + + s_isDisableCachingInitialized = true; + } + } + } + + return s_disableCaching; + } + } } } diff --git a/src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet.cs b/src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet.cs index 8e2b148718..535722bb6e 100644 --- a/src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet.cs +++ b/src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet.cs @@ -8,6 +8,11 @@ namespace System.Xml.Tests { public class TestData { + static TestData() + { + AppContext.SetSwitch("TestSwitch.LocalAppContext.DisableCaching", true); + } + internal static string _Root = Path.Combine("TestFiles", "TestData"); internal static string StandardPath = Path.Combine("TestFiles", "StandardTests"); internal static string _FileXSD1 = Path.Combine(_Root, "schema1.xsd"); diff --git a/src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_XmlResolver.cs b/src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_XmlResolver.cs index f1a9bcb7e6..3e55d13d32 100644 --- a/src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_XmlResolver.cs +++ b/src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_XmlResolver.cs @@ -16,9 +16,6 @@ namespace System.Xml.Tests public TC_SchemaSet_XmlResolver(ITestOutputHelper output) { - // Make sure that we don't cache the value of the switch to enable testing - AppContext.SetSwitch("TestSwitch.LocalAppContext.DisableCaching", true); - _output = output; } @@ -97,7 +94,6 @@ namespace System.Xml.Tests } //[Variation(Desc = "v4 - schema(Local)->schema(Local)", Priority = 1)] - [ActiveIssue(14064)] [Fact] public void v4() { @@ -113,7 +109,6 @@ namespace System.Xml.Tests } //[Variation(Desc = "v5 - schema(Local)->schema(Local)->schema(Local)", Priority = 1)] - [ActiveIssue(14064)] [Fact] public void v5() { |