Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring up Android device aot on ci #50510

Closed
wants to merge 75 commits into from
Closed
Show file tree
Hide file tree
Changes from 56 commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
33a7a32
Bring up Android device aot on ci
Mar 31, 2021
0d8ff94
Merge remote-tracking branch 'upstream/main' into enable-droid-device…
Apr 1, 2021
01adef8
Bump the aot timeout to see how long it really takes
Apr 1, 2021
450fe1e
See if trimming helps w/ the build time
May 17, 2021
fa5d814
Merge remote-tracking branch 'upstream/main' into enable-droid-device…
May 17, 2021
4409b89
Raise the default number of trampolines
May 17, 2021
3a097ec
Mirroring wasm skips for aot and trimming
May 17, 2021
639fcf0
Skip more suites that fail aot
May 18, 2021
eed28b9
Merge remote-tracking branch 'upstream/main' into enable-droid-device…
May 18, 2021
490f7c5
More exclusions.
May 19, 2021
31f4555
More exclusions
May 19, 2021
8d9ad90
See if default trimming produces better results
May 19, 2021
eb11e93
Make sure to skip problematic tests
May 19, 2021
cb132d1
More skips
May 19, 2021
9f5991c
Trimming switch so the other builds don't fail
May 19, 2021
9baa874
Skip the tests failing due to 'Attempting to JIT compile method while…
MaximLipnin May 25, 2021
c2d528f
Merge branch 'main' into enable-droid-device-aot
MaximLipnin May 25, 2021
5887106
Remove redundant attribute
MaximLipnin May 25, 2021
6a7b42c
Merge branch 'main' into enable-droid-device-aot
MaximLipnin May 26, 2021
6bfe553
Skip more library tests due to "Attempting to JIT compile method ... …
MaximLipnin May 26, 2021
3669c17
Fix wrong attribute
MaximLipnin May 26, 2021
27e6fe0
Add System using
MaximLipnin May 26, 2021
ed1dc03
Merge branch 'main' into enable-droid-device-aot
MaximLipnin May 27, 2021
e680218
Skip more library tests due to "Attempting to JIT compile method ... …
MaximLipnin May 27, 2021
7635795
Avoid some test failures related to DebuggerSupport
MaximLipnin May 27, 2021
dad7cab
Skip a test failing with NRE
MaximLipnin May 27, 2021
b3ceed5
Move ConditionalClass up to the right level
May 27, 2021
db00361
More skipped tests
MaximLipnin May 28, 2021
de9fe15
Merge branch 'main' into enable-droid-device-aot
MaximLipnin May 28, 2021
3a96c05
Merge branch 'enable-droid-device-aot' of https://github.com/steveiso…
MaximLipnin May 28, 2021
4f498b7
More skipped library tests
MaximLipnin May 31, 2021
42e7658
Merge branch 'main' into enable-droid-device-aot
MaximLipnin May 31, 2021
ff94a36
Skip more tests
MaximLipnin Jun 1, 2021
64784c4
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 1, 2021
386d365
Skip more tests
MaximLipnin Jun 1, 2021
1ac9b88
Skip more tests
MaximLipnin Jun 2, 2021
14f9ab0
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 2, 2021
f692894
Skip more tests
MaximLipnin Jun 2, 2021
27452e9
Skip more tests
MaximLipnin Jun 3, 2021
d11612f
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 3, 2021
5620351
Remove an active issue attribute since nimt-trampolines parameter has…
MaximLipnin Jun 3, 2021
846d697
Skip more tests
MaximLipnin Jun 3, 2021
075052e
Skip yet another test suite perhaps due to infra issue
MaximLipnin Jun 3, 2021
88de22f
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 3, 2021
d14d51e
Add active issue links
MaximLipnin Jun 3, 2021
6a9a4cd
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 4, 2021
5870d41
Try re-enabling some test suites which previously had no CI results
MaximLipnin Jun 4, 2021
e6a9602
Add an active issue
MaximLipnin Jun 4, 2021
54e6bae
Add XUnit using to enable ActiveIssue attribute
MaximLipnin Jun 4, 2021
1713dc3
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 7, 2021
33d7684
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 8, 2021
d7eca0b
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 9, 2021
376bdb4
Add '$(RunDisabledAndroidTests)' != 'true'
MaximLipnin Jun 9, 2021
1a6e99f
Add an active issue to the disabled test suites
MaximLipnin Jun 9, 2021
e5b2dab
Try re-using EnableAggressiveTrimming
MaximLipnin Jun 9, 2021
c684fc3
Update tests.proj
MaximLipnin Jun 9, 2021
171d528
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 9, 2021
a7fbfeb
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 10, 2021
8697a56
Use tvOS in PlatformDetection.IsNotDeviceAOT
MaximLipnin Jun 10, 2021
4ecdf5b
Exclude Microsoft.Extensions.DependencyModel.Tests test suite
MaximLipnin Jun 10, 2021
874e9c7
Exclude Microsoft.NETCore.Platforms.BuildTasks.Tests.GenerateRuntimeG…
MaximLipnin Jun 10, 2021
db088de
Using
MaximLipnin Jun 10, 2021
72389de
Enable debugger support
MaximLipnin Jun 10, 2021
2933ae8
More debugger support
MaximLipnin Jun 11, 2021
c1ab593
Same issue as on browser
MaximLipnin Jun 11, 2021
cfb2051
Method is not supported
MaximLipnin Jun 11, 2021
d481664
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 11, 2021
0600168
Bump ngsharedvt-trampolines value up to 8800 ?
MaximLipnin Jun 11, 2021
3755d74
Merge remote-tracking branch 'upstream/main' into enable-droid-device…
Jun 22, 2021
10e2e48
Flip back llvm flag
Jun 22, 2021
41f8319
Merge remote-tracking branch 'upstream/main' into enable-droid-device…
Jun 22, 2021
e26477a
quick fix
Jun 22, 2021
6f33cb9
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 24, 2021
b52642d
Merge branch 'main' into enable-droid-device-aot
MaximLipnin Jun 29, 2021
2cefff0
Re-enable System.Linq.Expressions.Tests test suite to see any failures
MaximLipnin Jun 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions eng/pipelines/runtime-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,45 @@ jobs:
eq(variables['monoContainsChange'], true),
eq(variables['isFullMatrix'], true))

#
# Build the whole product using Mono and run libraries tests
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: Release
runtimeFlavor: mono
platforms:
- Android_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- name: monoContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_AOT_Mono
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunAOTCompilation=true /p:EnableAggressiveTrimming=true
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isFullMatrix'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isFullMatrix'], true))

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public void RootDisposesProviders()
Assert.True(provider5.IsDisposed);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void RootDisposesChangeTokenRegistrations()
{
var changeToken = new ChangeToken();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ public static partial class PlatformDetection
public static bool IsNetBSD => RuntimeInformation.IsOSPlatform(OSPlatform.Create("NETBSD"));
public static bool IsAndroid => RuntimeInformation.IsOSPlatform(OSPlatform.Create("ANDROID"));
public static bool IsiOS => RuntimeInformation.IsOSPlatform(OSPlatform.Create("IOS"));
public static bool IsAndroidAOT => IsAndroid && IsMonoAOT;
public static bool IsNotAndroidAOT => !IsAndroidAOT;
public static bool IsNotDeviceAOT => !((IsAndroid || IsiOS) && IsMonoAOT);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we expect this to include tvOS and MacCatalyst ? Is Device specifically Android and iOS (excluding tvOS MacCatalyst)?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure, no issue to include them here or it can be done in a follow-up @steveisok

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think naming-wise, IsNotDeviceAOT may suggest the platform is not AOT compiled iOS, Android, or tvOS, but in this PR, it's not AOT compiled iOS or Android. I'm curious if we intend to skip the same test methods if on AOT tvOS (if we plan to have AOT tvOS).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In order to be consistent with naming, I can add tvOS too.

public static bool IstvOS => RuntimeInformation.IsOSPlatform(OSPlatform.Create("TVOS"));
public static bool IsMacCatalyst => RuntimeInformation.IsOSPlatform(OSPlatform.Create("MACCATALYST"));
public static bool Isillumos => RuntimeInformation.IsOSPlatform(OSPlatform.Create("ILLUMOS"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

namespace Microsoft.Extensions.Configuration.FileExtensions.Test
{
[ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public class FileConfigurationProviderTest
{
[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ namespace Microsoft.Extensions.DependencyModel.Tests
{
public class CompilationLibraryTests
{
[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ResolveReferencePathsAcceptsCustomResolvers()
{
var fail = new Mock<ICompilationAssemblyResolver>();
Expand Down Expand Up @@ -48,7 +48,7 @@ public void ResolveReferencePathsAcceptsCustomResolvers()
Times.Never());
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ResolveReferencePathsAcceptsNullCustomResolvers()
{
var library = TestLibraryFactory.Create();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

namespace Microsoft.Extensions.DependencyModel.Tests
{
[ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public class CompositeResolverTests
{
[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ public void TakesServicableFromPackageDescription()
lib.Serviceable.Should().BeTrue();
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void FillsRuntimeLibraryProperties()
{
var context = Build(runtimeExports: new[]
Expand Down Expand Up @@ -200,7 +200,7 @@ public void FillsRuntimeLibraryProperties()
asm.HashPath.Should().BeNull();
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void FiltersDuplicatedDependencies()
{
var context = Build(runtimeExports: new[]
Expand Down Expand Up @@ -229,7 +229,7 @@ public void FiltersDuplicatedDependencies()
lib.Dependencies.Should().OnlyContain(l => l.Name == "System.Collections" && l.Version == "2.0.0");
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void FillsCompileLibraryProperties()
{
var context = Build(compilationExports: new[]
Expand Down Expand Up @@ -285,7 +285,7 @@ public void FillsCompileLibraryProperties()
asm.HashPath.Should().BeNull();
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void FillsResources()
{
var context = Build(runtimeExports: new[]
Expand All @@ -303,7 +303,7 @@ public void FillsResources()
lib.ResourceAssemblies.Should().OnlyContain(l => l.Locale == "en-US" && l.Path == "resources/en-US/Pack.Age.dll");
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ReferenceAssembliesPathRelativeToDefaultRoot()
{
var context = Build(compilationExports: new[]
Expand All @@ -320,7 +320,7 @@ public void ReferenceAssembliesPathRelativeToDefaultRoot()
asm.Assemblies.Should().OnlyContain(a => a == Path.Combine("sub", "System.Collections.dll"));
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void SkipsBuildDependencies()
{
var context = Build(compilationExports: new[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ public void IgnoresExtraTopLevelNodes()
context.Target.Framework.Should().Be(".NETCoreApp,Version=v1.0");
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ReadsRuntimeGraph()
{
var context = Read(
Expand All @@ -253,7 +253,7 @@ public void ReadsRuntimeGraph()
.Fallbacks.Should().BeEquivalentTo("linux-x64", "unix");
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ReadsCompilationTarget()
{
var context = Read(
Expand Down Expand Up @@ -324,7 +324,7 @@ public void RejectsMissingLibrary()
Assert.Equal($"Cannot find library information for System.Banana/1.0.0", exception.Message);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void IgnoresUnknownPropertiesInLibrary()
{
var context = Read(
Expand Down Expand Up @@ -362,7 +362,7 @@ public void IgnoresUnknownPropertiesInLibrary()
package.HashPath.Should().BeNull();
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ReadsCompilationTargetWithNullPathAndHashPath()
{
var context = Read(
Expand Down Expand Up @@ -401,7 +401,7 @@ public void ReadsCompilationTargetWithNullPathAndHashPath()
package.HashPath.Should().BeNull();
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ReadsCompilationTargetWithMissingPathAndHashPath()
{
var context = Read(
Expand Down Expand Up @@ -481,13 +481,13 @@ public void DoesNotReadRuntimeLibraryFromCompilationOnlyEntries()
}


[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ReadsRuntimeLibrariesWithSubtargetsFromMainTargetForPortable()
{
ReadsRuntimeLibrariesWithSubtargetsFromMainTargetForPortableCore(false);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ReadsRuntimeLibrariesWithSubtargetsFromMainTargetForPortableWithAssemblyVersions()
{
ReadsRuntimeLibrariesWithSubtargetsFromMainTargetForPortableCore(true);
Expand Down Expand Up @@ -592,7 +592,7 @@ private void ReadsRuntimeLibrariesWithSubtargetsFromMainTargetForPortableCore(bo
package.NativeLibraryGroups.GetRuntimeAssets("win7-x64").Should().Contain("lib/win7/Banana.dll");
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void ReadsRuntimeTargetPlaceholdersAsEmptyGroups()
{
var context = Read(
Expand Down Expand Up @@ -628,7 +628,7 @@ public void ReadsRuntimeTargetPlaceholdersAsEmptyGroups()
.Which.AssetPaths.Should().BeEmpty();
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void IgnoresUnknownPropertiesInRuntimeTargets()
{
var context = Read(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
Expand Down Expand Up @@ -54,7 +55,7 @@ public DependencyContext Create(
);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void SavesRuntimeGraph()
{
var result = Save(Create(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.

using FluentAssertions;
using System;
using System.IO;
using System.Reflection;
using Xunit;
Expand All @@ -10,7 +11,7 @@ namespace Microsoft.Extensions.DependencyModel.Tests
{
public class DependencyContextLoaderTests
{
[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
[SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "GetEntryAssembly() returns null")]
public void LoadLoadsExtraPaths()
{
Expand Down Expand Up @@ -76,7 +77,7 @@ public void LoadLoadsExtraPaths()
context.RuntimeLibraries.Should().Contain(l => l.Name == "System.Banana");
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void LoadCanLoadANonEntryAssembly()
{
var loader = new DependencyContextLoader();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.

using FluentAssertions;
using System;
using System.IO;
using System.Linq;
using Xunit;
Expand All @@ -10,7 +11,7 @@ namespace Microsoft.Extensions.DependencyModel.Tests
{
public class DependencyContextTests
{
[Theory]
[ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
[InlineData("System.Collections.dll", "System.Collections")]
[InlineData("System.Collections.ni.dll", "System.Collections")]
[InlineData("mscorlib", "mscorlib")]
Expand All @@ -37,7 +38,7 @@ public void GetRuntimeAssemblyNamesExtractsCorrectAssemblyName(string path, stri
assets.Should().OnlyContain(a => a.Name == expected);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void GetRuntimeAssemblyNamesReturnsRIDLessAssetsIfNoRIDSpecificAssetsInLibrary()
{
var context = BuildTestContext();
Expand All @@ -46,7 +47,7 @@ public void GetRuntimeAssemblyNamesReturnsRIDLessAssetsIfNoRIDSpecificAssetsInLi
assets.Should().OnlyContain(a => a.Name == "System.Collections");
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void GetRuntimeAssemblyNamesReturnsMostSpecificAssetIfRIDSpecificAssetInLibrary()
{
var context = BuildTestContext();
Expand All @@ -64,7 +65,7 @@ public void GetRuntimeAssemblyNamesReturnsEmptyIfEmptyRuntimeGroupPresent()
assets.Should().BeEmpty();
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void GetRuntimeNativeAssetsReturnsEmptyIfNoGroupsMatch()
{
var context = BuildTestContext();
Expand Down Expand Up @@ -246,7 +247,7 @@ public void MergeMergesLibrariesWithDifferentCasing()
});
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void MergeMergesRuntimeGraph()
{
var context = new DependencyContext(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public void GetDirectoryContents_ReturnsNonExistingEmptySequence_IfResourcesDoNo
Assert.Empty(files);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void GetDirectoryContents_ReturnsCombinaisionOFFiles()
{
// Arrange
Expand Down Expand Up @@ -121,7 +121,7 @@ public void GetDirectoryContents_ReturnsCombinaisionOFFiles()
file => Assert.Same(file3, file));
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void GetDirectoryContents_ReturnsCombinaitionOFFiles_WhenSomeFileProviderRetunsNoContent()
{
// Arrange
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public void Factory_MultipleCalls_CachesHandler()
Assert.NotSame(client1, client2);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void Factory_DisposeClient_DoesNotDisposeHandler()
{
// Arrange
Expand All @@ -107,7 +107,7 @@ public void Factory_DisposeClient_DoesNotDisposeHandler()
// Assert (does not throw)
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void Factory_DisposeHandler_DoesNotDisposeInnerHandler()
{
// Arrange
Expand Down Expand Up @@ -170,7 +170,7 @@ public void Factory_CreateClient_WithName_UsesNamedOptions()
Assert.Equal(1, count);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void Factory_CreateClient_FiltersCanDecorateBuilder()
{
// Arrange
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void Ctor_SetsPrimaryHandler()
}


[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void Build_NoAdditionalHandlers_ReturnsPrimaryHandler()
{
// Arrange
Expand All @@ -48,7 +48,7 @@ public void Build_NoAdditionalHandlers_ReturnsPrimaryHandler()
Assert.Same(builder.PrimaryHandler, handler);
}

[Fact]
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDeviceAOT))]
public void Build_SomeAdditionalHandlers_PutsTogetherDelegatingHandlers()
{
// Arrange
Expand Down
Loading