Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/poudriere.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/share/poudriere/common.sh12
-rw-r--r--test-ports/overlay/misc/foo/Makefile8
-rw-r--r--test/Makefile1
-rw-r--r--test/bulk-flavor-ignore-all.sh2
-rw-r--r--test/bulk-overlay-all.sh46
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