Skip to content

Commit

Permalink
media-libs/netpbm: rework how we skip tests of disabled tools
Browse files Browse the repository at this point in the history
  • Loading branch information
vapier committed Nov 27, 2016
1 parent 71b2e0c commit 40ba0e1
Show file tree
Hide file tree
Showing 2 changed files with 158 additions and 44 deletions.
179 changes: 158 additions & 21 deletions media-libs/netpbm/files/netpbm-10.76.00-test.patch
Original file line number Diff line number Diff line change
@@ -1,22 +1,159 @@
https://bugs.gentoo.org/450530
automatically skip tests of disabled tools

we disable fiascotopnm all the time, so delete the test too

--- a/test/all-in-place.test
+++ b/test/all-in-place.test
@@ -53,7 +53,6 @@ ordinary_testprogs="\
ddbugtopbm \
escp2topbm \
eyuvtoppm \
- fiascotopnm \
fitstopnm \
fstopgm \
g3topbm \
--- a/test/Test-Order
+++ b/test/Test-Order
@@ -153,5 +153,4 @@

# Round-trip tests : lossy converters

-fiasco-roundtrip.test
yuv-roundtrip.test
--- GNUmakefile
+++ GNUmakefile
@@ -455,6 +455,17 @@ deb:
.PHONY: check-package
.PHONY: check-install

+# Variables from the make env we pass down to the test scripts.
+CHECK_VARS = \
+ BUILDDIR=$(BUILDDIR) \
+ RGBDEF=$(RGBDEF) \
+ BUILD_FIASCO=$(BUILD_FIASCO) \
+ JASPERLIB="$(JASPERLIB)" \
+ JBIGLIB="$(JBIGLIB)" \
+ JPEGLIB="$(JPEGLIB)" \
+ TIFFLIB="$(TIFFLIB)" \
+ URTLIB="$(URTLIB)"
+
# Test files in source tree.

check-tree : BUILDBINDIRS :=./analyzer \
@@ -525,10 +536,10 @@ resultdir-backup: FORCE

check-tree: $(TESTRANDOM) resultdir-backup
cd $(RESULTDIR); \
+ $(CHECK_VARS) \
CHECK_TYPE=tree \
- PBM_TEST_PATH=$(PBM_TEST_PATH) BUILDDIR=$(BUILDDIR) \
+ PBM_TEST_PATH=$(PBM_TEST_PATH) \
LD_LIBRARY_PATH=$(PBM_LIBRARY_PATH):${LD_LIBRARY_PATH} \
- RGBDEF=$(RGBDEF) \
$(SRCDIR)/test/Execute-Tests 2>&1

# Execute-Tests needs to know BUILDDIR in order to locate testrandom.
@@ -545,19 +556,18 @@ check: check-package

check-package: $(TESTRANDOM) resultdir-backup
cd $(RESULTDIR); \
+ $(CHECK_VARS) \
CHECK_TYPE=package \
- PBM_TEST_PATH=$(PBM_TEST_PATH) BUILDDIR=$(BUILDDIR) \
+ PBM_TEST_PATH=$(PBM_TEST_PATH) \
LD_LIBRARY_PATH=$(PBM_LIBRARY_PATH):${LD_LIBRARY_PATH} \
- RGBDEF=$(RGBDEF) \
$(SRCDIR)/test/Execute-Tests 2>&1


# Check after install
check-install: $(TESTRANDOM) resultdir-backup
cd $(RESULTDIR); \
+ $(CHECK_VARS) \
CHECK_TYPE=install \
- BUILDDIR=$(BUILDDIR) \
- RGBDEF=$(RGBDEF) \
$(SRCDIR)/test/Execute-Tests 2>&1


--- test/all-in-place.test
+++ test/all-in-place.test
@@ -367,11 +367,49 @@ ordinary_testprogs="\
zeisstopnm \
"

+enabled_testprog() {
+ case $1 in
+ fiascotopnm|\
+ pnmtofiasco)
+ [ "${BUILD_FIASCO}" = "N" ] && return 1 ;;
+
+ jpeg2ktopam|\
+ pamtojpeg2k)
+ [ "${JASPERLIB}" = "NONE" ] && return 1 ;;
+
+ jbigtopnm|\
+ pnmtojbig)
+ [ "${JBIGLIB}" = "NONE" ] && return 1 ;;
+
+ jpegtopnm|\
+ pnmtojpeg|\
+ ppmtojpeg)
+ [ "${JPEGLIB}" = "NONE" ] && return 1 ;;
+
+ pamtotiff|\
+ pnmtotiffcmyk|\
+ tifftopnm)
+ [ "${TIFFLIB}" = "NONE" ] && return 1 ;;
+
+ pnmtorle|\
+ rletopnm)
+ [ "${URTLIB}" = "NONE" ] && return 1 ;;
+ esac
+
+ return 0
+}
+
# The string "fiascotopnm" has to be filtered out by egrep for fiascotopnm
# has a slightly different version report format.

for i in $ordinary_testprogs
do
+ # Stub out programs that aren't built.
+ if ! enabled_testprog "$i"; then
+ echo "$i: ok"
+ continue
+ fi
+
$i --version 2>&1 | \
egrep -v -e fiascotopnm -e \
"(Using libnetpbm|Compiled|(BSD|SYSV|MSDOS|AMIGA) defined|RGB_?ENV=)" \
--- test/fiasco-roundtrip.test
+++ test/fiasco-roundtrip.test
@@ -2,6 +2,10 @@
# This script tests: pnmtofiasco fiascotopnm
# Also requires: pnmpad

+if [ "${BUILD_FIASCO}" = "N" ]; then
+ exit 80
+fi
+
# Should print 215556145 102615

pnmpad --black --bottom 1 --left 1 testimg.ppm | \
--- test/jbig-roundtrip.test
+++ test/jbig-roundtrip.test
@@ -2,6 +2,9 @@
# This script tests: pnmtojbig jbigtopnm
# Also requires: pamchannel pamtopnm

+if [ "${JBIGLIB}" = "NONE" ]; then
+ exit 80
+fi

# Test 1. Should print 2425386270 41
pnmtojbig testgrid.pbm | jbigtopnm | cksum
--- test/tiff-roundtrip.test
+++ test/tiff-roundtrip.test
@@ -2,6 +2,9 @@
# This script tests: pamtotiff tifftopnm
# Also requires:

+if [ "${TIFFLIB}" = "NONE" ]; then
+ exit 80
+fi

# Failure message
## Second test fails if Netpbm was built without the flate library
--- test/utahrle-roundtrip.test
+++ test/utahrle-roundtrip.test
@@ -2,6 +2,9 @@
# This script tests: pnmtorle rletopnm
# Also requires: pamchannel pamtopnm

+if [ "${URTLIB}" = "NONE" ]; then
+ exit 80
+fi

#Test 1. Should produce 1571496937 33838, cksum of testimg.red
pamchannel -infile=testimg.ppm -tupletype="GRAYSCALE" 0 | pamtopnm | \
23 changes: 0 additions & 23 deletions media-libs/netpbm/netpbm-10.76.00.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -60,29 +60,6 @@ src_prepare() {
sed -i '/SUPPORT_SUBDIRS/s:urt::' GNUmakefile || die
rm -r urt converter/other/jbig/libjbig converter/other/jpeg2000/libjasper || die

# disable certain tests based on active USE flags
local del=(
$(usex jbig '' 'jbigtopnm pnmtojbig jbig-roundtrip')
$(usex rle '' 'utahrle-roundtrip')
$(usex tiff '' 'tiff-roundtrip')
)
if [[ ${#del[@]} -gt 0 ]] ; then
sed -i -r $(printf -- ' -e /%s.test/d' "${del[@]}") test/Test-Order || die
fi
del=(
pnmtofiasco fiascotopnm # We always disable fiasco
$(usex jpeg '' 'jpegtopnm pnmtojpeg ppmtojpeg')
$(usex jbig '' 'jbigtopnm pnmtojbig')
$(usex jpeg2k '' 'jpeg2ktopam pamtojpeg2k')
$(usex rle '' 'pnmtorle rletopnm')
$(usex tiff '' 'pamtotiff pnmtotiff pnmtotiffcmyk tifftopnm')
)
if [[ ${#del[@]} -gt 0 ]] ; then
sed -i -r $(printf -- ' -e s/\<%s\>(:.ok)?//' "${del[@]}") \
test/{all-in-place,legacy-names}.{ok,test} || die
sed -i '/^$/d' test/{all-in-place,legacy-names}.ok || die
fi

# take care of the importinc stuff ourselves by only doing it once
# at the top level and having all subdirs use that one set #149843
sed -i \
Expand Down

0 comments on commit 40ba0e1

Please sign in to comment.