diff options
author | Marek Safar <marek.safar@gmail.com> | 2021-02-12 16:35:33 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2021-02-12 16:35:33 +0300 |
commit | 4a74557e98bcf472d9bac9d05a934bc8216a4fca (patch) | |
tree | 2b2acfffb9b08542cd0e6f519ef61204376e2d5f /test/Mono.Linker.Tests | |
parent | 57432e260642d3c76e8717f5d8d1399c593349b7 (diff) |
Fix optimizations selection logic when different per assembly settings exist
Diffstat (limited to 'test/Mono.Linker.Tests')
-rw-r--r-- | test/Mono.Linker.Tests/Tests/CodeOptimizationsSettingsTests.cs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Mono.Linker.Tests/Tests/CodeOptimizationsSettingsTests.cs b/test/Mono.Linker.Tests/Tests/CodeOptimizationsSettingsTests.cs index 249a93071..02a26ea82 100644 --- a/test/Mono.Linker.Tests/Tests/CodeOptimizationsSettingsTests.cs +++ b/test/Mono.Linker.Tests/Tests/CodeOptimizationsSettingsTests.cs @@ -51,5 +51,21 @@ namespace Mono.Linker.Tests Assert.False (cos.IsEnabled (CodeOptimizations.Sealer, "testasm.dll")); Assert.False (cos.IsEnabled (CodeOptimizations.UnreachableBodies, "testasm.dll")); } + + [Test] + public void PropagateFromGlobal () + { + CodeOptimizationsSettings cos = new CodeOptimizationsSettings (CodeOptimizations.BeforeFieldInit); + cos.Disable (CodeOptimizations.IPConstantPropagation | CodeOptimizations.OverrideRemoval, "testasm.dll"); + + Assert.False (cos.IsEnabled (CodeOptimizations.IPConstantPropagation, "testasm.dll")); + Assert.False (cos.IsEnabled (CodeOptimizations.IPConstantPropagation, "any")); + + Assert.False (cos.IsEnabled (CodeOptimizations.OverrideRemoval, "testasm.dll")); + Assert.False (cos.IsEnabled (CodeOptimizations.OverrideRemoval, "any")); + + Assert.True (cos.IsEnabled (CodeOptimizations.BeforeFieldInit, "testasm.dll")); + Assert.True (cos.IsEnabled (CodeOptimizations.BeforeFieldInit, "any")); + } } }
\ No newline at end of file |