Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSantiago Fernandez Madero <safern@microsoft.com>2017-01-05 02:22:22 +0300
committerGitHub <noreply@github.com>2017-01-05 02:22:22 +0300
commit05ae65fd6b51f865750e8d400c60511fcdbbbfb5 (patch)
treebac9a375052707a2b8322a2799d6278322458cdd /src
parent4d7a01b0374408ed800ce899aaa65bdc3fc86142 (diff)
Update LocalAppContext DisableCaching and XmlSchemaSet Tests to fix failure (#14778)
* Update LocalAppContext DisableCaching and XmlSchemaSet Tests
Diffstat (limited to 'src')
-rw-r--r--src/Common/src/System/LocalAppContext.cs36
-rw-r--r--src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet.cs5
-rw-r--r--src/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_XmlResolver.cs5
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()
{