[msitools] tests: add Binary/CustomAction test



commit ea2550a45f3691d546bbb4f58e83c0bd620df0d6
Author: Marc-André Lureau <marcandre lureau gmail com>
Date:   Thu May 16 01:50:42 2013 +0200

    tests: add Binary/CustomAction test

 tests/data/wixl/binary.wxs |   48 ++++++++++++++++++++++++++++++++++++++++++++
 tests/wixl.at              |    8 +++++++
 2 files changed, 56 insertions(+), 0 deletions(-)
---
diff --git a/tests/data/wixl/Foo.dll b/tests/data/wixl/Foo.dll
new file mode 100644
index 0000000..e69de29
diff --git a/tests/data/wixl/binary.wxs b/tests/data/wixl/binary.wxs
new file mode 100644
index 0000000..ff8d628
--- /dev/null
+++ b/tests/data/wixl/binary.wxs
@@ -0,0 +1,48 @@
+<?xml version='1.0' encoding='windows-1252'?>
+<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
+  <Product Name='Foobar 1.0' Id='ABCDDCBA-86C7-4D14-AEC0-86416A69ABDE' 
UpgradeCode='ABCDDCBA-7349-453F-94F6-BCB5110BA4FD'
+    Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='Acme Ltd.'>
+
+    <Package Id='*' Keywords='Installer' Description="Acme's Foobar 1.0 Installer"
+      Comments='Foobar is a registered trademark of Acme Ltd.' Manufacturer='Acme Ltd.'
+      InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
+
+    <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />
+    <Property Id='DiskPrompt' Value="Acme's Foobar 1.0 Installation [1]" />
+
+    <Directory Id='TARGETDIR' Name='SourceDir'>
+      <Directory Id='ProgramFilesFolder' Name='PFiles'>
+        <Directory Id='Acme' Name='Acme'>
+          <Directory Id='INSTALLDIR' Name='Foobar 1.0'>
+
+            <Component Id='Manual' Guid='ABCDDCBA-574D-4A9A-A266-5B5EC2C022A4'>
+              <File Id='Manual' Name='Manual.pdf' DiskId='1' Source='Manual.pdf' KeyPath='yes'>
+              </File>
+            </Component>
+
+          </Directory>
+        </Directory>
+      </Directory>
+    </Directory>
+
+    <Feature Id='Complete' Level='1'>
+      <ComponentRef Id='Manual' />
+    </Feature>
+
+    <Binary Id="Foo" SourceFile="Foo.dll"/>
+
+    <CustomAction Id="DoSomething"
+                  BinaryKey="Foo"
+                  DllEntry="FirstAction"
+                  Execute="deferred"
+                  Return="check"
+                  HideTarget="no"
+                  Impersonate="no" />
+
+    
+    <InstallExecuteSequence>
+      <Custom Action="DoSomething" Before="InstallFinalize" />
+    </InstallExecuteSequence>
+
+  </Product>
+</Wix>
diff --git a/tests/wixl.at b/tests/wixl.at
index 442afb9..d9e05f8 100644
--- a/tests/wixl.at
+++ b/tests/wixl.at
@@ -134,6 +134,14 @@ AT_CHECK_WIXL([-o out.msi test-arp.wxs], [0], [ignore], [ignore])
 AT_CHECK([test -f out.msi], [0])
 AT_CLEANUP
 
+AT_SETUP([Binary/CustomAction])
+AT_WIXLDATA([binary.wxs])
+AT_WIXLDATA([Foo.dll])
+AT_CHECK_WIXL([-o out.msi binary.wxs], [0], [ignore], [ignore])
+# FIXME: add tons of tests on out.msi
+AT_CHECK([test -f out.msi], [0])
+AT_CLEANUP
+
 AT_BANNER([wixl-heat])
 
 AT_SETUP([Heat])


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]