* [macos] Mmp should quote paths when passing arguments to clang. Fixes #56850 * Use the merged Quote from stringutils * Fix driver also * Fix tests
This commit is contained in:
Родитель
9accdb3888
Коммит
43f5679323
|
@ -7,6 +7,7 @@ using System.Text;
|
|||
using System.Text.RegularExpressions;
|
||||
using NUnit.Framework;
|
||||
using System.Reflection;
|
||||
using Xamarin.Utils;
|
||||
|
||||
namespace Xamarin.MMP.Tests
|
||||
{
|
||||
|
@ -132,7 +133,7 @@ namespace Xamarin.MMP.Tests
|
|||
} else
|
||||
buildArgs.Append (" build ");
|
||||
|
||||
buildArgs.Append (csprojTarget);
|
||||
buildArgs.Append (StringUtils.Quote (csprojTarget));
|
||||
|
||||
Func <string> getBuildProjectErrorInfo = () => {
|
||||
string csprojText = "\n\n\n\tCSProj: \n" + File.ReadAllText (csprojTarget);
|
||||
|
|
|
@ -76,6 +76,9 @@
|
|||
<Compile Include="..\mtouch\Cache.cs">
|
||||
<Link>Cache.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\..\tools\common\StringUtils.cs">
|
||||
<Link>StringUtils.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Info.plist" />
|
||||
|
|
|
@ -12,9 +12,9 @@ namespace Xamarin.MMP.Tests
|
|||
[TestFixture]
|
||||
public partial class MMPTests
|
||||
{
|
||||
public static void RunMMPTest (Action <string> test)
|
||||
public static void RunMMPTest (Action <string> test, string directoryName = null)
|
||||
{
|
||||
test (Cache.CreateTemporaryDirectory ());
|
||||
test (Cache.CreateTemporaryDirectory (directoryName));
|
||||
}
|
||||
|
||||
// TODO - We have multiple tests using this. It doesn't take that long, but is it worth caching?
|
||||
|
@ -92,6 +92,31 @@ namespace Xamarin.MMP.Tests
|
|||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Unified_Static_Registrar_With_SpaceTest ()
|
||||
{
|
||||
if (!PlatformHelpers.CheckSystemVersion (10, 11))
|
||||
return;
|
||||
|
||||
RunMMPTest (tmpDir => {
|
||||
// First in 64-bit
|
||||
TI.UnifiedTestConfig test = new TI.UnifiedTestConfig (tmpDir) { CSProjConfig = "<MonoBundlingExtraArgs>--registrar=static</MonoBundlingExtraArgs><XamMacArch>x86_64</XamMacArch>" };
|
||||
// Mobile
|
||||
TI.TestUnifiedExecutable (test);
|
||||
// XM45
|
||||
test.XM45 = true;
|
||||
TI.TestUnifiedExecutable (test);
|
||||
|
||||
// Now 32-bit
|
||||
test.CSProjConfig = "<MonoBundlingExtraArgs>--registrar=static</MonoBundlingExtraArgs><XamMacArch>i386</XamMacArch>";
|
||||
// Mobile
|
||||
TI.TestUnifiedExecutable (test);
|
||||
// XM45
|
||||
test.XM45 = true;
|
||||
TI.TestUnifiedExecutable (test);
|
||||
}, "test withSpace");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void XM_45_NotAddingIncorrectDependencies_LicenseTest ()
|
||||
{
|
||||
|
|
|
@ -79,6 +79,9 @@
|
|||
</Compile>
|
||||
<Compile Include="src\RoslynSmokeTests.cs" />
|
||||
<Compile Include="src\RuntimeTests.cs" />
|
||||
<Compile Include="..\..\tools\common\StringUtils.cs">
|
||||
<Link>StringUtils.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\external\guiunit\src\framework\GuiUnit_NET_4_5.csproj">
|
||||
|
|
|
@ -1051,6 +1051,9 @@
|
|||
<Link>ProjectTestHelpers.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Unified45.cs" />
|
||||
<Compile Include="..\..\tools\common\StringUtils.cs">
|
||||
<Link>StringUtils.cs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Info.plist" />
|
||||
|
|
|
@ -1340,7 +1340,7 @@ namespace Xamarin.Bundler {
|
|||
args.Append ("-liconv -x objective-c++ ");
|
||||
args.Append ("-I").Append (StringUtils.Quote (Path.Combine (GetXamMacPrefix (), "include"))).Append (' ');
|
||||
if (registrarPath != null)
|
||||
args.Append (registrarPath).Append (' ');
|
||||
args.Append (StringUtils.Quote (registrarPath)).Append (' ');
|
||||
args.Append ("-fno-caret-diagnostics -fno-diagnostics-fixit-info ");
|
||||
if (link_flags != null)
|
||||
args.Append (link_flags + " ");
|
||||
|
|
Загрузка…
Ссылка в новой задаче