From 1adfdda935b814541693cd550bb34fdbf2942b1f Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Thu, 26 Mar 2020 13:51:14 -0400 Subject: Add intermediate levels to track how IR has been lowered. --- .../LinkerFixture.cs | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/test/WixToolsetTest.CoreIntegration/LinkerFixture.cs') diff --git a/src/test/WixToolsetTest.CoreIntegration/LinkerFixture.cs b/src/test/WixToolsetTest.CoreIntegration/LinkerFixture.cs index da1a374f..254b78f8 100644 --- a/src/test/WixToolsetTest.CoreIntegration/LinkerFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/LinkerFixture.cs @@ -6,13 +6,42 @@ namespace WixToolsetTest.CoreIntegration using System.IO; using System.Linq; using WixBuildTools.TestSupport; + using WixToolset.Core; using WixToolset.Core.TestPackage; using WixToolset.Data; using WixToolset.Data.Tuples; + using WixToolset.Extensibility.Data; + using WixToolset.Extensibility.Services; using Xunit; public class LinkerFixture { + [Fact] + public void MustCompileBeforeLinking() + { + var intermediate1 = new Intermediate("TestIntermediate1", new[] { new IntermediateSection("test1", SectionType.Product, 65001) }, null); + var intermediate2 = new Intermediate("TestIntermediate2", new[] { new IntermediateSection("test2", SectionType.Fragment, 65001) }, null); + var serviceProvider = new WixToolsetServiceProvider(); + + var listener = new TestMessageListener(); + var messaging = serviceProvider.GetService(); + messaging.SetListener(listener); + + var creator = serviceProvider.GetService(); + var context = serviceProvider.GetService(); + context.Extensions = Enumerable.Empty(); + context.ExtensionData = Enumerable.Empty(); + context.Intermediates = new[] { intermediate1, intermediate2 }; + context.TupleDefinitionCreator = creator; + + var linker = serviceProvider.GetService(); + linker.Link(context); + + Assert.Equal((int)ErrorMessages.Ids.IntermediatesMustBeCompiled, messaging.LastErrorNumber); + Assert.Single(listener.Messages); + Assert.EndsWith("TestIntermediate1, TestIntermediate2", listener.Messages[0].ToString()); + } + [Fact] public void CanBuildWithOverridableActions() { -- cgit v1.2.3-55-g6feb