@@ -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