Skip to content

Commit a9183e5

Browse files
jonathanpeppersjonpryor
authored andcommitted
[tests] fix AndroidUpdateResourcesTest.Issue2205 on Windows (#2281)
Context: http://build.devdiv.io/2098745 The `AndroidUpdateResourcesTest.Issue2205()` test is failing on Windows with: Error message System.ArgumentException : Illegal characters in path. Stack trace at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.Combine(String path1, String path2) at Xamarin.ProjectTools.XamarinProject.UpdateProjectFiles(String directory, IEnumerable`1 projectFiles, Boolean doNotCleanup) at Xamarin.ProjectTools.XamarinProject.Populate(String directory, IEnumerable`1 projectFiles) at Xamarin.ProjectTools.ProjectBuilder.Save(XamarinProject project, Boolean doNotCleanupOnUpdate, Boolean saveProject) at Xamarin.ProjectTools.ProjectBuilder.Build(XamarinProject project, Boolean doNotCleanupOnUpdate, String[] parameters, Boolean saveProject, Dictionary`2 environmentVariables) at Xamarin.Android.Build.Tests.AndroidUpdateResourcesTest.Issue2205(Boolean useAapt2) Looking at the test, the `@(GoogleServicesJson)` build item was declaring JSON string contents as a filename. Whoops! I guess that macOS was OK with a JSON filename, as the JSON contents didn't contain a `/`, while Windows was certainly not, as the JSON string contained `:`. I changed the `BuildItem` to use the `TextContent` property, and used a filename of `googleservices.json`. I also let VS format the method, so it matches our code formatting standards.
1 parent 608d950 commit a9183e5

File tree

1 file changed

+28
-27
lines changed

1 file changed

+28
-27
lines changed

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1412,30 +1412,31 @@ public void CustomViewAddResourceId ([Values (false, true)] bool useAapt2)
14121412

14131413
// https://github.com/xamarin/xamarin-android/issues/2205
14141414
[Test]
1415-
public void Issue2205 ([Values(false, true)] bool useAapt2)
1415+
public void Issue2205 ([Values (false, true)] bool useAapt2)
14161416
{
1417-
var proj = new XamarinAndroidApplicationProject();
1418-
proj.SetProperty("AndroidUseAapt2", useAapt2.ToString());
1419-
proj.Packages.Add(KnownPackages.Android_Arch_Core_Common_26_1_0);
1420-
proj.Packages.Add(KnownPackages.Android_Arch_Lifecycle_Common_26_1_0);
1421-
proj.Packages.Add(KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0);
1422-
proj.Packages.Add(KnownPackages.AndroidSupportV4_27_0_2_1);
1423-
proj.Packages.Add(KnownPackages.SupportCompat_27_0_2_1);
1424-
proj.Packages.Add(KnownPackages.SupportCoreUI_27_0_2_1);
1425-
proj.Packages.Add(KnownPackages.SupportCoreUtils_27_0_2_1);
1426-
proj.Packages.Add(KnownPackages.SupportDesign_27_0_2_1);
1427-
proj.Packages.Add(KnownPackages.SupportFragment_27_0_2_1);
1428-
proj.Packages.Add(KnownPackages.SupportMediaCompat_27_0_2_1);
1429-
proj.Packages.Add(KnownPackages.SupportV7AppCompat_27_0_2_1);
1430-
proj.Packages.Add(KnownPackages.SupportV7CardView_27_0_2_1);
1431-
proj.Packages.Add(KnownPackages.SupportV7MediaRouter_27_0_2_1);
1432-
proj.Packages.Add(KnownPackages.SupportV7RecyclerView_27_0_2_1);
1433-
proj.Packages.Add(KnownPackages.Xamarin_GooglePlayServices_Gcm);
1434-
proj.Packages.Add(KnownPackages.Xamarin_GooglePlayServices_Tasks);
1435-
proj.Packages.Add(KnownPackages.Xamarin_GooglePlayServices_Iid);
1436-
proj.Packages.Add(KnownPackages.Xamarin_GooglePlayServices_Basement);
1437-
proj.Packages.Add(KnownPackages.Xamarin_GooglePlayServices_Base);
1438-
proj.OtherBuildItems.Add(new BuildItem("GoogleServicesJson", () => @"{
1417+
var proj = new XamarinAndroidApplicationProject ();
1418+
proj.SetProperty ("AndroidUseAapt2", useAapt2.ToString ());
1419+
proj.Packages.Add (KnownPackages.Android_Arch_Core_Common_26_1_0);
1420+
proj.Packages.Add (KnownPackages.Android_Arch_Lifecycle_Common_26_1_0);
1421+
proj.Packages.Add (KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0);
1422+
proj.Packages.Add (KnownPackages.AndroidSupportV4_27_0_2_1);
1423+
proj.Packages.Add (KnownPackages.SupportCompat_27_0_2_1);
1424+
proj.Packages.Add (KnownPackages.SupportCoreUI_27_0_2_1);
1425+
proj.Packages.Add (KnownPackages.SupportCoreUtils_27_0_2_1);
1426+
proj.Packages.Add (KnownPackages.SupportDesign_27_0_2_1);
1427+
proj.Packages.Add (KnownPackages.SupportFragment_27_0_2_1);
1428+
proj.Packages.Add (KnownPackages.SupportMediaCompat_27_0_2_1);
1429+
proj.Packages.Add (KnownPackages.SupportV7AppCompat_27_0_2_1);
1430+
proj.Packages.Add (KnownPackages.SupportV7CardView_27_0_2_1);
1431+
proj.Packages.Add (KnownPackages.SupportV7MediaRouter_27_0_2_1);
1432+
proj.Packages.Add (KnownPackages.SupportV7RecyclerView_27_0_2_1);
1433+
proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Gcm);
1434+
proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Tasks);
1435+
proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Iid);
1436+
proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Basement);
1437+
proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Base);
1438+
proj.OtherBuildItems.Add (new BuildItem ("GoogleServicesJson", "googleservices.json") {
1439+
TextContent = () => @"{
14391440
""project_info"": {
14401441
""project_number"": ""12351255213413432"",
14411442
""project_id"": ""12341234-app"",
@@ -1474,10 +1475,10 @@ public void Issue2205 ([Values(false, true)] bool useAapt2)
14741475
}
14751476
],
14761477
""configuration_version"": ""1""
1477-
}"));
1478-
using (var b = CreateApkBuilder(Path.Combine("temp", TestName)))
1479-
{
1480-
Assert.IsTrue(b.Build(proj), "first build should have succeeded");
1478+
}"
1479+
});
1480+
using (var b = CreateApkBuilder (Path.Combine ("temp", TestName))) {
1481+
Assert.IsTrue (b.Build (proj), "first build should have succeeded");
14811482
}
14821483
}
14831484
}

0 commit comments

Comments
 (0)