This is an automated email from the git hooks/post-receive script.

guillem pushed a commit to branch main
in repository dpkg.

View the commit online:
https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=7a11fa9fce23feac0ee6eb88797fa38d761e1928

commit 7a11fa9fce23feac0ee6eb88797fa38d761e1928
Author: Guillem Jover <[email protected]>
AuthorDate: Tue Nov 15 23:30:52 2022 +0100

    test: Add functional tests for triggers database handling
---
 tests/Makefile                                     |  1 +
 tests/t-triggers-db/.gitignore                     |  3 ++
 tests/t-triggers-db/Makefile                       | 50 ++++++++++++++++++++++
 .../pkg-triggers-foreign}/DEBIAN/control           |  3 +-
 .../pkg-triggers-foreign}/DEBIAN/triggers          |  0
 .../pkg-triggers-native}/DEBIAN/control            |  0
 .../pkg-triggers-native}/DEBIAN/triggers           |  0
 .../pkg-triggers-same}/DEBIAN/control              |  3 +-
 .../pkg-triggers-same}/DEBIAN/triggers             |  0
 tests/t-triggers-db/tmpl-db-foreign/arch           |  2 +
 tests/t-triggers-db/tmpl-db-foreign/info/format    |  1 +
 .../tmpl-db-foreign/info/pkg-triggers.list         |  1 +
 .../tmpl-db-foreign/info/pkg-triggers.md5sums      |  0
 .../tmpl-db-foreign/info/pkg-triggers.triggers}    |  0
 .../tmpl-db-foreign/status}                        |  8 ++--
 tests/t-triggers-db/tmpl-db-foreign/triggers/File  |  1 +
 .../tmpl-db-foreign/triggers/a-trigger             |  1 +
 tests/t-triggers-db/tmpl-db-native/arch            |  2 +
 tests/t-triggers-db/tmpl-db-native/info/format     |  1 +
 .../tmpl-db-native/info/pkg-triggers.list          |  1 +
 .../tmpl-db-native/info/pkg-triggers.md5sums       |  0
 .../tmpl-db-native/info/pkg-triggers.triggers}     |  0
 .../tmpl-db-native/status}                         |  6 ++-
 tests/t-triggers-db/tmpl-db-native/triggers/File   |  1 +
 .../tmpl-db-native/triggers/a-trigger              |  1 +
 tests/t-triggers-db/tmpl-db-same/arch              |  2 +
 tests/t-triggers-db/tmpl-db-same/info/format       |  1 +
 .../tmpl-db-same/info/pkg-triggers:amd64.list      |  1 +
 .../tmpl-db-same/info/pkg-triggers:amd64.md5sums   |  0
 .../tmpl-db-same/info/pkg-triggers:amd64.triggers} |  0
 .../control => t-triggers-db/tmpl-db-same/status}  |  8 ++--
 tests/t-triggers-db/tmpl-db-same/triggers/File     |  1 +
 .../t-triggers-db/tmpl-db-same/triggers/a-trigger  |  1 +
 33 files changed, 90 insertions(+), 10 deletions(-)

diff --git a/tests/Makefile b/tests/Makefile
index 3b885f04e..8efe10544 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -62,6 +62,7 @@ TESTS_PASS += t-conflict-provide-replace-virtual-multiarch
 TESTS_PASS += t-conflict-provide-replace-interface
 TESTS_PASS += t-predepends-no-triggers
 TESTS_PASS += t-triggers
+TESTS_PASS += t-triggers-db
 TESTS_PASS += t-triggers-configure
 TESTS_PASS += t-triggers-path
 TESTS_PASS += t-triggers-depends
diff --git a/tests/t-triggers-db/.gitignore b/tests/t-triggers-db/.gitignore
new file mode 100644
index 000000000..1e8d25cd4
--- /dev/null
+++ b/tests/t-triggers-db/.gitignore
@@ -0,0 +1,3 @@
+db-native
+db-foreign
+db-same
diff --git a/tests/t-triggers-db/Makefile b/tests/t-triggers-db/Makefile
new file mode 100644
index 000000000..c0766d6cf
--- /dev/null
+++ b/tests/t-triggers-db/Makefile
@@ -0,0 +1,50 @@
+TESTS_DEB := pkg-triggers-native pkg-triggers-foreign pkg-triggers-same
+
+include ../Test.mk
+
+TEST_CASES += test-trigger-db-native-to-same
+TEST_CASES += test-trigger-db-foreign-to-same
+TEST_CASES += test-trigger-db-same-to-same
+
+test-case: $(TEST_CASES)
+
+test-trigger-db-native-to-same: override DPKG_ADMINDIR = db-native
+test-trigger-db-native-to-same:
+       cp -a tmpl-$(DPKG_ADMINDIR) $(DPKG_ADMINDIR)
+       $(call stdout_is,cat "$(DPKG_ADMINDIR)/triggers/a-trigger",pkg-triggers)
+       $(call stdout_is,cat "$(DPKG_ADMINDIR)/triggers/File",/triggers 
pkg-triggers)
+       $(DPKG_INSTALL) pkg-triggers-native.deb
+       $(call stdout_is,cat 
"$(DPKG_ADMINDIR)/triggers/a-trigger",pkg-triggers/noawait)
+       grep -q "^/triggers pkg-triggers/noawait$$" 
"$(DPKG_ADMINDIR)/triggers/File"
+       $(DPKG_INSTALL) pkg-triggers-same.deb
+       $(call stdout_is,cat 
"$(DPKG_ADMINDIR)/triggers/a-trigger",pkg-triggers:amd64/noawait)
+       $(call stdout_is,cat "$(DPKG_ADMINDIR)/triggers/File",/triggers 
pkg-triggers:amd64/noawait)
+       $(DPKG_PURGE) pkg-triggers
+
+test-trigger-db-foreign-to-same: override DPKG_ADMINDIR = db-foreign
+test-trigger-db-foreign-to-same:
+       cp -a tmpl-$(DPKG_ADMINDIR) $(DPKG_ADMINDIR)
+       $(call stdout_is,cat 
"$(DPKG_ADMINDIR)/triggers/a-trigger",pkg-triggers:other)
+       $(call stdout_is,cat "$(DPKG_ADMINDIR)/triggers/File",/triggers 
pkg-triggers:other)
+       : # The db needs to be reproducible, so it gets normalized on upgrade.
+       $(DPKG_INSTALL) pkg-triggers-foreign.deb
+       $(call stdout_is,cat 
"$(DPKG_ADMINDIR)/triggers/a-trigger",pkg-triggers/noawait)
+       $(call stdout_is,cat "$(DPKG_ADMINDIR)/triggers/File",/triggers 
pkg-triggers/noawait)
+       $(DPKG_INSTALL) pkg-triggers-same.deb
+       $(call stdout_is,cat 
"$(DPKG_ADMINDIR)/triggers/a-trigger",pkg-triggers:amd64/noawait)
+       $(call stdout_is,cat "$(DPKG_ADMINDIR)/triggers/File",/triggers 
pkg-triggers:amd64/noawait)
+       $(DPKG_PURGE) pkg-triggers
+
+test-trigger-db-same-to-same: override DPKG_ADMINDIR = db-same
+test-trigger-db-same-to-same:
+       cp -a tmpl-$(DPKG_ADMINDIR) $(DPKG_ADMINDIR)
+       $(call stdout_is,cat 
"$(DPKG_ADMINDIR)/triggers/a-trigger",pkg-triggers:amd64)
+       $(call stdout_is,cat "$(DPKG_ADMINDIR)/triggers/File",/triggers 
pkg-triggers:amd64)
+       $(DPKG_INSTALL) pkg-triggers-same.deb
+       $(call stdout_is,cat 
"$(DPKG_ADMINDIR)/triggers/a-trigger",pkg-triggers:amd64/noawait)
+       $(call stdout_is,cat "$(DPKG_ADMINDIR)/triggers/File",/triggers 
pkg-triggers:amd64/noawait)
+       $(DPKG_PURGE) pkg-triggers
+
+test-clean:
+       $(DPKG_PURGE) pkg-triggers
+       $(RM) -r db-native db-foreign db-same
diff --git a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control 
b/tests/t-triggers-db/pkg-triggers-foreign/DEBIAN/control
similarity index 81%
copy from tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
copy to tests/t-triggers-db/pkg-triggers-foreign/DEBIAN/control
index ff9d5d5b8..a10bb5c94 100644
--- a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
+++ b/tests/t-triggers-db/pkg-triggers-foreign/DEBIAN/control
@@ -3,6 +3,7 @@ Version: 0.0-1
 Section: test
 Priority: extra
 Maintainer: Dpkg Developers <[email protected]>
-Architecture: all
+Multi-Arch: foreign
+Architecture: other
 Description: test package - providing triggers
 
diff --git a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/triggers 
b/tests/t-triggers-db/pkg-triggers-foreign/DEBIAN/triggers
similarity index 100%
copy from tests/t-triggers/pkg-triggers-noawait/DEBIAN/triggers
copy to tests/t-triggers-db/pkg-triggers-foreign/DEBIAN/triggers
diff --git a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control 
b/tests/t-triggers-db/pkg-triggers-native/DEBIAN/control
similarity index 100%
copy from tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
copy to tests/t-triggers-db/pkg-triggers-native/DEBIAN/control
diff --git a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/triggers 
b/tests/t-triggers-db/pkg-triggers-native/DEBIAN/triggers
similarity index 100%
copy from tests/t-triggers/pkg-triggers-noawait/DEBIAN/triggers
copy to tests/t-triggers-db/pkg-triggers-native/DEBIAN/triggers
diff --git a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control 
b/tests/t-triggers-db/pkg-triggers-same/DEBIAN/control
similarity index 82%
copy from tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
copy to tests/t-triggers-db/pkg-triggers-same/DEBIAN/control
index ff9d5d5b8..6fbb5cf07 100644
--- a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
+++ b/tests/t-triggers-db/pkg-triggers-same/DEBIAN/control
@@ -3,6 +3,7 @@ Version: 0.0-1
 Section: test
 Priority: extra
 Maintainer: Dpkg Developers <[email protected]>
-Architecture: all
+Multi-Arch: same
+Architecture: amd64
 Description: test package - providing triggers
 
diff --git a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/triggers 
b/tests/t-triggers-db/pkg-triggers-same/DEBIAN/triggers
similarity index 100%
copy from tests/t-triggers/pkg-triggers-noawait/DEBIAN/triggers
copy to tests/t-triggers-db/pkg-triggers-same/DEBIAN/triggers
diff --git a/tests/t-triggers-db/tmpl-db-foreign/arch 
b/tests/t-triggers-db/tmpl-db-foreign/arch
new file mode 100644
index 000000000..8dfbb4bef
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-foreign/arch
@@ -0,0 +1,2 @@
+amd64
+other
diff --git a/tests/t-triggers-db/tmpl-db-foreign/info/format 
b/tests/t-triggers-db/tmpl-db-foreign/info/format
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-foreign/info/format
@@ -0,0 +1 @@
+1
diff --git a/tests/t-triggers-db/tmpl-db-foreign/info/pkg-triggers.list 
b/tests/t-triggers-db/tmpl-db-foreign/info/pkg-triggers.list
new file mode 100644
index 000000000..90ad5c910
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-foreign/info/pkg-triggers.list
@@ -0,0 +1 @@
+/.
diff --git a/lib/dpkg/t/data/meminfo-no-data 
b/tests/t-triggers-db/tmpl-db-foreign/info/pkg-triggers.md5sums
similarity index 100%
copy from lib/dpkg/t/data/meminfo-no-data
copy to tests/t-triggers-db/tmpl-db-foreign/info/pkg-triggers.md5sums
diff --git a/tests/t-triggers/pkg-triggers/DEBIAN/triggers 
b/tests/t-triggers-db/tmpl-db-foreign/info/pkg-triggers.triggers
similarity index 100%
copy from tests/t-triggers/pkg-triggers/DEBIAN/triggers
copy to tests/t-triggers-db/tmpl-db-foreign/info/pkg-triggers.triggers
diff --git a/tests/t-triggers/pkg-triggers/DEBIAN/control 
b/tests/t-triggers-db/tmpl-db-foreign/status
similarity index 71%
copy from tests/t-triggers/pkg-triggers/DEBIAN/control
copy to tests/t-triggers-db/tmpl-db-foreign/status
index ff9d5d5b8..d2adcece6 100644
--- a/tests/t-triggers/pkg-triggers/DEBIAN/control
+++ b/tests/t-triggers-db/tmpl-db-foreign/status
@@ -1,8 +1,10 @@
 Package: pkg-triggers
-Version: 0.0-1
-Section: test
+Status: install ok installed
 Priority: extra
+Section: test
 Maintainer: Dpkg Developers <[email protected]>
-Architecture: all
+Architecture: other
+Multi-Arch: foreign
+Version: 0.0-1
 Description: test package - providing triggers
 
diff --git a/tests/t-triggers-db/tmpl-db-foreign/triggers/File 
b/tests/t-triggers-db/tmpl-db-foreign/triggers/File
new file mode 100644
index 000000000..d3cdd0007
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-foreign/triggers/File
@@ -0,0 +1 @@
+/triggers pkg-triggers:other
diff --git a/tests/t-triggers-db/tmpl-db-foreign/triggers/a-trigger 
b/tests/t-triggers-db/tmpl-db-foreign/triggers/a-trigger
new file mode 100644
index 000000000..fd0469949
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-foreign/triggers/a-trigger
@@ -0,0 +1 @@
+pkg-triggers:other
diff --git a/tests/t-triggers-db/tmpl-db-native/arch 
b/tests/t-triggers-db/tmpl-db-native/arch
new file mode 100644
index 000000000..8dfbb4bef
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-native/arch
@@ -0,0 +1,2 @@
+amd64
+other
diff --git a/tests/t-triggers-db/tmpl-db-native/info/format 
b/tests/t-triggers-db/tmpl-db-native/info/format
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-native/info/format
@@ -0,0 +1 @@
+1
diff --git a/tests/t-triggers-db/tmpl-db-native/info/pkg-triggers.list 
b/tests/t-triggers-db/tmpl-db-native/info/pkg-triggers.list
new file mode 100644
index 000000000..90ad5c910
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-native/info/pkg-triggers.list
@@ -0,0 +1 @@
+/.
diff --git a/lib/dpkg/t/data/meminfo-no-data 
b/tests/t-triggers-db/tmpl-db-native/info/pkg-triggers.md5sums
similarity index 100%
copy from lib/dpkg/t/data/meminfo-no-data
copy to tests/t-triggers-db/tmpl-db-native/info/pkg-triggers.md5sums
diff --git a/tests/t-triggers/pkg-triggers/DEBIAN/triggers 
b/tests/t-triggers-db/tmpl-db-native/info/pkg-triggers.triggers
similarity index 100%
copy from tests/t-triggers/pkg-triggers/DEBIAN/triggers
copy to tests/t-triggers-db/tmpl-db-native/info/pkg-triggers.triggers
diff --git a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control 
b/tests/t-triggers-db/tmpl-db-native/status
similarity index 79%
copy from tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
copy to tests/t-triggers-db/tmpl-db-native/status
index ff9d5d5b8..43ea531c4 100644
--- a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
+++ b/tests/t-triggers-db/tmpl-db-native/status
@@ -1,8 +1,10 @@
 Package: pkg-triggers
-Version: 0.0-1
-Section: test
+Status: install ok installed
 Priority: extra
+Section: test
 Maintainer: Dpkg Developers <[email protected]>
 Architecture: all
+Multi-Arch: foreign
+Version: 0.0-1
 Description: test package - providing triggers
 
diff --git a/tests/t-triggers-db/tmpl-db-native/triggers/File 
b/tests/t-triggers-db/tmpl-db-native/triggers/File
new file mode 100644
index 000000000..83119522d
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-native/triggers/File
@@ -0,0 +1 @@
+/triggers pkg-triggers
diff --git a/tests/t-triggers-db/tmpl-db-native/triggers/a-trigger 
b/tests/t-triggers-db/tmpl-db-native/triggers/a-trigger
new file mode 100644
index 000000000..e61fd5f0f
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-native/triggers/a-trigger
@@ -0,0 +1 @@
+pkg-triggers
diff --git a/tests/t-triggers-db/tmpl-db-same/arch 
b/tests/t-triggers-db/tmpl-db-same/arch
new file mode 100644
index 000000000..8dfbb4bef
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-same/arch
@@ -0,0 +1,2 @@
+amd64
+other
diff --git a/tests/t-triggers-db/tmpl-db-same/info/format 
b/tests/t-triggers-db/tmpl-db-same/info/format
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-same/info/format
@@ -0,0 +1 @@
+1
diff --git a/tests/t-triggers-db/tmpl-db-same/info/pkg-triggers:amd64.list 
b/tests/t-triggers-db/tmpl-db-same/info/pkg-triggers:amd64.list
new file mode 100644
index 000000000..90ad5c910
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-same/info/pkg-triggers:amd64.list
@@ -0,0 +1 @@
+/.
diff --git a/lib/dpkg/t/data/meminfo-no-data 
b/tests/t-triggers-db/tmpl-db-same/info/pkg-triggers:amd64.md5sums
similarity index 100%
copy from lib/dpkg/t/data/meminfo-no-data
copy to tests/t-triggers-db/tmpl-db-same/info/pkg-triggers:amd64.md5sums
diff --git a/tests/t-triggers/pkg-triggers/DEBIAN/triggers 
b/tests/t-triggers-db/tmpl-db-same/info/pkg-triggers:amd64.triggers
similarity index 100%
copy from tests/t-triggers/pkg-triggers/DEBIAN/triggers
copy to tests/t-triggers-db/tmpl-db-same/info/pkg-triggers:amd64.triggers
diff --git a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control 
b/tests/t-triggers-db/tmpl-db-same/status
similarity index 72%
copy from tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
copy to tests/t-triggers-db/tmpl-db-same/status
index ff9d5d5b8..f8c4918f5 100644
--- a/tests/t-triggers/pkg-triggers-noawait/DEBIAN/control
+++ b/tests/t-triggers-db/tmpl-db-same/status
@@ -1,8 +1,10 @@
 Package: pkg-triggers
-Version: 0.0-1
-Section: test
+Status: install ok installed
 Priority: extra
+Section: test
 Maintainer: Dpkg Developers <[email protected]>
-Architecture: all
+Architecture: amd64
+Multi-Arch: same
+Version: 0.0-1
 Description: test package - providing triggers
 
diff --git a/tests/t-triggers-db/tmpl-db-same/triggers/File 
b/tests/t-triggers-db/tmpl-db-same/triggers/File
new file mode 100644
index 000000000..567acba77
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-same/triggers/File
@@ -0,0 +1 @@
+/triggers pkg-triggers:amd64
diff --git a/tests/t-triggers-db/tmpl-db-same/triggers/a-trigger 
b/tests/t-triggers-db/tmpl-db-same/triggers/a-trigger
new file mode 100644
index 000000000..37c2cf7a4
--- /dev/null
+++ b/tests/t-triggers-db/tmpl-db-same/triggers/a-trigger
@@ -0,0 +1 @@
+pkg-triggers:amd64

-- 
Dpkg.Org's dpkg

Reply via email to