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

