Hi Randy, Thanks for your feedback. As per your suggestion,I am working on that.
currently my patch has Upstream-Status: Inappropriate. Since I am not aware of the patch submission process on bzip2, I posted a query on bzip2 mailing list (2 days back) but I did not get any response from there. If they are not responding, in this case shall i keep Upstream-Status: Inappropriate and send the v2 to oe-core Or should i wait for his response? Or Do you have any idea how to submit the patch for bzip2-test repo. *Thanks & Regards,* Rahul Kumar Software Engineer,Linux Solutions Engineering Group,Montavista Software LLC Email Id: rah...@mvista.com <https://plus.google.com/+CodeTwoSoftware> On Tue, Apr 14, 2020 at 12:48 AM Randy MacLeod <randy.macl...@windriver.com> wrote: > On 2020-04-13 1:22 p.m., Rahul Kumar wrote: > > Hi Randy, > > Kindly find the attached bzip2 ptest logs file. > > Hi Rahul, > > Most or even all of the tests that fail are due to: > > bzip2: No space left on device > > For a [de]compression utility ptest suite, it's certainly reasonable > to add extra space to the test image: > > https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-IMAGE_ROOTFS_EXTRA_SPACE > > Make note of what how much extra space is needed in your commit log since > we don't have a way for ptests to declare this and for it to be added > automatically. > > It would also be really nice to see a summary of your ptest result > in the long log. For example in my recent update to rsyslog in meta-oe: > 1ec13d7d9 rsyslog: 8.1911.0 -> 8.2002.0 > ... > > On qemux86-64/kvm the ptest results with extra filesystem > space and a timeout of 800 seconds are: > 1911 2002 > TOTAL: 389 408 > PASS: 339 357 > SKIP: 39 39 > XFAIL: 0 0 > FAIL: 11 12 > XPASS: 0 0 > ERROR: 0 0 > > I probably should have listed the extra space used! oops. :) > > I answered your Question here . > Kindly take a look and feel free to point out if i am wrong at any place > and let me know if i missed anything. > ========== > > + > > +modify run-tests script to write PASS/FAIL as expected by the ptest > infrastructure > > + > > +Signed-off-by: Rahul Kumar <rah...@mvista.com> > > +--- > > + run-tests.sh | 83 > +++++++++++++++++++++++++++++++----------------------------- > > + 1 file changed, 43 insertions(+), 40 deletions(-) > > + > > +diff --git a/run-tests.sh b/run-tests.sh > > +index 1ba8c27..1eff62a 100755 > > +--- a/run-tests.sh > > ++++ b/run-tests.sh > > +@@ -10,7 +10,7 @@ > > + VALGRIND="valgrind" > > + VALGRIND_ARGS="-q --error-exitcode=9" > > + BZIP2="bzip2" > > +-TESTS_DIR="." > > ++TESTS_DIR="./bzip2-tests" > > Can you explain why you did this? Maybe upstream would accept it ? > > Ans: > we need to parse the TEST_DIR Path because we are running runtest.sh > script outside the bzip2-tests directory. > But I figured out a more convenient way for this. > I will parse the TEST_DIR path during running the runscript.sh. > > I can implement this by adding below line in makefile.am file. > ./bzip2-tests/run-tests.sh --tests-dir="$(PWD)/bzip2-tests" > > Ah good. > > > In Next version of patch I will implement it. > > =========== > > > + IGNORE_MD5=0 > > + > > + for i in "$@" > > +@@ -40,21 +40,21 @@ case $i in > > + esac > > + done > > + > > +-if ! type "valgrind" > /dev/null; then > > ++if ! type "valgrind" > /dev/null 2>&1; then > > + VALGRIND="" > > + VALGRIND_ARGS="" > > + fi > > Explanation: > > if ! type "valgrind" > /dev/null; > suppose if valgrind is not present in my image at that time it is > showing > ./bzip2-tests/run-tests.sh: line 43: type: valgrind: not found > > Since we are displaying a message in script that valgrind is used or > not. > > So i redirect the output > BY Modifying this line with "if ! type "valgrind" > /dev/null 2>&1" > > ========== > > > + echo "Testing ${BZIP2} in directory ${TESTS_DIR}" > > + if [ "$VALGRIND" != "" ]; then > > +- echo " using valgrind" > > ++ echo "Using valgrind: Yes" > > + else > > +- echo " NOT using valgrind" > > ++ echo "Using valgrind: No" > > + fi > > + if [[ ${IGNORE_MD5} -eq 0 ]]; then > > +- echo " checking md5 sums" > > ++ echo "Checking md5 sums: Yes" > > + else > > +- echo " NOT checking md5 sums" > > ++ echo "Checking md5 sums: No" > > + fi > > + > > Explanation: > I Simply modified valgrind and md5sum messages with Yes/No > > I is worth seeing if upstream will accept the change, IMO. > > > ========== > > > + # Remove any left over tesfilecopies from previous runs first. > > +@@ -76,16 +76,16 @@ while IFS= read -r -d '' bzfile; do > > + echo "Processing ${bzfile}" > > + > > + # Decompress it. > > +- echo " Decompress..." > > ++ # echo " Decompress..." > > Explanation: > Initially for each file It is printing Decompress... > I think which is not required to display in ptest logs so i comment it out. > > Does it cause a problem? > We try to minimize our changes so if it's just aesthetic, don't change it. > > > ========== > > + if [[ ${IGNORE_MD5} -ne 1 ]]; then > > +- md5sum --check --status ${md5file} < ${file} \ > > +- || { echo "!!! md5sum doesn't match decompressed file"; > > ++ md5sum -c ${md5file} < ${file} && { echo "PASS: ${bzfile} md5sum > Matched"; } \ > > ++ || { echo "FAIL: ${bzfile} md5sum Matched"; > > + badtests=("${badtests[@]}" $"${file} md5sum doesn't match") > > + nogood=$[${nogood}+1]; conti > > Explanation: > for md5sum there is no short form option for --status option. > use of --status is "don't output anything, status code shows success" > > md5sum -c ${md5file} < ${copy} > so i removed the --status option due to this below line is coming in ptest > log > -: OK > > The discrete md5sum doesn't have a short form of --status and > > busybox md5sum only supports '-s'; that's a shame. > > I guess we'd need to drop the argument for now but > this is another case where perhaps upstream bzip2 will > accommodate our desire to run the tests with busybox so > it would be nice if you could ask and track the upstream status. > > > > ========== > > + echo "Bad results, look for !!! in the logs above" > + printf ' - %s\n' "${badtests[@]}" > +- exit 1 > + fi > +-- > > Explanation: > if some test failed then script is returning with exit 1 status due to > this at the end of ptest below message is printing > make: *** [Makefile:14: runtest] Error 1 > > logs wil looks like below if script returning with exit 1 status > > PASS: Correctly found data integrity errors in > ./bzip2-tests/lbzip2/void.bz2.bad during decompress (small) > > Correctly found all bad file data integrity errors. > > Bad results, look for !!! in the logs above > - ./bzip2-tests/commons-compress/zip64support.tar.bz2 bad decompress > result > - ./bzip2-tests/go/regexp/re2-exhaustive.txt.bz2 bad decompress result > - ./bzip2-tests/lbzip2/idx899999.bz2 bad decompress result > - ./bzip2-tests/lbzip2/ch255.bz2 bad decompress result > - ./bzip2-tests/pyflate/45MB-fb.bz2 bad decompress result > - ./bzip2-tests/pyflate/45MB-00.bz2 bad decompress result > make: *** [Makefile:14: runtest] Error 1 > > ERROR: Exit status is 512 > DURATION: 31 > END: /usr/lib/bzip2/ptest > 2020-04-13T16:05 > STOP: ptest-runner > root@qemux86-64:~# > > To avoid "make: *** [Makefile:14: runtest] Error 1" messgae > I removed exit 1 line from the script. > May be i am wrong please suggest me i should keep it or remove. > > > I this it's useful information and as long as when you add > additional filesystem space and the test all pass then we > don't need to make the failure cases look nice! ;-) > > > ========== > > > file://configure.ac;subdir=${BP} \ > > file://Makefile.am;subdir=${BP} \ > > file://run-ptest \ > > + > > file://0001-bzip2-modify-run-tests-script.patch;patchdir=${WORKDIR}/git > \ > > " > > + > > SRC_URI[md5sum] = "67e051268d0c475ea773822f7500d0e5" > > SRC_URI[sha256sum] = > "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269" > > > > +SRCREV_bzip2-tests = "8b0198efda1603cf81fa2c7a9bb673dd22ae1661" > > + > > UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/" > > > > PACKAGES =+ "libbz2" > > @@ -39,7 +48,7 @@ do_install_ptest () { > > > > FILES_libbz2 = "${libdir}/lib*${SOLIBS}" > > > > -RDEPENDS_${PN}-ptest += "make" > > +RDEPENDS_${PN}-ptest += "make bash" > > Does it really depend on bash or just a POSIX compliant /bin/sh ? > If it requires bash, how bad are the scripts and can they be made > POSIX compliant with the help of: > https://www.shellcheck.net/ > Ans. > This script is based on array concept and Arrays are not part of the POSIX > sh specification. > so i think we should go with bash script. > > > Maybe just add a comment above the RDEPENDS so that if > someone wants to get rid of the bash dependency, they know > where to start. Ideally upstream would get rid of the bashisms > but their run-tests.sh does use: #!/bin/bash so this is fine for now. > > > ========== > > > diff --git a/meta/recipes-extended/bzip2/bzip2/Makefile.am > b/meta/recipes-extended/bzip2/bzip2/Makefile.am > > index dcf6458..f917b23 100644 > > --- a/meta/recipes-extended/bzip2/bzip2/Makefile.am > > +++ b/meta/recipes-extended/bzip2/bzip2/Makefile.am > > @@ -46,6 +46,7 @@ runtest: > > else echo "FAIL: sample2 decompress"; fi > > @if cmp sample3.tst sample3.ref; then echo "PASS: sample3 decompress";\ > > else echo "FAIL: sample3 decompress"; fi > > + ./bzip2-tests/run-tests.sh > > > > install-ptest: > > sed -n '/^runtest:/,/^install-ptest:/{/^install-ptest:/!p}' \ > > @@ -56,6 +57,7 @@ install-ptest: > > cp $(srcdir)/sample1.bz2 $(DESTDIR)/ > > cp $(srcdir)/sample2.bz2 $(DESTDIR)/ > > cp $(srcdir)/sample3.bz2 $(DESTDIR)/ > > + cp -rf $(srcdir)/../git $(DESTDIR)/bzip2-tests > > ln -s $(bindir)/bzip2 $(DESTDIR)/bzip2 > > > > install-exec-hook: > > diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb > b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb > > index 8e9b779..e8ec5c6 100644 > > --- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb > > +++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb > > @@ -5,16 +5,25 @@ LZ77/LZ78-based compressors, and approaches the > performance of the PPM family of > > HOMEPAGE = "https://sourceware.org/bzip2/" > > SECTION = "console/utils" > > LICENSE = "bzip2" > > -LIC_FILES_CHKSUM = > "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664" > > - > > +LIC_FILES_CHKSUM = " > file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 > \ > > + > file://../git/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \ > > + > file://../git/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f \ > > + > file://../git/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f > \ > > + > file://../git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 > \ > > What's all this additional license info about? > Please explain in when replying as well as in the long log. > > Ans: > I don't have much knowledge about the licensing part so I populated all > the licenses which are present in the bzip2-tests source code. > can you please provide any suggestions on what basis we should take the > decision of the license population. > > You should use: > > LICENSE = "GPLv3+" > > since the only code is the run-tests.sh script and that > the license given in the script. > > The rest of the LICENSE information in the git repo seems > to have been copied from the packages where these compressed > _data_ files came from. Since we are not compiling any source, > we only need to have a LIC_FILES_CHKSUM entry for run-tests.sh. > We are simply using the compressed files as data so we can > ignore the license info. Ideally the upstream repo would remove > the misleading files but IANAL and I don't think it's a problem > for us really. It's probably worth explaining this in a sentence or > two in your commit log. > > > ========== > > Let me know if I missed anything here. > > I think there are a few changes to make for a v2. > > Hopefully you will write a commit log that explains the > changes that we have agreed to make. The idea is > that someone should be able to read the long log and > have a general idea of what the code changes are. > > Thanks for working on this ptest addition, it looks like it's > heading in the right direction and almost done now. > > ../Randy > > > *Thanks & Regards,* > Rahul Kumar > Software Engineer,Linux Solutions Engineering > Group,Montavista Software LLC > Email Id: rah...@mvista.com > <https://plus.google.com/+CodeTwoSoftware> > > > On Fri, Apr 3, 2020 at 4:02 AM Randy MacLeod <randy.macl...@windriver.com> > wrote: > >> On 2020-04-02 7:10 a.m., Rahul Kumar wrote: >> > [YOCTO #13444] >> >> Thanks for contributing this work Rahul. >> >> It would be good if the long log explained the changes made >> in a sentence or two. I've made some comments and asked >> some questions inline below. I may have gone overboard but >> I hope you get the idea that we'd like to see not just the >> changes but the reason for the changes. >> >> Also, can you present the results of running: >> # ptest-runner bzip2 >> on qemux86-64 with kvm enabled in the long log? >> If there are tests that fail or are skipped >> comment on that even it it's to say that you don't know what is wrong. >> >> > >> > Signed-off-by: Rahul Kumar <rah...@mvista.com> >> > --- >> > .../bzip2/0001-bzip2-modify-run-tests-script.patch | 220 >> +++++++++++++++++++++ >> > meta/recipes-extended/bzip2/bzip2/Makefile.am | 2 + >> > meta/recipes-extended/bzip2/bzip2_1.0.8.bb | 15 +- >> > 3 files changed, 234 insertions(+), 3 deletions(-) >> > create mode 100644 >> meta/recipes-extended/bzip2/bzip2/0001-bzip2-modify-run-tests-script.patch >> > >> > diff --git >> a/meta/recipes-extended/bzip2/bzip2/0001-bzip2-modify-run-tests-script.patch >> b/meta/recipes-extended/bzip2/bzip2/0001-bzip2-modify-run-tests-script.patch >> > new file mode 100644 >> > index 0000000..8ae3c4e >> > --- /dev/null >> > +++ >> b/meta/recipes-extended/bzip2/bzip2/0001-bzip2-modify-run-tests-script.patch >> > @@ -0,0 +1,220 @@ >> > +From 42e6258485030085285d4b30854bfb94bcf43880 Mon Sep 17 00:00:00 2001 >> > +From: Rahul Kumar <rah...@mvista.com> >> > +Date: Mon, 30 Mar 2020 12:17:00 +0530 >> > +Subject: [PATCH] bzip2: modify run-tests script >> > + >> > +Upstream-Status: Inappropriate [ modify run-tests script for ptest >> infrastructure ] >> >> It seems that some of the changes are to make the tests less verbose and >> to 'tighten-up' the language and formatting used. Upstream might accept >> them, have you checked? If you change the status to Pending I think it >> would be better for now because that would force someone check on the >> progress at some point. >> >> > + >> > +modify run-tests script to write PASS/FAIL as expected by the ptest >> infrastructure >> > + >> > +Signed-off-by: Rahul Kumar <rah...@mvista.com> >> > +--- >> > + run-tests.sh | 83 >> +++++++++++++++++++++++++++++++----------------------------- >> > + 1 file changed, 43 insertions(+), 40 deletions(-) >> > + >> > +diff --git a/run-tests.sh b/run-tests.sh >> > +index 1ba8c27..1eff62a 100755 >> > +--- a/run-tests.sh >> > ++++ b/run-tests.sh >> > +@@ -10,7 +10,7 @@ >> > + VALGRIND="valgrind" >> > + VALGRIND_ARGS="-q --error-exitcode=9" >> > + BZIP2="bzip2" >> > +-TESTS_DIR="." >> > ++TESTS_DIR="./bzip2-tests" >> >> Can you explain why you did this? Maybe upstream would accept it. >> >> > + IGNORE_MD5=0 >> > + >> > + for i in "$@" >> > +@@ -40,21 +40,21 @@ case $i in >> > + esac >> > + done >> > + >> > +-if ! type "valgrind" > /dev/null; then >> > ++if ! type "valgrind" > /dev/null 2>&1; then >> > + VALGRIND="" >> > + VALGRIND_ARGS="" >> > + fi >> > + >> > + echo "Testing ${BZIP2} in directory ${TESTS_DIR}" >> > + if [ "$VALGRIND" != "" ]; then >> > +- echo " using valgrind" >> > ++ echo "Using valgrind: Yes" >> > + else >> > +- echo " NOT using valgrind" >> > ++ echo "Using valgrind: No" >> > + fi >> > + if [[ ${IGNORE_MD5} -eq 0 ]]; then >> > +- echo " checking md5 sums" >> > ++ echo "Checking md5 sums: Yes" >> > + else >> > +- echo " NOT checking md5 sums" >> > ++ echo "Checking md5 sums: No" >> > + fi >> > + >> > + # Remove any left over tesfilecopies from previous runs first. >> > +@@ -76,16 +76,16 @@ while IFS= read -r -d '' bzfile; do >> > + echo "Processing ${bzfile}" >> > + >> > + # Decompress it. >> > +- echo " Decompress..." >> > ++ # echo " Decompress..." >> >> Without an explanation in the long log, I can't tell if this >> comment was removed intentionally or perhaps when you were debugging. >> I expect you have a good reason to remove it but an explaination would >> be helpful. >> >> > + rm -f "${file}" >> > +- ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -k -d -q ${bzfile} \ >> > +- || { echo "!!! bad decompress result $?"; >> > ++ ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -k -d -q ${bzfile} && { echo >> "PASS: ${bzfile} Decompress"; } \ >> > ++ || { echo "FAIL: ${bzfile} Decompress"; >> > + badtests=("${badtests[@]}" $"${bzfile} bad decompress >> result") >> > + nogood=$[${nogood}+1]; continue; } >> > + >> > + if [[ ${IGNORE_MD5} -ne 1 ]]; then >> > +- md5sum --check --status ${md5file} < ${file} \ >> > +- || { echo "!!! md5sum doesn't match decompressed file"; >> > ++ md5sum -c ${md5file} < ${file} && { echo "PASS: ${bzfile} md5sum >> Matched"; } \ >> > ++ || { echo "FAIL: ${bzfile} md5sum Matched"; >> > + badtests=("${badtests[@]}" $"${file} md5sum doesn't match") >> > + nogood=$[${nogood}+1]; continue; } >> > + fi >> > +@@ -93,20 +93,20 @@ while IFS= read -r -d '' bzfile; do >> > + # Compress and decompress a copy >> > + mv "${file}" "${copy}" >> > + rm -f "${bzcopy}" >> > +- echo " Recompress..." >> > +- ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -z -q -s ${copy} \ >> > +- || { echo "!!! bad compress result $?"; >> > ++ # echo " Recompress..." >> > ++ ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -z -q -s ${copy} && { echo >> "PASS: ${bzfile} Recompress "; } \ >> > ++ || { echo "FAIL: ${bzfile} Recompress"; >> > + badtests=("${badtests[@]}" $"${copy} bad result") >> > + nogood=$[${nogood}+1]; continue; } >> > +- echo " Redecompress..." >> > +- ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -d -q -s ${bzcopy} \ >> > +- || { echo "!!! bad (re)decompress result $?"; >> > ++ # echo " Redecompress..." >> > ++ ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -d -q -s ${bzcopy} && { echo >> "PASS: ${bzfile} Redecompress"; } \ >> > ++ || { echo "FAIL: ${bzfile} Redecompress"; >> > + badtests=("${badtests[@]}" $"${bzcopy} bad result") >> > + nogood=$[${nogood}+1]; continue; } >> > + >> > + if [[ ${IGNORE_MD5} -ne 1 ]]; then >> > +- md5sum --check --status ${md5file} < ${copy} \ >> > +- || { echo "!!! md5sum doesn't match (re)decompressed file"; >> > ++ md5sum -c ${md5file} < ${copy} && { echo "PASS: ${bzfile} md5sum >> Matched"; } \ >> > ++ || { echo "FAIL: ${bzfile} md5sum Matched"; >> > + badtests=("${badtests[@]}" $"${copy} md5sum doesn't match") >> > + nogood=$[${nogood}+1]; continue; } >> > + fi >> > +@@ -114,16 +114,16 @@ while IFS= read -r -d '' bzfile; do >> > + rm "${copy}" >> > + >> > + # Now do it all again in "small" mode. >> > +- echo " Decompress (small)..." >> > ++ # echo " Decompress (small)..." >> > + rm -f "${file}" >> > +- ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -k -d -q -s ${bzfile} \ >> > +- || { echo "!!! bad decompress result $?"; >> > ++ ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -k -d -q -s ${bzfile} &&{ >> echo "PASS: ${bzfile} Decompress (small)"; } \ >> > ++ || { echo "FAIL: ${bzfile} Decompress (small)"; >> > + badtests=("${badtests[@]}" $"${bzfile} bad decompress >> result") >> > + nogood=$[${nogood}+1]; continue; } >> > + >> > + if [[ ${IGNORE_MD5} -ne 1 ]]; then >> > +- md5sum --check --status ${md5file} < ${file} \ >> > +- || { echo "!!! md5sum doesn't match decompressed file"; >> > ++ md5sum -c ${md5file} < ${file} > /dev/null 2>&1 && { echo "PASS: >> ${bzfile} Md5sum Matched"; } \ >> > ++ || { echo "FAIL: ${bzfile} Md5sum Matched"; >> > + badtests=("${badtests[@]}" $"${file} md5sum doesn't match") >> > + nogood=$[${nogood}+1]; continue; } >> > + fi >> > +@@ -131,20 +131,20 @@ while IFS= read -r -d '' bzfile; do >> > + # Compress and decompress a copy >> > + mv "${file}" "${copy}" >> > + rm -f "${bzcopy}" >> > +- echo " Recompress (small)..." >> > +- ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -z -q -s ${copy} \ >> > +- || { echo "!!! bad compress result $?"; >> > ++ # echo " Recompress (small)..." >> > ++ ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -z -q -s ${copy} && { echo >> "PASS: ${bzfile} Recompress (small)"; } \ >> > ++ || { echo "FAIL: ${bzfile} Recompress (small)"; >> > + badtests=("${badtests[@]}" $"${copy} bad result") >> > + nogood=$[${nogood}+1]; continue; } >> > +- echo " Redecompress (small)..." >> > +- ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -d -q -s ${bzcopy} \ >> > +- || { echo "!!! bad (re)decompress result $?"; >> > ++ # echo " Redecompress (small)..." >> > ++ ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -d -q -s ${bzcopy} && { echo >> "PASS: ${bzfile} Redecompress (small)"; } \ >> > ++ || { echo "FAIL: ${bzfile} Redecompress (small)"; >> > + badtests=("${badtests[@]}" $"${bzcopy} bad result") >> > + nogood=$[${nogood}+1]; continue; } >> > + >> > + if [[ ${IGNORE_MD5} -ne 1 ]]; then >> > +- md5sum --check --status ${md5file} < ${copy} \ >> > +- || { echo "!!! md5sum doesn't match (re)decompressed file"; >> > ++ md5sum -c ${md5file} < ${copy} && { echo "PASS: ${bzfile} md5sum >> Matched"; } \ >> > ++ || { echo "FAIL: ${bzfile} md5sum : Miss Matched"; >> > + badtests=("${badtests[@]}" $"${copy} md5sum doesn't match") >> > + nogood=$[${nogood}+1]; continue; } >> > + fi >> > +@@ -169,14 +169,14 @@ nobad=0 >> > + badbad=0 >> > + while IFS= read -r -d '' badfile; do >> > + >> > +- echo "Processing ${badfile}" >> > ++ # echo "Processing ${badfile}" >> > + >> > +- echo " Trying to decompress..." >> > ++ # echo " Trying to decompress..." >> > + ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -k -d -q ${badfile} >> > + ret=$? >> > + >> > + if [[ ${ret} -eq 0 ]]; then >> > +- echo "!!! badness not detected" >> > ++ echo "FAIL: badness not detected" >> > + nobad=$[${nobad}+1] >> > + badtests=("${badtests[@]}" $"${badfile} badness not detected") >> > + continue >> > +@@ -185,18 +185,20 @@ while IFS= read -r -d '' badfile; do >> > + # Assumes "normal" badness is detected by exit code 1 or 2. >> > + # A crash or valgrind issue will be reported with something else. >> > + if [[ ${ret} != 1 ]] && [[ ${ret} != 2 ]]; then >> > +- echo "!!! baddness caused baddness in ${BZIP2}" >> > ++ echo "FAIL: baddness caused baddness in ${BZIP2}" >> It's 'badness': >> https://www.merriam-webster.com/thesaurus/badness >> > + badbad=$[${badbad}+1] >> > + badtests=("${badtests[@]}" $"${badfile} badness caused baddness") >> > + continue >> > ++ else >> > ++ echo "PASS: Correctly found data integrity errors in ${badfile} >> during decompress." >> > + fi >> > + >> > +- echo " Trying to decompress (small)..." >> > ++ # echo " Trying to decompress (small)..." >> > + ${VALGRIND} ${VALGRIND_ARGS} ${BZIP2} -k -d -q -s ${badfile} >> > + ret=$? >> > + >> > + if [[ ${ret} -eq 0 ]]; then >> > +- echo "!!! badness not detected" >> > ++ echo "FAIL: badness not detected " >> > + nobad=$[${nobad}+1] >> > + badtests=("${badtests[@]}" $"${badfile} badness not detected") >> > + continue >> > +@@ -205,10 +207,12 @@ while IFS= read -r -d '' badfile; do >> > + # Assumes "normal" badness is detected by exit code 1 or 2. >> > + # A crash or valgrind issue will be reported with something else. >> > + if [[ ${ret} != 1 ]] && [[ ${ret} != 2 ]]; then >> > +- echo "!!! baddness caused baddness in ${BZIP2}" >> > ++ echo "FAIL: baddness caused baddness in ${BZIP2}" >> > + badbad=$[${badbad}+1] >> > + badtests=("${badtests[@]}" $"${badfile} badness caused baddness") >> > + continue >> > ++ else >> > ++ echo "PASS: Correctly found data integrity errors in ${badfile} >> during decompress (small)" >> > + fi >> > + >> > + done < <(find ${TESTS_DIR} -type f -name \*\.bz2.bad -print0) >> > +@@ -234,5 +238,4 @@ if [[ ${results} -eq 0 ]]; then >> > + else >> > + echo "Bad results, look for !!! in the logs above" >> > + printf ' - %s\n' "${badtests[@]}" >> > +- exit 1 >> > + fi >> > +-- >> > +2.7.4 >> > diff --git a/meta/recipes-extended/bzip2/bzip2/Makefile.am >> b/meta/recipes-extended/bzip2/bzip2/Makefile.am >> > index dcf6458..f917b23 100644 >> > --- a/meta/recipes-extended/bzip2/bzip2/Makefile.am >> > +++ b/meta/recipes-extended/bzip2/bzip2/Makefile.am >> > @@ -46,6 +46,7 @@ runtest: >> > else echo "FAIL: sample2 decompress"; fi >> > @if cmp sample3.tst sample3.ref; then echo "PASS: sample3 >> decompress";\ >> > else echo "FAIL: sample3 decompress"; fi >> > + ./bzip2-tests/run-tests.sh >> > >> > install-ptest: >> > sed -n '/^runtest:/,/^install-ptest:/{/^install-ptest:/!p}' \ >> > @@ -56,6 +57,7 @@ install-ptest: >> > cp $(srcdir)/sample1.bz2 $(DESTDIR)/ >> > cp $(srcdir)/sample2.bz2 $(DESTDIR)/ >> > cp $(srcdir)/sample3.bz2 $(DESTDIR)/ >> > + cp -rf $(srcdir)/../git $(DESTDIR)/bzip2-tests >> > ln -s $(bindir)/bzip2 $(DESTDIR)/bzip2 >> > >> > install-exec-hook: >> > diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb >> b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb >> > index 8e9b779..e8ec5c6 100644 >> > --- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb >> > +++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb >> > @@ -5,16 +5,25 @@ LZ77/LZ78-based compressors, and approaches the >> performance of the PPM family of >> > HOMEPAGE = "https://sourceware.org/bzip2/" >> > SECTION = "console/utils" >> > LICENSE = "bzip2" >> > -LIC_FILES_CHKSUM = >> "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664" >> > - >> > +LIC_FILES_CHKSUM = " >> file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 >> \ >> > + >> file://../git/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \ >> > + >> file://../git/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f >> \ >> > + >> file://../git/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f >> \ >> > + >> file://../git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 >> \ >> >> What's all this additional license info about? >> Please explain in when replying as well as in the long log. >> >> > + " >> > SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \ >> > + git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests \ >> >> Mention how big this repo is in the long log. >> >> > file://configure.ac;subdir=${BP} \ >> > file://Makefile.am;subdir=${BP} \ >> > file://run-ptest \ >> > + >> > file://0001-bzip2-modify-run-tests-script.patch;patchdir=${WORKDIR}/git >> \ >> > " >> > + >> > SRC_URI[md5sum] = "67e051268d0c475ea773822f7500d0e5" >> > SRC_URI[sha256sum] = >> "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269" >> > >> > +SRCREV_bzip2-tests = "8b0198efda1603cf81fa2c7a9bb673dd22ae1661" >> > + >> > UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/" >> > >> > PACKAGES =+ "libbz2" >> > @@ -39,7 +48,7 @@ do_install_ptest () { >> > >> > FILES_libbz2 = "${libdir}/lib*${SOLIBS}" >> > >> > -RDEPENDS_${PN}-ptest += "make" >> > +RDEPENDS_${PN}-ptest += "make bash" >> >> Does it really depend on bash or just a POSIX compliant /bin/sh ? >> If it requires bash, how bad are the scripts and can they be made >> POSIX compliant with the help of: >> https://www.shellcheck.net/ >> >> ../Randy >> >> > >> > PROVIDES_append_class-native = " bzip2-replacement-native" >> > BBCLASSEXTEND = "native nativesdk" >> > >> > >> > >> > >> >> >> -- >> # Randy MacLeod >> # Wind River Linux >> > > -- > # Randy MacLeod > # Wind River Linux > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#137204): https://lists.openembedded.org/g/openembedded-core/message/137204 Mute This Topic: https://lists.openembedded.org/mt/72695647/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-