summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/ebuild4
-rwxr-xr-xbin/ebuild.sh3
2 files changed, 6 insertions, 1 deletions
diff --git a/bin/ebuild b/bin/ebuild
index 55bb0fb81..f5c8d1f69 100755
--- a/bin/ebuild
+++ b/bin/ebuild
@@ -126,6 +126,10 @@ def discard_digests(myebuild, mysettings, mydbapi):
for arg in pargs:
try:
tmpsettings = portage.config(clone=portage.settings)
+ if arg == "test" and not "test" in tmpsettings.features:
+ print "Forcing test."
+ tmpsettings["EBUILD_FORCE_TEST"] = "1"
+ tmpsettings.backupenv["EBUILD_FORCE_TEST"] = "1"
if arg == "digest" and force:
discard_digests(ebuild, tmpsettings, portage.portdb)
a = portage.doebuild(ebuild, arg, portage.root, tmpsettings,
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 1a9381682..5abc44bf9 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1010,6 +1010,7 @@ dyn_compile() {
}
dyn_test() {
+ [ "${EBUILD_FORCE_TEST}" == "1" ] && rm -f "${PORTAGE_BUILDDIR}/.tested"
[ "$(type -t pre_src_test)" == "function" ] && qa_call pre_src_test
if [ "${PORTAGE_BUILDDIR}/.tested" -nt "${WORKDIR}" ]; then
vecho ">>> It appears that ${PN} has already been tested; skipping."
@@ -1020,7 +1021,7 @@ dyn_test() {
if [ -d "${S}" ]; then
cd "${S}"
fi
- if ! hasq test $FEATURES; then
+ if ! hasq test $FEATURES && [ "${EBUILD_FORCE_TEST}" != "1" ]; then
vecho ">>> Test phase [not enabled]: ${CATEGORY}/${PF}"
elif hasq test $RESTRICT; then
ewarn "Skipping make test/check due to ebuild restriction."