summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-05-16 01:50:42 +0200
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-05-16 02:38:44 +0200
commitea2550a45f3691d546bbb4f58e83c0bd620df0d6 (patch)
tree39f2e5edbc2cb83820b6444c11dbf41393e434fc
parent02d69547b3d03a09ae84080a862d00349e41ed7a (diff)
downloadmsitools-ea2550a45f3691d546bbb4f58e83c0bd620df0d6.tar.gz
msitools-ea2550a45f3691d546bbb4f58e83c0bd620df0d6.tar.xz
msitools-ea2550a45f3691d546bbb4f58e83c0bd620df0d6.zip
tests: add Binary/CustomAction test
-rw-r--r--tests/data/wixl/Foo.dll0
-rw-r--r--tests/data/wixl/binary.wxs48
-rw-r--r--tests/wixl.at8
3 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
--- /dev/null
+++ b/tests/data/wixl/Foo.dll
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])