From 56105916271ff9a7c0bfa237b45b9b3fab9c570b Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Wed, 9 Jun 2021 11:30:46 -0500 Subject: Fix building and perf for bundles with 1000s of package and BA payloads Fixes other half of #5300 --- src/test/burn/TestData/Manual/BundleB/Bundle.wxs | 56 ++++++++++++++++++++++ .../burn/TestData/Manual/BundleB/BundleB.wixproj | 32 +++++++++++++ src/test/burn/TestData/Manual/BundleB/BundleB.wxs | 15 ++++++ src/test/burn/TestData/Manual/BundleB/ba.xslt | 21 ++++++++ src/test/burn/TestData/Manual/BundleB/package.xslt | 21 ++++++++ src/test/burn/TestExe/Task.cs | 22 +++++++++ 6 files changed, 167 insertions(+) create mode 100644 src/test/burn/TestData/Manual/BundleB/Bundle.wxs create mode 100644 src/test/burn/TestData/Manual/BundleB/BundleB.wixproj create mode 100644 src/test/burn/TestData/Manual/BundleB/BundleB.wxs create mode 100644 src/test/burn/TestData/Manual/BundleB/ba.xslt create mode 100644 src/test/burn/TestData/Manual/BundleB/package.xslt (limited to 'src/test') diff --git a/src/test/burn/TestData/Manual/BundleB/Bundle.wxs b/src/test/burn/TestData/Manual/BundleB/Bundle.wxs new file mode 100644 index 00000000..615d4b1d --- /dev/null +++ b/src/test/burn/TestData/Manual/BundleB/Bundle.wxs @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj b/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj new file mode 100644 index 00000000..35c92246 --- /dev/null +++ b/src/test/burn/TestData/Manual/BundleB/BundleB.wixproj @@ -0,0 +1,32 @@ + + + + Bundle + hyperlinkLicense + {5DE2F206-3C37-4265-81F7-095284E16B08} + -generate payloadgroup + + + + BAPayloads + BAPayloads + ba.xslt + + + PackagePayloads + PackagePayloads + package.xslt + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/burn/TestData/Manual/BundleB/BundleB.wxs b/src/test/burn/TestData/Manual/BundleB/BundleB.wxs new file mode 100644 index 00000000..3b189b15 --- /dev/null +++ b/src/test/burn/TestData/Manual/BundleB/BundleB.wxs @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/test/burn/TestData/Manual/BundleB/ba.xslt b/src/test/burn/TestData/Manual/BundleB/ba.xslt new file mode 100644 index 00000000..54bc7fe6 --- /dev/null +++ b/src/test/burn/TestData/Manual/BundleB/ba.xslt @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + ba_ + BAPayloads + + + diff --git a/src/test/burn/TestData/Manual/BundleB/package.xslt b/src/test/burn/TestData/Manual/BundleB/package.xslt new file mode 100644 index 00000000..304ff78b --- /dev/null +++ b/src/test/burn/TestData/Manual/BundleB/package.xslt @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + package_ + PackagePayloads + + + diff --git a/src/test/burn/TestExe/Task.cs b/src/test/burn/TestExe/Task.cs index 7d39bfd9..59f774fb 100644 --- a/src/test/burn/TestExe/Task.cs +++ b/src/test/burn/TestExe/Task.cs @@ -59,6 +59,24 @@ namespace TestExe } } + public class GenerateFilesTask : Task + { + public GenerateFilesTask(string Data) : base(Data) { } + + public override void RunTask() + { + string[] tokens = this.data.Split(new char[] { '|' }, 2); + string folderPath = System.Environment.ExpandEnvironmentVariables(tokens[0]); + long size = long.Parse(tokens[1]); + Directory.CreateDirectory(folderPath); + var bytes = new byte[0]; + for (long i = 1; i <= size; i++) + { + File.WriteAllBytes(Path.Combine(folderPath, $"{i}.txt"), bytes); + } + } + } + public class LargeFileTask : Task { public LargeFileTask(string Data) : base(Data) { } @@ -163,6 +181,10 @@ namespace TestExe t = new SleepRandomTask(args[i + 1]); tasks.Add(t); break; + case "/gf": + t = new GenerateFilesTask(args[i + 1]); + tasks.Add(t); + break; case "/lf": t = new LargeFileTask(args[i + 1]); tasks.Add(t); -- cgit v1.2.3-55-g6feb