summaryrefslogtreecommitdiffstats
path: root/test/pacman/tests/hook-target-list.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/pacman/tests/hook-target-list.py')
-rw-r--r--test/pacman/tests/hook-target-list.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/pacman/tests/hook-target-list.py b/test/pacman/tests/hook-target-list.py
new file mode 100644
index 00000000..6dd6c4d8
--- /dev/null
+++ b/test/pacman/tests/hook-target-list.py
@@ -0,0 +1,40 @@
+self.description = "Hook with NeedsTargets"
+
+self.add_hook("hook",
+ """
+ [Trigger]
+ Type = Package
+ Operation = Install
+ Target = foo
+
+ # duplicate trigger to check that duplicate targets are removed
+ [Trigger]
+ Type = Package
+ Operation = Install
+ Target = foo
+
+ [Trigger]
+ Type = File
+ Operation = Install
+ # matches files in 'file/' but not 'file/' itself
+ Target = file/?*
+
+ [Action]
+ When = PreTransaction
+ Exec = bin/sh -c 'while read -r tgt; do printf "%s\\n" "$tgt"; done > var/log/hook-output'
+ NeedsTargets
+ """);
+
+p1 = pmpkg("foo")
+p1.files = ["file/foo"]
+self.addpkg(p1)
+
+p2 = pmpkg("bar")
+p2.files = ["file/bar"]
+self.addpkg(p2)
+
+self.args = "-U %s %s" % (p1.filename(), p2.filename())
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=foo")
+self.addrule("FILE_CONTENTS=var/log/hook-output|file/bar\nfile/foo\nfoo\n")