diff options
-rwxr-xr-x | src/share/poudriere/common.sh | 12 | ||||
-rw-r--r-- | test-ports/overlay/misc/foo/Makefile | 8 | ||||
-rw-r--r-- | test/Makefile | 1 | ||||
-rw-r--r-- | test/bulk-flavor-ignore-all.sh | 2 | ||||
-rw-r--r-- | test/bulk-overlay-all.sh | 46 |
5 files changed, 63 insertions, 6 deletions
diff --git a/src/share/poudriere/common.sh b/src/share/poudriere/common.sh index 97c05ef0..7b8b2520 100755 --- a/src/share/poudriere/common.sh +++ b/src/share/poudriere/common.sh @@ -6760,11 +6760,13 @@ _listed_ports() { _pget portsdir ${PTNAME} mnt || \ err 1 "Missing mnt metadata for portstree" [ -d "${portsdir}/ports" ] && portsdir="${portsdir}/ports" - _list_ports_dir "${portsdir}" "${PTNAME}" - for o in ${OVERLAYS}; do - _pget portsdir "${o}" mnt - _list_ports_dir "${portsdir}" "${o}" - done + { + _list_ports_dir "${portsdir}" "${PTNAME}" + for o in ${OVERLAYS}; do + _pget portsdir "${o}" mnt + _list_ports_dir "${portsdir}" "${o}" + done + } | sort -ud return 0 fi diff --git a/test-ports/overlay/misc/foo/Makefile b/test-ports/overlay/misc/foo/Makefile index b749ab4c..53abb470 100644 --- a/test-ports/overlay/misc/foo/Makefile +++ b/test-ports/overlay/misc/foo/Makefile @@ -4,6 +4,14 @@ PORTNAME= foo DISTVERSION= 20161010 PORTREVISION= 0 PKGNAMESUFFIX= -OVERLAY +FLAVORS= DEFAULT FLAV IGNORED_OVERLAY +FLAVOR?= DEFAULT +.if ${FLAVOR} != DEFAULT && !empty(FLAVORS:M${FLAVOR}) +PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-${FLAVOR} +.endif +.if ${FLAVOR} == IGNORED_OVERLAY +IGNORE= ignored +.endif CATEGORIES= misc MASTER_SITES= # DISTFILES= # diff --git a/test/Makefile b/test/Makefile index ba2884da..db62b996 100644 --- a/test/Makefile +++ b/test/Makefile @@ -41,6 +41,7 @@ TESTS=\ bulk-flavor-metadata-queue-ordering.sh \ bulk-flavor-metadata-queue-ordering-multi-pass.sh \ bulk-flavor-ignore-all.sh \ + bulk-overlay-all.sh \ bulk-no-overlay-specific.sh \ bulk-overlay-specific.sh diff --git a/test/bulk-flavor-ignore-all.sh b/test/bulk-flavor-ignore-all.sh index f12d7a4a..ec40e051 100644 --- a/test/bulk-flavor-ignore-all.sh +++ b/test/bulk-flavor-ignore-all.sh @@ -14,7 +14,7 @@ assert "ports-mgmt/poudriere-devel-IGNORED ports-mgmt/poudriere-devel-IGNORED-an "${IGNOREDPORTS-null}" "IGNOREDPORTS should match" # Assert that skipped ports are right -assert "ports-mgmt/poudriere-devel-dep-IGNORED ports-mgmt/poudriere-devel-dep2-IGNORED" "${SKIPPEDPORTS-null}" "SKIPPEDPORTS should match" +assert "ports-mgmt/poudriere-devel-dep2-IGNORED ports-mgmt/poudriere-devel-dep-IGNORED" "${SKIPPEDPORTS-null}" "SKIPPEDPORTS should match" # Assert the IGNOREd ports are tracked in .poudriere.ports.ignored assert_ignored "${IGNOREDPORTS}" diff --git a/test/bulk-overlay-all.sh b/test/bulk-overlay-all.sh new file mode 100644 index 00000000..30a6c7ae --- /dev/null +++ b/test/bulk-overlay-all.sh @@ -0,0 +1,46 @@ +#! /bin/sh + +ALL=1 +OVERLAYS="overlay" +. common.bulk.sh + +${SUDO} ${POUDRIEREPATH} -e ${POUDRIERE_ETC} bulk -n -CNt \ + -O "${OVERLAYS}" \ + -B "${BUILDNAME}" \ + -j "${JAILNAME}" -p "${PTNAME}" ${SETNAME:+-z "${SETNAME}"} \ + -a +assert 0 $? "Bulk should pass" + +# Assert that we found the right misc/foo +ret=0 +hash_get originspec-pkgname "misc/foo" pkgname || ret=$? +assert 0 "${ret}" "Cannot find pkgname for misc/foo" +assert "foo-OVERLAY-20161010" "${pkgname}" "misc/foo didn't found the overlay version" + +# Assert that IGNOREDPORTS was populated by the framework right. +assert "ports-mgmt/poudriere-devel-IGNORED ports-mgmt/poudriere-devel-IGNORED-and-skipped misc/foo@IGNORED_OVERLAY" \ + "${IGNOREDPORTS-null}" "IGNOREDPORTS should match" + +# Assert that skipped ports are right +assert "ports-mgmt/poudriere-devel-dep2-IGNORED ports-mgmt/poudriere-devel-dep-IGNORED" "${SKIPPEDPORTS-null}" "SKIPPEDPORTS should match" + +# Assert the IGNOREd ports are tracked in .poudriere.ports.ignored +assert_ignored "${IGNOREDPORTS}" + +# Assert that only listed packages are in poudriere.ports.queued as 'listed' +assert_queued "listed" "${LISTPORTS}" + +# Assert the IGNOREd ports are tracked in .poudriere.ports.ignored +assert_ignored "${IGNOREDPORTS}" + +# Assert that SKIPPED ports are right +assert_skipped "${SKIPPEDPORTS}" + +# Assert that all expected dependencies are in poudriere.ports.queued (since +# they do not exist yet) +expand_origin_flavors "${LISTPORTS_NOIGNORED}" expanded_LISTPORTS_NOIGNORED +list_all_deps "${expanded_LISTPORTS_NOIGNORED}" ALL_EXPECTED +assert_queued "" "${ALL_EXPECTED}" + +# Assert stats counts are right +assert_counts |