mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
media-libs/netpbm: fix tests on musl
Apply a patch from upstream to fix one test. Disable the other broken tests on musl. Backport one test from netpbm-11.5.2 to netpbm-11.2.7. Closes: https://bugs.gentoo.org/907295 Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
This commit is contained in:
@@ -0,0 +1,213 @@
|
||||
Backport pnmcolormap2 test from 11.5.x to 11.2.x
|
||||
|
||||
See also https://bugs.gentoo.org/907295
|
||||
|
||||
--- a/test/pnmcolormap2.test
|
||||
+++ b/test/pnmcolormap2.test
|
||||
@@ -5,51 +5,143 @@
|
||||
tmpdir=${tmpdir:-/tmp}
|
||||
map=${tmpdir}/map.ppm
|
||||
|
||||
-echo "Test. Should print 'match' eight times."
|
||||
-# Threshold values (targetN=xx.xx) here were produced by calculating
|
||||
-# the S/N ratio with reduced colors.
|
||||
+echo "Test. Should print 'match' eighteen times."
|
||||
+
|
||||
+# Threshold values (tgtN=xx.xx) were produced by calculating
|
||||
+# the S/N ratio when the original image is compared against a
|
||||
+# reference image with fewer colors than the target output image.
|
||||
|
||||
# colors in following tests / colors for calculating threshold
|
||||
-# 100 / 90
|
||||
-# 200 / 180
|
||||
-# 30 / 25
|
||||
+# 256 / 224
|
||||
+# 128 / 96 -splitspread
|
||||
+# 128 / 108 other
|
||||
+# 64 / 44 -center (default)
|
||||
+# 64 / 48 -splitspread
|
||||
+# 64 / 56 other
|
||||
+
|
||||
+# -center
|
||||
+echo pnmcolormap 256
|
||||
+tgt1=37.19; tgt2=37.86; tgt3=37.77
|
||||
+pnmcolormap 256 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap 128
|
||||
+tgt1=34.46; tgt2=35.61; tgt3=34.97
|
||||
+pnmcolormap 128 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap 64
|
||||
+tgt1=30.30; tgt2=33.10; tgt3=31.74
|
||||
+pnmcolormap 64 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap -meancolor 256
|
||||
+tgt1=38.36; tgt2=38.63; tgt3=38.95
|
||||
+pnmcolormap -meancolor 256 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap -meancolor 128
|
||||
+tgt1=35.86; tgt2=37.17; tgt3=36.65
|
||||
+pnmcolormap -meancolor 128 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap -meancolor 64
|
||||
+tgt1=33.64; tgt2=34.92; tgt3=34.44
|
||||
+pnmcolormap -meancolor 64 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap -meanpixel 256
|
||||
+tgt1=38.40; tgt2=38.65; tgt3=38.90
|
||||
+pnmcolormap -meanpixel 256 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap -meanpixel 128
|
||||
+tgt1=35.75; tgt2=37.13; tgt3=36.69
|
||||
+pnmcolormap -meanpixel 128 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap -meanpixel 64
|
||||
+tgt1=33.75; tgt2=34.79; tgt3=34.53
|
||||
+pnmcolormap -meanpixel 64 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
+
|
||||
+echo pnmcolormap -spreadluminosity 256
|
||||
+tgt1=36.82; tgt2=36.87; tgt3=37.25
|
||||
+pnmcolormap -spreadluminosity 256 testimg.ppm > ${map}
|
||||
+pnmremap -mapfile=${map} testimg.ppm |\
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
+rm ${map}
|
||||
|
||||
-pnmcolormap 100 testimg.ppm > ${map}
|
||||
+echo pnmcolormap -spreadluminosity 128
|
||||
+tgt1=34.61; tgt2=33.40; tgt3=34.66
|
||||
+pnmcolormap -spreadluminosity 128 testimg.ppm > ${map}
|
||||
pnmremap -mapfile=${map} testimg.ppm |\
|
||||
- pnmpsnr -target1=33.42 -target2=35.14 -target3=34.35 testimg.ppm -
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
rm ${map}
|
||||
|
||||
-pnmcolormap -meancolor 100 testimg.ppm > ${map}
|
||||
+echo pnmcolormap -spreadluminosity 64
|
||||
+tgt1=32.35; tgt2=30.23; tgt3=32.35
|
||||
+pnmcolormap -spreadluminosity 64 testimg.ppm > ${map}
|
||||
pnmremap -mapfile=${map} testimg.ppm |\
|
||||
- pnmpsnr -target1=34.91 -target2=36.86 -target3=35.84 testimg.ppm -
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
rm ${map}
|
||||
|
||||
-pnmcolormap -meanpixel 100 testimg.ppm > ${map}
|
||||
+echo pnmcolormap -splitcolorct 256
|
||||
+tgt1=37.55; tgt2=38.37; tgt3=38.04
|
||||
+pnmcolormap -splitcolorct 256 testimg.ppm > ${map}
|
||||
pnmremap -mapfile=${map} testimg.ppm |\
|
||||
- pnmpsnr -target1=34.95 -target2=36.77 -target3=35.81 testimg.ppm -
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
rm ${map}
|
||||
|
||||
-pnmcolormap -spreadluminosity 100 testimg.ppm > ${map}
|
||||
+echo pnmcolormap -splitcolorct 128
|
||||
+tgt1=34.84; tgt2=35.72; tgt3=34.64
|
||||
+pnmcolormap -splitcolorct 128 testimg.ppm > ${map}
|
||||
pnmremap -mapfile=${map} testimg.ppm |\
|
||||
- pnmpsnr -target1=33.71 -target2=32.91 -target3=33.93 testimg.ppm -
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
rm ${map}
|
||||
|
||||
-pnmcolormap -splitcolorct 100 testimg.ppm > ${map}
|
||||
+echo pnmcolormap -splitcolorct 64
|
||||
+tgt1=31.56; tgt2=33.74; tgt3=32.93
|
||||
+pnmcolormap -splitcolorct 64 testimg.ppm > ${map}
|
||||
pnmremap -mapfile=${map} testimg.ppm |\
|
||||
- pnmpsnr -target1=33.97 -target2=35.34 -target3=34.23 testimg.ppm -
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
rm ${map}
|
||||
|
||||
-pnmcolormap -splitspread 100 testimg.ppm > ${map}
|
||||
+echo pnmcolormap -splitspread 256
|
||||
+tgt1=35.18; tgt2=37.26; tgt3=36.17
|
||||
+pnmcolormap -splitspread 256 testimg.ppm > ${map}
|
||||
pnmremap -mapfile=${map} testimg.ppm |\
|
||||
- pnmpsnr -target1=32.98 -target2=35.06 -target3=33.19 testimg.ppm -
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
rm ${map}
|
||||
|
||||
-pnmcolormap 200 testimg.ppm > ${map}
|
||||
+echo pnmcolormap -splitspread 128
|
||||
+tgt1=33.18; tgt2=35.58; tgt3=33.71
|
||||
+pnmcolormap -splitspread 128 testimg.ppm > ${map}
|
||||
pnmremap -mapfile=${map} testimg.ppm |\
|
||||
- pnmpsnr -target1=36.14 -target2=36.87 -target3=36.79 testimg.ppm -
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
rm ${map}
|
||||
|
||||
-pnmcolormap 30 testimg.ppm > ${map}
|
||||
+echo pnmcolormap -splitspread 64
|
||||
+tgt1=31.27; tgt2=33.03; tgt3=30.97
|
||||
+pnmcolormap -splitspread 64 testimg.ppm > ${map}
|
||||
pnmremap -mapfile=${map} testimg.ppm |\
|
||||
- pnmpsnr -target1=28.53 -target2=31.62 -target3=29.99 testimg.ppm -
|
||||
+pnmpsnr -target1=${tgt1} -target2=${tgt2} -target3=${tgt3} testimg.ppm -
|
||||
rm ${map}
|
||||
--- a/test/pnmcolormap2.ok
|
||||
+++ b/test/pnmcolormap2.ok
|
||||
@@ -1,9 +1,37 @@
|
||||
-Test. Should print 'match' eight times.
|
||||
+Test. Should print 'match' eighteen times.
|
||||
+pnmcolormap 256
|
||||
match
|
||||
+pnmcolormap 128
|
||||
match
|
||||
+pnmcolormap 64
|
||||
match
|
||||
+pnmcolormap -meancolor 256
|
||||
match
|
||||
+pnmcolormap -meancolor 128
|
||||
match
|
||||
+pnmcolormap -meancolor 64
|
||||
match
|
||||
+pnmcolormap -meanpixel 256
|
||||
match
|
||||
+pnmcolormap -meanpixel 128
|
||||
+match
|
||||
+pnmcolormap -meanpixel 64
|
||||
+match
|
||||
+pnmcolormap -spreadluminosity 256
|
||||
+match
|
||||
+pnmcolormap -spreadluminosity 128
|
||||
+match
|
||||
+pnmcolormap -spreadluminosity 64
|
||||
+match
|
||||
+pnmcolormap -splitcolorct 256
|
||||
+match
|
||||
+pnmcolormap -splitcolorct 128
|
||||
+match
|
||||
+pnmcolormap -splitcolorct 64
|
||||
+match
|
||||
+pnmcolormap -splitspread 256
|
||||
+match
|
||||
+pnmcolormap -splitspread 128
|
||||
+match
|
||||
+pnmcolormap -splitspread 64
|
||||
match
|
||||
157
media-libs/netpbm/files/netpbm-11.5.2-fix-tests-musl.patch
Normal file
157
media-libs/netpbm/files/netpbm-11.5.2-fix-tests-musl.patch
Normal file
@@ -0,0 +1,157 @@
|
||||
Some tests are broken on musl.
|
||||
|
||||
https://sourceforge.net/p/netpbm/code/4843/
|
||||
pnmindex, ppmtomitsu tests that don't use pnmcolormap
|
||||
|
||||
So far, this only fixed ppmtomitsu.
|
||||
|
||||
See also https://bugs.gentoo.org/907295
|
||||
|
||||
--- a/test/pnmindex.ok
|
||||
+++ b/test/pnmindex.ok
|
||||
@@ -7,12 +7,18 @@
|
||||
3099638253 5290
|
||||
Test 4. Should print 1397700642 3160
|
||||
1397700642 3160
|
||||
-Test 5. Should print 2303488589 28514
|
||||
-2303488589 28514
|
||||
-Test 6. Should print 1706277976 100455
|
||||
-1706277976 100455
|
||||
-Test 7. Should print 801388440 100455
|
||||
+Test 5. Should print 243472565 28514
|
||||
+243472565 28514
|
||||
+Test 6. Should print 801388440 100455
|
||||
801388440 100455
|
||||
+Test 7. Should print 256 twice
|
||||
+256
|
||||
+256
|
||||
+Test 8. Should print 100 twice
|
||||
+100
|
||||
+100
|
||||
+Test 9. Should print match
|
||||
+match
|
||||
Test Invalid
|
||||
Expected failure 1 (no output)
|
||||
Expected failure 2 (no output)
|
||||
--- a/test/pnmindex.test
|
||||
+++ b/test/pnmindex.test
|
||||
@@ -3,6 +3,9 @@
|
||||
# Also requires: pamcat pamscale pbmtext pnmcolormap pnmindex
|
||||
# Also requires: pnminvert pnmquant pnmremap
|
||||
|
||||
+tmpdir=${tmpdir:-/tmp}
|
||||
+pnmindex256_ppm=${tmpdir}/pnmindex256.ppm
|
||||
+
|
||||
echo "Test 1. Should print 3391481002 889"
|
||||
pnmindex maze.pbm | cksum
|
||||
|
||||
@@ -17,18 +20,28 @@
|
||||
pnmindex -size 20 -across=3 testgrid.pbm testgrid.pbm testgrid.pbm \
|
||||
testgrid.pbm testgrid.pbm testgrid.pbm | cksum
|
||||
|
||||
-echo "Test 5. Should print 2303488589 28514"
|
||||
-pnmindex testimg.ppm | cksum
|
||||
+echo "Test 5. Should print 243472565 28514"
|
||||
+pnmindex -noquant testimg.ppm | cksum
|
||||
|
||||
-echo "Test 6. Should print 1706277976 100455"
|
||||
-pnmindex -size 50 -across=2 testimg.ppm testimg.ppm testimg.ppm \
|
||||
- testimg.ppm testimg.ppm testimg.ppm | cksum
|
||||
-
|
||||
-echo "Test 7. Should print 801388440 100455"
|
||||
+echo "Test 6. Should print 801388440 100455"
|
||||
pnmindex -size 50 -across=2 -noquant testimg.ppm testimg.ppm testimg.ppm \
|
||||
- testimg.ppm testimg.ppm testimg.ppm | cksum
|
||||
+ testimg.ppm testimg.ppm testimg.ppm | tee ${pnmindex256_ppm} | cksum
|
||||
|
||||
+echo "Test 7. Should print 256 twice"
|
||||
+pnmindex testimg.ppm | ppmhist -nomap -noheader | wc -l
|
||||
+pnmindex -colors 256 testimg.ppm | ppmhist -nomap -noheader | wc -l
|
||||
|
||||
+echo "Test 8. Should print 100 twice"
|
||||
+pnmindex -colors 100 testimg.ppm | ppmhist -nomap -noheader | wc -l
|
||||
+pnmindex -colors 100 testimg.ppm testimg.ppm | ppmhist -nomap -noheader | wc -l
|
||||
+
|
||||
+
|
||||
+echo "Test 9. Should print match"
|
||||
+pnmindex -size 50 -across=2 -quant -colors=256 testimg.ppm testimg.ppm testimg.ppm \
|
||||
+ testimg.ppm testimg.ppm testimg.ppm |\
|
||||
+ pnmpsnr -rgb -target1=41.31 -target2=40.76 -target3=40.71 ${pnmindex256_ppm} -
|
||||
+
|
||||
+
|
||||
echo "Test Invalid"
|
||||
|
||||
. ${srcdir}/test-invalid.inc
|
||||
--- a/test/ppmtomitsu.ok
|
||||
+++ b/test/ppmtomitsu.ok
|
||||
@@ -1,9 +1,9 @@
|
||||
-Test 0. Should print 458455366 101484
|
||||
-458455366 101484
|
||||
+Test 0. Should print 668243897 101532
|
||||
+668243897 101532
|
||||
Test 1. Should print 3110813682 101562
|
||||
3110813682 101562
|
||||
-Test 2. Should print 4168174994 34399
|
||||
-4168174994 34399
|
||||
+Test 2. Should print 825518840 34209
|
||||
+825518840 34209
|
||||
Test 3. Should print 3201293405 310
|
||||
3201293405 310
|
||||
Test 4. Should print 3354679572 752
|
||||
@@ -10,5 +10,5 @@
|
||||
3354679572 752
|
||||
Test 5. Should print 3999654426 101549
|
||||
3999654426 101549
|
||||
-Test 6. Should print 4201246884 101549
|
||||
-4201246884 101549
|
||||
+Test 6. Should print 3103038403 101549
|
||||
+3103038403 101549
|
||||
--- a/test/ppmtomitsu.test
|
||||
+++ b/test/ppmtomitsu.test
|
||||
@@ -1,31 +1,31 @@
|
||||
#! /bin/sh
|
||||
# This script tests: ppmtomitsu
|
||||
-# Also requires: pnmcolormap pnmremap
|
||||
+# Also requires: pamseq pamdepth
|
||||
|
||||
tmpdir=${tmpdir:-/tmp}
|
||||
-testimg100_ppm=${tmpdir}/testimg100.ppm
|
||||
+testimg216_ppm=${tmpdir}/testimg216.ppm
|
||||
|
||||
-echo "Test 0. Should print 458455366 101484"
|
||||
-# equivalent to: Pnmquant 100 testimg.ppm
|
||||
-pnmcolormap 100 testimg.ppm | pnmremap -nofloyd -mapfile=- testimg.ppm |\
|
||||
- tee ${testimg100_ppm} | cksum
|
||||
+echo "Test 0. Should print 668243897 101532"
|
||||
|
||||
+pamseq 3 5 -tupletype=RGB | pamdepth 255 | pnmremap -nofloyd -mapfile=- testimg.ppm |\
|
||||
+ tee ${testimg216_ppm} | cksum
|
||||
+
|
||||
echo "Test 1. Should print 3110813682 101562"
|
||||
-ppmtomitsu testimg.ppm | cksum
|
||||
+ppmtomitsu testimg.ppm | cksum
|
||||
|
||||
-echo "Test 2. Should print 4168174994 34399"
|
||||
-ppmtomitsu ${testimg100_ppm} | cksum
|
||||
+echo "Test 2. Should print 825518840 34209"
|
||||
+ppmtomitsu ${testimg216_ppm} | cksum
|
||||
|
||||
echo "Test 3. Should print 3201293405 310"
|
||||
-ppmtomitsu testgrid.pbm | cksum
|
||||
+ppmtomitsu testgrid.pbm | cksum
|
||||
|
||||
echo "Test 4. Should print 3354679572 752"
|
||||
-ppmtomitsu -tiny testgrid.pbm | cksum
|
||||
+ppmtomitsu -tiny testgrid.pbm | cksum
|
||||
|
||||
echo "Test 5. Should print 3999654426 101549"
|
||||
-ppmtomitsu -tiny testimg.ppm | cksum
|
||||
+ppmtomitsu -tiny testimg.ppm | cksum
|
||||
|
||||
-echo "Test 6. Should print 4201246884 101549"
|
||||
-ppmtomitsu -tiny ${testimg100_ppm} | cksum
|
||||
+echo "Test 6. Should print 3103038403 101549"
|
||||
+ppmtomitsu -tiny ${testimg216_ppm} | cksum
|
||||
|
||||
-rm ${testimg100_ppm}
|
||||
+rm ${testimg216_ppm}
|
||||
@@ -57,6 +57,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/netpbm-10.86.21-build.patch
|
||||
"${FILESDIR}"/netpbm-11.0.0-misc-deps.patch
|
||||
"${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch
|
||||
"${FILESDIR}"/netpbm-11.2.7-fix-pnmcolormap2-test.patch
|
||||
)
|
||||
|
||||
netpbm_libtype() {
|
||||
@@ -160,10 +161,13 @@ src_prepare() {
|
||||
fi
|
||||
|
||||
# this test requires LC_ALL=en_US.iso88591, not available on musl
|
||||
# ppmpat-random is broken on musl
|
||||
# bug #907295
|
||||
if use elibc_musl; then
|
||||
sed -i \
|
||||
-e 's:pbmtext-iso88591.*::' \
|
||||
test/Test-Order || die
|
||||
-e 's:ppmpat-random.*::' \
|
||||
-i test/Test-Order || die
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/netpbm-10.86.21-build.patch
|
||||
"${FILESDIR}"/netpbm-11.0.0-misc-deps.patch
|
||||
"${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch
|
||||
"${FILESDIR}"/netpbm-11.5.2-fix-tests-musl.patch
|
||||
)
|
||||
|
||||
netpbm_libtype() {
|
||||
@@ -155,9 +156,13 @@ src_prepare() {
|
||||
fi
|
||||
|
||||
# this test requires LC_ALL=en_US.iso88591, not available on musl
|
||||
# ppmpat-random and pnmindex are broken on musl
|
||||
# bug #907295
|
||||
if use elibc_musl; then
|
||||
sed \
|
||||
-e 's:pbmtext-iso88591.*::' \
|
||||
-e 's:ppmpat-random.*::' \
|
||||
-e 's:pnmindex.*::' \
|
||||
-i test/Test-Order || die
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user