Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Safar <marek.safar@gmail.com>2021-02-12 16:35:33 +0300
committerMarek Safar <marek.safar@gmail.com>2021-02-12 16:35:33 +0300
commit4a74557e98bcf472d9bac9d05a934bc8216a4fca (patch)
tree2b2acfffb9b08542cd0e6f519ef61204376e2d5f /test/Mono.Linker.Tests
parent57432e260642d3c76e8717f5d8d1399c593349b7 (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.cs16
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