Skip to content

Commit 2010dd7

Browse files
committed
LinkerTests.PreserveCustomHttpClientHandlers works
1 parent 8817561 commit 2010dd7

File tree

1 file changed

+14
-7
lines changed
  • src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks

1 file changed

+14
-7
lines changed

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

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,17 @@ private void PreserveCustomHttpClientHandler (
167167
string handlerAssembly,
168168
string testProjectName,
169169
string assemblyPath,
170-
TrimMode trimMode)
170+
TrimMode trimMode,
171+
AndroidRuntime runtime)
171172
{
173+
const bool isRelease = true;
174+
if (IgnoreUnsupportedConfiguration (runtime, release: isRelease)) {
175+
return;
176+
}
172177
testProjectName += trimMode.ToString ();
173178

174179
var class_library = new XamarinAndroidLibraryProject {
175-
IsRelease = true,
180+
IsRelease = isRelease,
176181
ProjectName = "MyClassLibrary",
177182
Sources = {
178183
new BuildItem.Source ("MyCustomHandler.cs") {
@@ -189,20 +194,22 @@ class MyCustomHandler : System.Net.Http.HttpMessageHandler
189194
}
190195
}
191196
};
197+
class_library.SetRuntime (runtime);
192198
using (var libBuilder = CreateDllBuilder ($"{testProjectName}/{class_library.ProjectName}")) {
193199
Assert.IsTrue (libBuilder.Build (class_library), $"Build for {class_library.ProjectName} should have succeeded.");
194200
}
195201

196202
var proj = new XamarinAndroidApplicationProject {
197203
ProjectName = "MyApp",
198-
IsRelease = true,
204+
IsRelease = isRelease,
199205
TrimModeRelease = trimMode,
200206
Sources = {
201207
new BuildItem.Source ("Foo.cs") {
202208
TextContent = () => "public class Foo : Bar { }",
203209
}
204210
}
205211
};
212+
proj.SetRuntime (runtime);
206213
proj.AddReference (class_library);
207214
proj.AddReferences ("System.Net.Http");
208215
string handlerTypeFullName = string.IsNullOrEmpty(handlerAssembly) ? handlerType : handlerType + ", " + handlerAssembly;
@@ -218,14 +225,14 @@ class MyCustomHandler : System.Net.Http.HttpMessageHandler
218225
}
219226

220227
[Test]
221-
public void PreserveCustomHttpClientHandlers ([Values (TrimMode.Partial, TrimMode.Full)] TrimMode trimMode)
228+
public void PreserveCustomHttpClientHandlers ([Values (TrimMode.Partial, TrimMode.Full)] TrimMode trimMode, [Values] AndroidRuntime runtime)
222229
{
223230
PreserveCustomHttpClientHandler ("Xamarin.Android.Net.AndroidMessageHandler", "",
224-
"temp/PreserveAndroidMessageHandler", "android-arm64/linked/Mono.Android.dll", trimMode);
231+
$"temp/PreserveAndroidMessageHandler{trimMode}{runtime}", "android-arm64/linked/Mono.Android.dll", trimMode, runtime);
225232
PreserveCustomHttpClientHandler ("System.Net.Http.SocketsHttpHandler", "System.Net.Http",
226-
"temp/PreserveSocketsHttpHandler", "android-arm64/linked/System.Net.Http.dll", trimMode);
233+
$"temp/PreserveSocketsHttpHandler{trimMode}{runtime}", "android-arm64/linked/System.Net.Http.dll", trimMode, runtime);
227234
PreserveCustomHttpClientHandler ("MyCustomHandler", "MyClassLibrary",
228-
"temp/MyCustomHandler", "android-arm64/linked/MyClassLibrary.dll", trimMode);
235+
$"temp/MyCustomHandler{trimMode}{runtime}", "android-arm64/linked/MyClassLibrary.dll", trimMode, runtime);
229236
}
230237

231238
[Test]

0 commit comments

Comments
 (0)