From 7f30ac8a5bdcb2c518e3a2e73503fee5e4e1ead9 Mon Sep 17 00:00:00 2001 From: Ross Williams Date: Fri, 8 Oct 2021 18:53:10 +0000 Subject: [PATCH] pkgng: add state=latest test Including small filesize out-of-date package from FreeBSD 11 package repository, because FreeBSD 11 is currently EOL. This test might fail at some point in the future if the pkg utility in a FreeBSD version > 14 makes breaking changes that prevents it from installing older package formats. If that occurs, the fix is to replace `files/freebsd-release-manifests-20210413__FreeBSD_11.pkg` with the version of freebsd-release-manifests from the oldest non-breaking release of FreeBSD, and update the references to it in tasks/main.yml accordingly. --- ...release-manifests-20210413__FreeBSD_11.pkg | Bin 0 -> 7244 bytes .../integration/targets/pkgng/tasks/main.yml | 74 ++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 tests/integration/targets/pkgng/files/freebsd-release-manifests-20210413__FreeBSD_11.pkg diff --git a/tests/integration/targets/pkgng/files/freebsd-release-manifests-20210413__FreeBSD_11.pkg b/tests/integration/targets/pkgng/files/freebsd-release-manifests-20210413__FreeBSD_11.pkg new file mode 100644 index 0000000000000000000000000000000000000000..7fb291a8f5cff0ef4aa74b983f36defcdd782842 GIT binary patch literal 7244 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 a0i`&A-~s^NqgZXR#Ao{g000001X)^MsXBWA literal 0 HcmV?d00001 diff --git a/tests/integration/targets/pkgng/tasks/main.yml b/tests/integration/targets/pkgng/tasks/main.yml index c2f887519a..595433692c 100644 --- a/tests/integration/targets/pkgng/tasks/main.yml +++ b/tests/integration/targets/pkgng/tasks/main.yml @@ -109,6 +109,80 @@ - not pkgng_example3_idempotent.changed - not pkgng_example3_stat_after.stat.exists + ## + ## pkgng - example - state=latest for out-of-date package + ## + - name: Install intentionally out-of-date package and upgrade it + # + # NOTE: The out-of-date package provided is from the FreeBSD 11 package repo. + # FreeBSD 11 was EOL at the time of writing, 2021-10-08, so this test + # will only run on FreeBSD major versions > 11. + # + # This test might fail at some point in the + # future if the pkg utility in a FreeBSD version > 14 + # makes breaking changes that prevents it from installing + # older package formats. + # + # If that occurs, the fix is to replace + # `files/freebsd-release-manifests-20210413__FreeBSD_11.pkg` + # with the version of freebsd-release-manifests from the oldest + # non-breaking release of FreeBSD, update the + # references to it in tasks/main.yml accordingly, + # and update the minimum version number for the test, + # immediately below. + # + when: ansible_distribution_version is version('12.0', '>=') + block: + - name: Copy intentionally out-of-date package to testhost + copy: + src: freebsd-release-manifests-20210413__FreeBSD_11.pkg + dest: /tmp/ + follow: yes + + - name: Force-install out-of-date package + command: pkg add -f /tmp/freebsd-release-manifests-20210413__FreeBSD_11.pkg + register: pkgng_example4_prepare + + - name: Check for any available package upgrades (checkmode) + pkgng: + name: '*' + state: latest + check_mode: yes + register: pkgng_example4_wildcard_checkmode + + - name: Check for available package upgrade (checkmode) + pkgng: + name: freebsd-release-manifests + state: latest + check_mode: yes + register: pkgng_example4_checkmode + + - name: Upgrade out-of-date package + pkgng: + name: freebsd-release-manifests + state: latest + register: pkgng_example4 + + - name: Upgrade out-of-date package (idempotent) + pkgng: + name: freebsd-release-manifests + state: latest + register: pkgng_example4_idempotent + + - name: Remove test out-of-date package + pkgng: + name: freebsd-release-manifests + state: absent + + - name: Ensure pkgng upgrades package correctly + assert: + that: + - not pkgng_example4_prepare.failed + - pkgng_example4_wildcard_checkmode.changed + - pkgng_example4_checkmode.changed + - pkgng_example4.changed + - not pkgng_example4_idempotent.changed + ## ## pkgng - example - Install zsh in jail ##