diff options
author | Sven Boemer <sbomer@gmail.com> | 2019-02-20 01:16:58 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2019-02-20 01:16:58 +0300 |
commit | fa9ccbdaf6907c69ef1bb117906f8f012218d57f (patch) | |
tree | 4d4cbe2d4079a35edca350a4e444831c2f9dd19a /test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs | |
parent | e64148792193bf7d706428a64632ebf7f8023d3b (diff) |
Adopt new directory layout (#466)
This organizes the source and test projects as follows:
- source projects go in `src/project/projectfile.csproj`
- test projects go in `test/project/projectfile.csproj`
The uniform layout of projects is part of the arcade onboarding (see https://github.com/mono/linker/issues/452).
Diffstat (limited to 'test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs')
-rw-r--r-- | test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs b/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs new file mode 100644 index 000000000..6111bc713 --- /dev/null +++ b/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs @@ -0,0 +1,31 @@ +using Mono.Linker.Tests.Cases.Expectations.Assertions; +using Mono.Linker.Tests.Cases.Expectations.Metadata; +using Mono.Linker.Tests.Cases.LinkXml.Dependencies.EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod; + +namespace Mono.Linker.Tests.Cases.LinkXml { + [SetupCompileBefore ("Base.dll", + new []{"Dependencies/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod/Base.cs"})] + [SetupCompileBefore ("Library1.dll", + new [] { "Dependencies/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod/Library1.cs"}, + new [] { "Base.dll"}, + resources: new [] { "Dependencies/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod/Library1.xml"})] + [SetupCompileBefore("Library2.dll", + new [] {"Dependencies/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod/Library2.cs"}, + new [] {"Base.dll"}, + addAsReference: false)] + [IncludeBlacklistStep (true)] + + [KeptMemberInAssembly ("Library1.dll", typeof (Library1), "VirtualMethodFromBase()")] + [KeptMemberInAssembly ("Library1.dll", typeof (Library1Secondary), "VirtualMethodFromBase()")] + + // Library1's embedded link xml will preserve the Library2 type. Because Library2 shares a base class with Library1 + // Library2's override should be kept as well + [KeptMemberInAssembly ("Library2.dll", "Mono.Linker.Tests.Cases.LinkXml.Dependencies.EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.Library2", "VirtualMethodFromBase()")] + public class EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod { + public static void Main () + { + var tmp = new Library1 (); + tmp.VirtualMethodFromBase (); + } + } +}
\ No newline at end of file |