Imported Upstream version 5.16.0.100

Former-commit-id: 38faa55fb9669e35e7d8448b15c25dc447f25767
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-08-07 15:19:03 +00:00
parent 0a9828183b
commit 7d7f676260
4419 changed files with 170950 additions and 90273 deletions

View File

@@ -3,8 +3,6 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<ProjectGuid>{FD6AA2B9-56DB-4BCC-85E0-7727506562B0}</ProjectGuid>
<!-- UAPvNext is not yet mapped to netstandard2.0, manually duplicate this ref -->
<PackageTargetFramework Condition="'$(TargetGroup)' == 'netstandard'">netstandard2.0;$(UAPvNextTFM)</PackageTargetFramework>
<IsPartialFacadeAssembly Condition="'$(TargetGroup)' == 'netfx'">true</IsPartialFacadeAssembly>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netfx-Debug|AnyCPU'" />
@@ -12,9 +10,11 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Release|AnyCPU'" />
<ItemGroup>
<SuppressPackageTargetFrameworkCompatibility Include="$(UAPvNextTFM)" />
<Compile Include="System.Configuration.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\System.Security.Permissions\ref\System.Security.Permissions.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(IsPartialFacadeAssembly)' == 'true'">
<Reference Include="mscorlib" />
<Reference Include="System" />

View File

@@ -1 +1 @@
5124846c60d750bcb536bb4802a339dee73b9d28
df2016a813e7a5c424756d7375cc553c89d2b8cf

View File

@@ -1,3 +0,0 @@
Compat issues with assembly System.Configuration.ConfigurationManager:
InterfacesShouldHaveSameMembers : Implementation interface member 'System.Configuration.Internal.IInternalConfigHost.GetRestrictedPermissions(System.Configuration.Internal.IInternalConfigRecord, System.Security.PermissionSet, System.Boolean)' is not in the contract.
Total Issues: 1

View File

@@ -0,0 +1,5 @@
Compat issues with assembly System.Configuration.ConfigurationManager:
# Cannot remove the serialization constructors because they are needed for serialization
MembersMustExist : Member 'System.Configuration.SettingsAttributeDictionary..ctor(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)' does not exist in the implementation but it does exist in the contract.
MembersMustExist : Member 'System.Configuration.SettingsContext..ctor(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)' does not exist in the implementation but it does exist in the contract.
Total Issues: 2

View File

@@ -5,6 +5,8 @@
<!--Both types are instantiated using CreateInstance from TypeUtil.CreateInstance -->
<Type Name="System.Configuration.ClientConfigurationHost" Dynamic="Required All" />
<Type Name="System.Configuration.ProtectedConfigurationSection" Dynamic="Required All" />
<Type Name="System.Configuration.Internal.InternalConfigHost" Dynamic="Required All" />
<Type Name="System.Configuration.Internal.InternalConfigConfigurationFactory" Dynamic="Required All" />
</Assembly>
</Library>
</Directives>

View File

@@ -258,6 +258,7 @@
</ItemGroup>
<ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
<Reference Include="System.Security.Cryptography.ProtectedData" />
<Reference Include="System.Security.Permissions" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\$(AssemblyName).rd.xml" />

View File

@@ -8,7 +8,7 @@ namespace System.Configuration
{
public sealed class ConfigurationSettings
{
public ConfigurationSettings() { }
internal ConfigurationSettings() { }
[Obsolete("This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings")]
public static NameValueCollection AppSettings

View File

@@ -5,7 +5,7 @@
namespace System.Configuration
{
[ConfigurationCollection(typeof(DateTimeConfigurationElement))]
public sealed class DateTimeConfigurationCollection : ConfigurationElementCollection
internal sealed class DateTimeConfigurationCollection : ConfigurationElementCollection
{
private static readonly ConfigurationPropertyCollection s_properties;

View File

@@ -23,14 +23,14 @@ namespace System.Configuration
out string locationConfigPath, IInternalConfigRoot configRoot, params object[] hostInitConfigurationParams)
{
// Stash the filemap so we can see if the machine config was explicitly specified
_fileMap = (ConfigurationFileMap)hostInitConfigurationParams[0];
_fileMap = hostInitConfigurationParams[0] as ConfigurationFileMap;
base.InitForConfiguration(ref locationSubPath, out configPath, out locationConfigPath, configRoot, hostInitConfigurationParams);
}
public override void Init(IInternalConfigRoot configRoot, params object[] hostInitParams)
{
// Stash the filemap so we can see if the machine config was explicitly specified
_fileMap = (ConfigurationFileMap)hostInitParams[0];
_fileMap = hostInitParams[0] as ConfigurationFileMap;
base.Init(configRoot, hostInitParams);
}

View File

@@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information.
using System.IO;
using System.Security;
namespace System.Configuration.Internal
{
@@ -230,5 +231,11 @@ namespace System.Configuration.Internal
public virtual bool IsFullTrustSectionWithoutAptcaAllowed(IInternalConfigRecord configRecord) => true;
public virtual IDisposable Impersonate() => new DummyDisposable();
public virtual void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady)
{
permissionSet = new PermissionSet(null);
isHostReady = true;
}
}
}
}

View File

@@ -4,6 +4,7 @@
using System.IO;
using System.Runtime.InteropServices;
using System.Security;
namespace System.Configuration.Internal
{
@@ -102,5 +103,7 @@ namespace System.Configuration.Internal
bool IsFullTrustSectionWithoutAptcaAllowed(IInternalConfigRecord configRecord);
IDisposable Impersonate();
void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady);
}
}
}

View File

@@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
namespace System.Configuration.Internal
{
public interface IInternalConfigHostPaths
internal interface IInternalConfigHostPaths
{
void RefreshConfigPaths();
bool HasLocalConfig { get; }

View File

@@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information.
using System.IO;
using System.Security;
namespace System.Configuration.Internal
{
@@ -303,5 +304,11 @@ namespace System.Configuration.Internal
public bool IsFullTrustSectionWithoutAptcaAllowed(IInternalConfigRecord configRecord) => true;
public IDisposable Impersonate() => new DummyDisposable();
public void GetRestrictedPermissions(IInternalConfigRecord configRecord, out PermissionSet permissionSet, out bool isHostReady)
{
permissionSet = new PermissionSet(null);
isHostReady = true;
}
}
}
}

View File

@@ -5,6 +5,15 @@
using System.IO;
using System.Threading;
// The CODEDOM check is here to support frameworks that may not have fully
// incorporated all of corefx, but want to use System.Configuration.ConfigurationManager.
// TempFileCollection was moved in corefx.
#if CODEDOM
using System.CodeDom.Compiler;
#else
using System.IO.Internal;
#endif
namespace System.Configuration.Internal
{
internal class WriteFileContext
@@ -13,14 +22,14 @@ namespace System.Configuration.Internal
private const int SavingRetryInterval = 100; // 100 milliseconds
private readonly string _templateFilename;
private IO.Internal.TempFileCollection _tempFiles;
private TempFileCollection _tempFiles;
internal WriteFileContext(string filename, string templateFilename)
{
string directoryname = UrlPath.GetDirectoryOrRootName(filename);
_templateFilename = templateFilename;
_tempFiles = new IO.Internal.TempFileCollection(directoryname);
_tempFiles = new TempFileCollection(directoryname);
try
{
TempNewFilename = _tempFiles.AddExtension("newcfg");

View File

@@ -584,7 +584,7 @@ namespace System.Configuration
// fail silently so that app code can easily loop through sections
// and declare all of them?
if (force && BaseConfigurationRecord.IsImplicitSection(SectionName))
throw new ConfigurationErrorsException(SR.Cannot_declare_or_remove_implicit_section);
throw new ConfigurationErrorsException(SR.Format(SR.Cannot_declare_or_remove_implicit_section, SectionName));
if (force && _flags[FlagIsUndeclared])
{
@@ -681,4 +681,4 @@ namespace System.Configuration
_configRecord.RevertToParent(_configurationSection);
}
}
}
}

View File

@@ -53,7 +53,7 @@ namespace System.Configuration
public override int GetHashCode()
{
return ValueXml.GetHashCode();
return ValueXml?.GetHashCode() ?? 0;
}
protected internal override bool IsModified()

View File

@@ -33,16 +33,6 @@ namespace System.Configuration
"mscorlib",
"System",
// TODO: ISSUE #14528
// System facade isn't currently part of the framework
// package. Once it is added the following locations can
// be removed. There are tests for types from each of
// these locations.
"System.Runtime",
"System.Collections",
"System.Collections.Concurrent",
"System.Collections.Specialized",
};
/// <summary>
@@ -187,4 +177,4 @@ namespace System.Configuration
return null;
}
}
}
}

View File

@@ -31,6 +31,7 @@ using System;
using System.Configuration;
using System.Configuration.Internal;
using System.IO;
using System.Text.RegularExpressions;
using System.Xml;
using Xunit;
@@ -44,7 +45,12 @@ namespace MonoTests.System.Configuration
{
ConfigurationErrorsException cee = new ConfigurationErrorsException();
Assert.NotNull(cee.BareMessage);
Assert.True(cee.BareMessage.IndexOf("'" + typeof(ConfigurationErrorsException).FullName + "'") != -1, "#2:" + cee.BareMessage);
// \p{Pi} any kind of opening quote https://www.compart.com/en/unicode/category/Pi
// \p{Pf} any kind of closing quote https://www.compart.com/en/unicode/category/Pf
// \p{Po} any kind of punctuation character that is not a dash, bracket, quote or connector https://www.compart.com/en/unicode/category/Po
Assert.True(Regex.IsMatch(cee.BareMessage, @"[\p{Pi}\p{Po}]" + Regex.Escape(typeof(ConfigurationErrorsException).FullName) + @"[\p{Pf}\p{Po}]"), "#2:" + cee.BareMessage);
Assert.NotNull(cee.Data);
Assert.Equal(0, cee.Data.Count);
Assert.Null(cee.Filename);

View File

@@ -46,7 +46,6 @@ namespace MonoTests.System.Configuration
}
[Fact]
[ActiveIssue(21000, TargetFrameworkMonikers.UapAot)]
public void EditAfterAdd()
{
Config cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

View File

@@ -90,9 +90,11 @@
<Compile Include="System\Configuration\LocalFileSettingsProviderTests.cs" />
<Compile Include="System\Configuration\NameValueConfigurationCollectionTests.cs" />
<Compile Include="System\Configuration\SectionGroupsTests.cs" />
<Compile Include="System\Configuration\SettingElementTests.cs" />
<Compile Include="System\Configuration\SmokeTest.cs" />
<Compile Include="System\Configuration\StringUtilTests.cs" />
<Compile Include="System\Configuration\TempConfig.cs" />
<Compile Include="System\Configuration\TempConfigurationHost.cs" />
<Compile Include="System\Configuration\TestData.cs" />
<Compile Include="System\Configuration\StringValidatorTests.cs" />
<Compile Include="System\Configuration\SubclassTypeValidatorAttributeTests.cs" />
@@ -104,5 +106,11 @@
<Compile Include="System\Configuration\ValidatiorUtilsTests.cs" />
<Compile Include="System\Drawing\Configuration\SystemDrawingSectionTests.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="$(CommonTestPath)\System\Diagnostics\RemoteExecutorConsoleApp\RemoteExecutorConsoleApp.csproj">
<Project>{69e46a6f-9966-45a5-8945-2559fe337827}</Project>
<Name>RemoteExecutorConsoleApp</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>

Some files were not shown because too many files have changed in this diff Show More