Skip to content

Commit 91cebc1

Browse files
jonathanpeppersjonpryor
authored andcommitted
[tests] fix CheckTargetFrameworkVersion tests (#1949)
Context: #1916 These tests were never quite right, since they were just looking for instances of `TargetFrameworkVersion` in the build log. This would match for inputs and outputs, and wasn't actually testing anything because it appeared to always pass. In #1916 I improved them by looking for `Output Property: TargetFrameworkVersion=v2.3`, but they were not passing. Two issues to fix: - These tests should set `AndroidUseLatestPlatformSdk=False` - These tests shouldn't use `StringAssertEx.Contains` because it calls `Assert.Pass`, skipping any future assertions... When testing on Windows, these tests get skipped, so I had to fix things on Mac. The PR builder also skips them, so we did not see the issue until it was merged into master.
1 parent d73442e commit 91cebc1

File tree

1 file changed

+6
-4
lines changed
  • src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests

1 file changed

+6
-4
lines changed

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1722,14 +1722,15 @@ public void CheckTargetFrameworkVersion ([Values (true, false)] bool isRelease)
17221722
var proj = new XamarinAndroidApplicationProject () {
17231723
IsRelease = isRelease,
17241724
};
1725+
proj.SetProperty ("AndroidUseLatestPlatformSdk", "False");
17251726
proj.SetProperty ("TargetFrameworkVersion", "v2.3");
17261727
using (var builder = CreateApkBuilder (Path.Combine ("temp", TestContext.CurrentContext.Test.Name))) {
17271728
if (!Directory.Exists (Path.Combine (builder.FrameworkLibDirectory, "xbuild-frameworks", "MonoAndroid", "v2.3")))
17281729
Assert.Ignore ("This is a Pull Request Build. Ignoring test.");
17291730
Assert.IsTrue (builder.Build (proj), "Build should have succeeded.");
1730-
StringAssertEx.Contains ($"Output Property: TargetFrameworkVersion=v2.3", builder.LastBuildOutput, "TargetFrameworkVerson should be v2.3");
1731+
Assert.IsTrue (StringAssertEx.ContainsText (builder.LastBuildOutput, $"Output Property: TargetFrameworkVersion=v2.3"), "TargetFrameworkVerson should be v2.3");
17311732
Assert.IsTrue (builder.Build (proj, parameters: new [] { "TargetFrameworkVersion=v4.4" }), "Build should have succeeded.");
1732-
StringAssertEx.Contains ($"Output Property: TargetFrameworkVersion=v4.4", builder.LastBuildOutput, "TargetFrameworkVerson should be v4.4");
1733+
Assert.IsTrue (StringAssertEx.ContainsText (builder.LastBuildOutput, $"Output Property: TargetFrameworkVersion=v4.4"), "TargetFrameworkVerson should be v4.4");
17331734

17341735
}
17351736
}
@@ -2161,14 +2162,15 @@ public void CheckTargetFrameworkVersion ()
21612162
var proj = new XamarinAndroidApplicationProject () {
21622163
IsRelease = true,
21632164
};
2165+
proj.SetProperty ("AndroidUseLatestPlatformSdk", "False");
21642166
proj.SetProperty ("TargetFrameworkVersion", "v2.3");
21652167
using (var builder = CreateApkBuilder (Path.Combine ("temp", TestContext.CurrentContext.Test.Name))) {
21662168
if (!Directory.Exists (Path.Combine (builder.FrameworkLibDirectory, "xbuild-frameworks", "MonoAndroid", "v2.3")))
21672169
Assert.Ignore ("This is a Pull Request Build. Ignoring test.");
21682170
Assert.IsTrue (builder.Build (proj), "Build should have succeeded.");
2169-
StringAssertEx.Contains ($"Output Property: TargetFrameworkVersion=v2.3", builder.LastBuildOutput, "TargetFrameworkVerson should be v2.3");
2171+
Assert.IsTrue (StringAssertEx.ContainsText (builder.LastBuildOutput, $"Output Property: TargetFrameworkVersion=v2.3"), "TargetFrameworkVerson should be v2.3");
21702172
Assert.IsTrue (builder.Build (proj, parameters: new [] { "TargetFrameworkVersion=v4.4" }), "Build should have succeeded.");
2171-
StringAssertEx.Contains ($"Output Property: TargetFrameworkVersion=v4.4", builder.LastBuildOutput, "TargetFrameworkVerson should be v4.4");
2173+
Assert.IsTrue (StringAssertEx.ContainsText (builder.LastBuildOutput, $"Output Property: TargetFrameworkVersion=v4.4"), "TargetFrameworkVerson should be v4.4");
21722174
}
21732175
}
21742176

0 commit comments

Comments
 (0)