From 142387311bb206aba785c955ba9bcfe9ab69833e Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Fri, 6 Jun 2014 03:00:44 +0400 Subject: [PATCH] Tests for aptly publish update and multi-component repository. #36 --- system/t06_publish/PublishUpdate7Test_binary | 0 system/t06_publish/PublishUpdate7Test_binary2 | 26 ++++++++++ system/t06_publish/PublishUpdate7Test_gold | 7 +++ system/t06_publish/PublishUpdate7Test_sources | 43 +++++++++++++++++ .../t06_publish/PublishUpdate7Test_sources2 | 0 system/t06_publish/update.py | 48 +++++++++++++++++++ 6 files changed, 124 insertions(+) create mode 100644 system/t06_publish/PublishUpdate7Test_binary create mode 100644 system/t06_publish/PublishUpdate7Test_binary2 create mode 100644 system/t06_publish/PublishUpdate7Test_gold create mode 100644 system/t06_publish/PublishUpdate7Test_sources create mode 100644 system/t06_publish/PublishUpdate7Test_sources2 diff --git a/system/t06_publish/PublishUpdate7Test_binary b/system/t06_publish/PublishUpdate7Test_binary new file mode 100644 index 00000000..e69de29b diff --git a/system/t06_publish/PublishUpdate7Test_binary2 b/system/t06_publish/PublishUpdate7Test_binary2 new file mode 100644 index 00000000..d961b618 --- /dev/null +++ b/system/t06_publish/PublishUpdate7Test_binary2 @@ -0,0 +1,26 @@ + + + (name, value) pairs from the user, via conventional methods such as + . + . + Boost version (currently 1.49). + Library to let program developers obtain program options, that is + This package forms part of the Boost C++ Libraries collection. + This package is a dependency package, which depends on Debian's default + command line and config file. +Architecture: i386 +Depends: libboost-program-options1.49-dev +Description: program options library for C++ (default version) +Filename: pool/contrib/b/boost-defaults/libboost-program-options-dev_1.49.0.1_i386.deb +Homepage: http://www.boost.org/libs/program_options/ +Installed-Size: 26 +MD5sum: 0035d7822b2f8f0ec4013f270fd650c2 +Maintainer: Debian Boost Team +Package: libboost-program-options-dev +Priority: optional +SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b +SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12 +Section: libdevel +Size: 2738 +Source: boost-defaults +Version: 1.49.0.1 \ No newline at end of file diff --git a/system/t06_publish/PublishUpdate7Test_gold b/system/t06_publish/PublishUpdate7Test_gold new file mode 100644 index 00000000..5e6c6858 --- /dev/null +++ b/system/t06_publish/PublishUpdate7Test_gold @@ -0,0 +1,7 @@ +Loading packages... +Generating metadata files and linking package files... +Signing file '${HOME}/.aptly/public/dists/maverick/Release.tmp' with gpg, please enter your passphrase when prompted: +Clearsigning file '${HOME}/.aptly/public/dists/maverick/Release.tmp' with gpg, please enter your passphrase when prompted: +Cleaning up prefix "." components contrib, main... + +Publish for local repo ./maverick [i386, source] publishes {main: [repo1]}, {contrib: [repo2]} has been successfully updated. diff --git a/system/t06_publish/PublishUpdate7Test_sources b/system/t06_publish/PublishUpdate7Test_sources new file mode 100644 index 00000000..90f5cac5 --- /dev/null +++ b/system/t06_publish/PublishUpdate7Test_sources @@ -0,0 +1,43 @@ + + + + 22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz + 2e770b28df948f3197ed0b679bdea99f3f2bf745e9ddb440c677df9c3aeaee3c 3456 pyspi_0.6.1-1.3.diff.gz + 56c8a9b1f4ab636052be8966690998cbe865cd6c 1782 pyspi_0.6.1-1.3.dsc + 64069ee828c50b1c597d10a3fefbba279f093a4723965388cdd0ac02f029bfb9 29063 pyspi_0.6.1.orig.tar.gz + 64069ee828c50b1c597d10a3fefbba279f093a4723965388cdd0ac02f029bfb9 29063 pyspi_0.6.1.orig.tar.gz + 95a2468e4bbce730ba286f2211fa41861b9f1d90 3456 pyspi_0.6.1-1.3.diff.gz + 9694b80acc171c0a5bc99f707933864edfce555e 29063 pyspi_0.6.1.orig.tar.gz + 9694b80acc171c0a5bc99f707933864edfce555e 29063 pyspi_0.6.1.orig.tar.gz + b72cb94699298a117b7c82641c68b6fd 1782 pyspi_0.6.1-1.3.dsc + d494aaf526f1ec6b02f14c2f81e060a5722d6532ddc760ec16972e45c2625989 1782 pyspi_0.6.1-1.3.dsc + def336bd566ea688a06ec03db7ccf1f4 29063 pyspi_0.6.1.orig.tar.gz + def336bd566ea688a06ec03db7ccf1f4 29063 pyspi_0.6.1.orig.tar.gz +Architecture: any +Architecture: any +Binary: python-at-spi +Binary: python-at-spi +Build-Depends: debhelper (>= 5), cdbs, libatspi-dev, python-pyrex, python-support (>= 0.4), python-all-dev, libx11-dev +Build-Depends: debhelper (>= 5), cdbs, libatspi-dev, python-pyrex, python-support (>= 0.4), python-all-dev, libx11-dev +Checksums-Sha1: 5005fbd1f30637edc1d380b30f45db9b79100d07 893 pyspi-0.6.1-1.3.stripped.dsc +Checksums-Sha1: 95a2468e4bbce730ba286f2211fa41861b9f1d90 3456 pyspi_0.6.1-1.3.diff.gz +Checksums-Sha256: 289d3aefa970876e9c43686ce2b02f478d7f3ed35a713928464a98d54ae4fca3 893 pyspi-0.6.1-1.3.stripped.dsc +Checksums-Sha256: 2e770b28df948f3197ed0b679bdea99f3f2bf745e9ddb440c677df9c3aeaee3c 3456 pyspi_0.6.1-1.3.diff.gz +Directory: pool/main/p/pyspi +Directory: pool/main/p/pyspi +Files: 22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz +Files: 2f5bd47cf38852b6fc927a50f98c1448 893 pyspi-0.6.1-1.3.stripped.dsc +Format: 1.0 +Format: 1.0 +Homepage: http://people.redhat.com/zcerza/dogtail +Homepage: http://people.redhat.com/zcerza/dogtail +Maintainer: Jose Carlos Garcia Sogo +Maintainer: Jose Carlos Garcia Sogo +Package: pyspi +Package: pyspi +Standards-Version: 3.7.3 +Standards-Version: 3.7.3 +Vcs-Svn: svn://svn.tribulaciones.org/srv/svn/pyspi/trunk +Vcs-Svn: svn://svn.tribulaciones.org/srv/svn/pyspi/trunk +Version: 0.6.1-1.3 +Version: 0.6.1-1.4 \ No newline at end of file diff --git a/system/t06_publish/PublishUpdate7Test_sources2 b/system/t06_publish/PublishUpdate7Test_sources2 new file mode 100644 index 00000000..e69de29b diff --git a/system/t06_publish/update.py b/system/t06_publish/update.py index 8516ae1a..8b39fbbb 100644 --- a/system/t06_publish/update.py +++ b/system/t06_publish/update.py @@ -210,3 +210,51 @@ class PublishUpdate6Test(BaseTest): ] runCmd = "aptly publish update maverick" expectedCode = 1 + + +class PublishUpdate7Test(BaseTest): + """ + publish update: multiple components, add some packages + """ + fixtureCmds = [ + "aptly repo create repo1", + "aptly repo create repo2", + "aptly repo add repo1 ${files}/pyspi_0.6.1-1.3.dsc", + "aptly repo add repo2 ${files}/libboost-program-options-dev_1.49.0.1_i386.deb", + "aptly publish repo -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -distribution=maverick -component=main,contrib repo1 repo2", + "aptly repo add repo1 ${files}/pyspi-0.6.1-1.3.stripped.dsc", + ] + runCmd = "aptly publish update -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec maverick" + gold_processor = BaseTest.expand_environ + + def check(self): + super(PublishUpdate7Test, self).check() + + self.check_exists('public/dists/maverick/InRelease') + self.check_exists('public/dists/maverick/Release') + self.check_exists('public/dists/maverick/Release.gpg') + + self.check_exists('public/dists/maverick/main/binary-i386/Packages') + self.check_exists('public/dists/maverick/main/binary-i386/Packages.gz') + self.check_exists('public/dists/maverick/main/binary-i386/Packages.bz2') + self.check_exists('public/dists/maverick/main/source/Sources') + self.check_exists('public/dists/maverick/main/source/Sources.gz') + self.check_exists('public/dists/maverick/main/source/Sources.bz2') + + self.check_exists('public/dists/maverick/contrib/binary-i386/Packages') + self.check_exists('public/dists/maverick/contrib/binary-i386/Packages.gz') + self.check_exists('public/dists/maverick/contrib/binary-i386/Packages.bz2') + + self.check_exists('public/pool/main/p/pyspi/pyspi_0.6.1-1.3.dsc') + self.check_exists('public/pool/main/p/pyspi/pyspi_0.6.1-1.3.diff.gz') + self.check_exists('public/pool/main/p/pyspi/pyspi_0.6.1.orig.tar.gz') + self.check_exists('public/pool/main/p/pyspi/pyspi-0.6.1-1.3.stripped.dsc') + self.check_exists('public/pool/contrib/b/boost-defaults/libboost-program-options-dev_1.49.0.1_i386.deb') + + # verify contents except of sums + self.check_file_contents('public/dists/maverick/main/source/Sources', 'sources', match_prepare=lambda s: "\n".join(sorted(s.split("\n")))) + self.check_file_contents('public/dists/maverick/main/binary-i386/Packages', 'binary', match_prepare=lambda s: "\n".join(sorted(s.split("\n")))) + self.check_file_contents('public/dists/maverick/contrib/source/Sources', 'sources2', match_prepare=lambda s: "\n".join(sorted(s.split("\n")))) + self.check_file_contents('public/dists/maverick/contrib/binary-i386/Packages', 'binary2', match_prepare=lambda s: "\n".join(sorted(s.split("\n")))) + +