All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] bzip2: Add test suite for bzip2
@ 2020-04-02 11:10 Rahul Kumar
  2020-04-02 22:32 ` [OE-core] " Randy MacLeod
  0 siblings, 1 reply; 6+ messages in thread
From: Rahul Kumar @ 2020-04-02 11:10 UTC (permalink / raw)
  To: openembedded-core; +Cc: Rahul Kumar

[YOCTO #13444]

Signed-off-by: Rahul Kumar <rahulk@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 <rahulk@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 ]
+
+modify run-tests script to write PASS/FAIL as expected by the ptest infrastructure
+
+Signed-off-by: Rahul Kumar <rahulk@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"
+ 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..."
+   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}"
+     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 \
+                   "
 SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \
+           git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests \
            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"
 
 PROVIDES_append_class-native = " bzip2-replacement-native"
 BBCLASSEXTEND = "native nativesdk"
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [OE-core] [PATCH] bzip2: Add test suite for bzip2
  2020-04-02 11:10 [PATCH] bzip2: Add test suite for bzip2 Rahul Kumar
@ 2020-04-02 22:32 ` Randy MacLeod
  2020-04-13 17:22   ` Rahul Kumar
  0 siblings, 1 reply; 6+ messages in thread
From: Randy MacLeod @ 2020-04-02 22:32 UTC (permalink / raw)
  To: Rahul Kumar, openembedded-core

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 <rahulk@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 <rahulk@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 <rahulk@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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] [PATCH] bzip2: Add test suite for bzip2
  2020-04-02 22:32 ` [OE-core] " Randy MacLeod
@ 2020-04-13 17:22   ` Rahul Kumar
  2020-04-13 19:18     ` Randy MacLeod
  0 siblings, 1 reply; 6+ messages in thread
From: Rahul Kumar @ 2020-04-13 17:22 UTC (permalink / raw)
  To: Randy MacLeod, openembedded-core


[-- Attachment #1.1: Type: text/plain, Size: 24287 bytes --]

Hi Randy,

Kindly find the attached bzip2 ptest logs file.
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 <rahulk@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"

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

==========

> + # 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.

==========
> +   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

==========

+   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.

==========

>              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.

==========

> 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.
==========

Let me know if I missed anything here.

*Thanks & Regards,*
Rahul Kumar
Software Engineer,Linux Solutions Engineering
Group,Montavista Software LLC
Email Id: rahulk@mvista.com
<https://plus.google.com/+CodeTwoSoftware>


On Fri, Apr 3, 2020 at 4:02 AM Randy MacLeod <randy.macleod@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 <rahulk@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 <rahulk@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 <rahulk@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
>

[-- Attachment #1.2: Type: text/html, Size: 33376 bytes --]

[-- Attachment #2: ptest-logs.txt --]
[-- Type: text/plain, Size: 25824 bytes --]

root@qemux86-64:~# ptest-runner bzip2
START: ptest-runner
2020-04-13T17:08
BEGIN: /usr/lib/bzip2/ptest
./bzip2 -1  < sample1.ref > sample1.rb2
./bzip2 -2  < sample2.ref > sample2.rb2
./bzip2 -3  < sample3.ref > sample3.rb2
./bzip2 -d  < sample1.bz2 > sample1.tst
./bzip2 -d  < sample2.bz2 > sample2.tst
./bzip2 -ds < sample3.bz2 > sample3.tst
PASS: sample1 compress
PASS: sample2 compress
PASS: sample3 compress
PASS: sample1 decompress
PASS: sample2 decompress
PASS: sample3 decompress
./bzip2-tests/run-tests.sh
Testing bzip2 in directory ./bzip2-tests
Using valgrind: No
Checking md5 sums: Yes
Testing decompression and recompression...

Processing ./bzip2-tests/commons-compress/bla.tar.bz2
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 Decompress
-: OK
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 Recompress 
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 Decompress (small)
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 Md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 Recompress (small)
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/commons-compress/bla.tar.bz2 md5sum Matched
Processing ./bzip2-tests/commons-compress/multiple.bz2
PASS: ./bzip2-tests/commons-compress/multiple.bz2 Decompress
-: OK
PASS: ./bzip2-tests/commons-compress/multiple.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/multiple.bz2 Recompress 
PASS: ./bzip2-tests/commons-compress/multiple.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/commons-compress/multiple.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/multiple.bz2 Decompress (small)
PASS: ./bzip2-tests/commons-compress/multiple.bz2 Md5sum Matched
PASS: ./bzip2-tests/commons-compress/multiple.bz2 Recompress (small)
PASS: ./bzip2-tests/commons-compress/multiple.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/commons-compress/multiple.bz2 md5sum Matched
Processing ./bzip2-tests/commons-compress/bla.xml.bz2
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 Decompress
-: OK
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 Recompress 
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 Decompress (small)
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 Md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 Recompress (small)
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/commons-compress/bla.xml.bz2 md5sum Matched
Processing ./bzip2-tests/commons-compress/zip64support.tar.bz2

bzip2: I/O or other error, bailing out.  Possible reason follows.
bzip2: No space left on device
FAIL: ./bzip2-tests/commons-compress/zip64support.tar.bz2 Decompress
Processing ./bzip2-tests/commons-compress/COMPRESS-131.bz2
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 Decompress
-: OK
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 Recompress 
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 Decompress (small)
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 Md5sum Matched
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 Recompress (small)
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/commons-compress/COMPRESS-131.bz2 md5sum Matched
Processing ./bzip2-tests/commons-compress/bla.txt.bz2
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 Decompress
-: OK
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 Recompress 
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 Decompress (small)
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 Md5sum Matched
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 Recompress (small)
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/commons-compress/bla.txt.bz2 md5sum Matched
Processing ./bzip2-tests/go/regexp/re2-exhaustive.txt.bz2

bzip2: I/O or other error, bailing out.  Possible reason follows.
bzip2: No space left on device
FAIL: ./bzip2-tests/go/regexp/re2-exhaustive.txt.bz2 Decompress
Processing ./bzip2-tests/go/crypto/pss-vect.txt.bz2
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 Decompress
-: OK
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 md5sum Matched
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 Recompress 
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 md5sum Matched
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 Decompress (small)
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 Md5sum Matched
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 Recompress (small)
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/go/crypto/pss-vect.txt.bz2 md5sum Matched
Processing ./bzip2-tests/go/crypto/SigVer.rsp.bz2
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 Decompress
-: OK
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 md5sum Matched
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 Recompress 
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 md5sum Matched
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 Decompress (small)
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 Md5sum Matched
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 Recompress (small)
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/go/crypto/SigVer.rsp.bz2 md5sum Matched
Processing ./bzip2-tests/go/compress/pass-sawtooth.bz2
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 Decompress
-: OK
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 Recompress 
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 Decompress (small)
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 Md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 Recompress (small)
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/go/compress/pass-sawtooth.bz2 md5sum Matched
Processing ./bzip2-tests/go/compress/pass-random1.bz2
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 Decompress
-: OK
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 Recompress 
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 Decompress (small)
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 Md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 Recompress (small)
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/go/compress/pass-random1.bz2 md5sum Matched
Processing ./bzip2-tests/go/compress/random.data.bz2
PASS: ./bzip2-tests/go/compress/random.data.bz2 Decompress
-: OK
PASS: ./bzip2-tests/go/compress/random.data.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/random.data.bz2 Recompress 
PASS: ./bzip2-tests/go/compress/random.data.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/go/compress/random.data.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/random.data.bz2 Decompress (small)
PASS: ./bzip2-tests/go/compress/random.data.bz2 Md5sum Matched
PASS: ./bzip2-tests/go/compress/random.data.bz2 Recompress (small)
PASS: ./bzip2-tests/go/compress/random.data.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/go/compress/random.data.bz2 md5sum Matched
Processing ./bzip2-tests/go/compress/pass-random2.bz2
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 Decompress
-: OK
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 Recompress 
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 Decompress (small)
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 Md5sum Matched
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 Recompress (small)
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/go/compress/pass-random2.bz2 md5sum Matched
Processing ./bzip2-tests/go/compress/e.txt.bz2
PASS: ./bzip2-tests/go/compress/e.txt.bz2 Decompress
-: OK
PASS: ./bzip2-tests/go/compress/e.txt.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/e.txt.bz2 Recompress 
PASS: ./bzip2-tests/go/compress/e.txt.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/go/compress/e.txt.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/e.txt.bz2 Decompress (small)
PASS: ./bzip2-tests/go/compress/e.txt.bz2 Md5sum Matched
PASS: ./bzip2-tests/go/compress/e.txt.bz2 Recompress (small)
PASS: ./bzip2-tests/go/compress/e.txt.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/go/compress/e.txt.bz2 md5sum Matched
Processing ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 Decompress
-: OK
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 Recompress 
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 md5sum Matched
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 Decompress (small)
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 Md5sum Matched
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 Recompress (small)
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/go/compress/Isaac.Newton-Opticks.txt.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/rand.bz2
PASS: ./bzip2-tests/lbzip2/rand.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/rand.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/rand.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/rand.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/rand.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/rand.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/rand.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/rand.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/rand.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/rand.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/32767.bz2
PASS: ./bzip2-tests/lbzip2/32767.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/32767.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/32767.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/32767.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/32767.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/32767.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/32767.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/32767.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/32767.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/32767.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/idx899999.bz2

bzip2: I/O or other error, bailing out.  Possible reason follows.
bzip2: No space left on device
FAIL: ./bzip2-tests/lbzip2/idx899999.bz2 Decompress
Processing ./bzip2-tests/lbzip2/concat.bz2
PASS: ./bzip2-tests/lbzip2/concat.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/concat.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/concat.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/concat.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/concat.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/concat.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/concat.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/concat.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/concat.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/concat.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/codelen20.bz2
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/codelen20.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/incomp-1.bz2
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/incomp-1.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/incomp-2.bz2
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/incomp-2.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/ch255.bz2

bzip2: I/O or other error, bailing out.  Possible reason follows.
bzip2: No space left on device
FAIL: ./bzip2-tests/lbzip2/ch255.bz2 Decompress
Processing ./bzip2-tests/lbzip2/repet.bz2
PASS: ./bzip2-tests/lbzip2/repet.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/repet.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/repet.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/repet.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/repet.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/repet.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/repet.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/repet.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/repet.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/repet.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/fib.bz2
PASS: ./bzip2-tests/lbzip2/fib.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/fib.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/fib.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/fib.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/fib.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/fib.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/fib.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/fib.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/fib.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/fib.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/trash.bz2
PASS: ./bzip2-tests/lbzip2/trash.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/trash.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/trash.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/trash.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/trash.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/trash.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/trash.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/trash.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/trash.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/trash.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/gap.bz2
PASS: ./bzip2-tests/lbzip2/gap.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/gap.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/gap.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/gap.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/gap.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/gap.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/gap.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/gap.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/gap.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/gap.bz2 md5sum Matched
Processing ./bzip2-tests/lbzip2/empty.bz2
PASS: ./bzip2-tests/lbzip2/empty.bz2 Decompress
-: OK
PASS: ./bzip2-tests/lbzip2/empty.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/empty.bz2 Recompress 
PASS: ./bzip2-tests/lbzip2/empty.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/lbzip2/empty.bz2 md5sum Matched
PASS: ./bzip2-tests/lbzip2/empty.bz2 Decompress (small)
PASS: ./bzip2-tests/lbzip2/empty.bz2 Md5sum Matched
PASS: ./bzip2-tests/lbzip2/empty.bz2 Recompress (small)
PASS: ./bzip2-tests/lbzip2/empty.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/lbzip2/empty.bz2 md5sum Matched
Processing ./bzip2-tests/pyflate/765B.bz2
PASS: ./bzip2-tests/pyflate/765B.bz2 Decompress
-: OK
PASS: ./bzip2-tests/pyflate/765B.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/765B.bz2 Recompress 
PASS: ./bzip2-tests/pyflate/765B.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/pyflate/765B.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/765B.bz2 Decompress (small)
PASS: ./bzip2-tests/pyflate/765B.bz2 Md5sum Matched
PASS: ./bzip2-tests/pyflate/765B.bz2 Recompress (small)
PASS: ./bzip2-tests/pyflate/765B.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/pyflate/765B.bz2 md5sum Matched
Processing ./bzip2-tests/pyflate/45MB-fb.bz2

bzip2: I/O or other error, bailing out.  Possible reason follows.
bzip2: No space left on device
FAIL: ./bzip2-tests/pyflate/45MB-fb.bz2 Decompress
Processing ./bzip2-tests/pyflate/45MB-00.bz2

bzip2: I/O or other error, bailing out.  Possible reason follows.
bzip2: No space left on device
FAIL: ./bzip2-tests/pyflate/45MB-00.bz2 Decompress
Processing ./bzip2-tests/pyflate/510B.bz2
PASS: ./bzip2-tests/pyflate/510B.bz2 Decompress
-: OK
PASS: ./bzip2-tests/pyflate/510B.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/510B.bz2 Recompress 
PASS: ./bzip2-tests/pyflate/510B.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/pyflate/510B.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/510B.bz2 Decompress (small)
PASS: ./bzip2-tests/pyflate/510B.bz2 Md5sum Matched
PASS: ./bzip2-tests/pyflate/510B.bz2 Recompress (small)
PASS: ./bzip2-tests/pyflate/510B.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/pyflate/510B.bz2 md5sum Matched
Processing ./bzip2-tests/pyflate/hello-world.bz2
PASS: ./bzip2-tests/pyflate/hello-world.bz2 Decompress
-: OK
PASS: ./bzip2-tests/pyflate/hello-world.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/hello-world.bz2 Recompress 
PASS: ./bzip2-tests/pyflate/hello-world.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/pyflate/hello-world.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/hello-world.bz2 Decompress (small)
PASS: ./bzip2-tests/pyflate/hello-world.bz2 Md5sum Matched
PASS: ./bzip2-tests/pyflate/hello-world.bz2 Recompress (small)
PASS: ./bzip2-tests/pyflate/hello-world.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/pyflate/hello-world.bz2 md5sum Matched
Processing ./bzip2-tests/pyflate/aaa.bz2
PASS: ./bzip2-tests/pyflate/aaa.bz2 Decompress
-: OK
PASS: ./bzip2-tests/pyflate/aaa.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/aaa.bz2 Recompress 
PASS: ./bzip2-tests/pyflate/aaa.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/pyflate/aaa.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/aaa.bz2 Decompress (small)
PASS: ./bzip2-tests/pyflate/aaa.bz2 Md5sum Matched
PASS: ./bzip2-tests/pyflate/aaa.bz2 Recompress (small)
PASS: ./bzip2-tests/pyflate/aaa.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/pyflate/aaa.bz2 md5sum Matched
Processing ./bzip2-tests/pyflate/empty.bz2
PASS: ./bzip2-tests/pyflate/empty.bz2 Decompress
-: OK
PASS: ./bzip2-tests/pyflate/empty.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/empty.bz2 Recompress 
PASS: ./bzip2-tests/pyflate/empty.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/pyflate/empty.bz2 md5sum Matched
PASS: ./bzip2-tests/pyflate/empty.bz2 Decompress (small)
PASS: ./bzip2-tests/pyflate/empty.bz2 Md5sum Matched
PASS: ./bzip2-tests/pyflate/empty.bz2 Recompress (small)
PASS: ./bzip2-tests/pyflate/empty.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/pyflate/empty.bz2 md5sum Matched
Processing ./bzip2-tests/dotnetzip/dancing-color.ps.bz2
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 Decompress
-: OK
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 md5sum Matched
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 Recompress 
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 md5sum Matched
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 Decompress (small)
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 Md5sum Matched
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 Recompress (small)
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/dotnetzip/dancing-color.ps.bz2 md5sum Matched
Processing ./bzip2-tests/dotnetzip/sample1.bz2
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 Decompress
-: OK
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 md5sum Matched
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 Recompress 
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 md5sum Matched
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 Decompress (small)
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 Md5sum Matched
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 Recompress (small)
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/dotnetzip/sample1.bz2 md5sum Matched
Processing ./bzip2-tests/dotnetzip/sample2.bz2
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 Decompress
-: OK
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 md5sum Matched
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 Recompress 
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 Redecompress
-: OK
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 md5sum Matched
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 Decompress (small)
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 Md5sum Matched
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 Recompress (small)
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 Redecompress (small)
-: OK
PASS: ./bzip2-tests/dotnetzip/sample2.bz2 md5sum Matched

!!! 6 .bz files did not decompressed/recompressed correctly.

Testing detection of bad input data...


bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/go/compress/fail-issue5747.bz2.bad during decompress.

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/go/compress/fail-issue5747.bz2.bad during decompress (small)

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/overrun.bz2.bad during decompress.

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/overrun.bz2.bad during decompress (small)

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/crc2.bz2.bad during decompress.

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/crc2.bz2.bad during decompress (small)

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/crc1.bz2.bad during decompress.

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/crc1.bz2.bad during decompress (small)

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/overrun2.bz2.bad during decompress.

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/overrun2.bz2.bad during decompress (small)

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/cve.bz2.bad during decompress.

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/cve.bz2.bad during decompress (small)

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/cve2.bz2.bad during decompress.

bzip2: Data integrity error when decompressing.
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/cve2.bz2.bad during decompress (small)
PASS: Correctly found data integrity errors in ./bzip2-tests/lbzip2/void.bz2.bad during decompress.
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
DURATION: 34
END: /usr/lib/bzip2/ptest
2020-04-13T17:09
STOP: ptest-runner
root@qemux86-64:~# 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] [PATCH] bzip2: Add test suite for bzip2
  2020-04-13 17:22   ` Rahul Kumar
@ 2020-04-13 19:18     ` Randy MacLeod
  2020-04-14  1:48       ` Rahul Kumar
  0 siblings, 1 reply; 6+ messages in thread
From: Randy MacLeod @ 2020-04-13 19:18 UTC (permalink / raw)
  To: Rahul Kumar, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 30989 bytes --]

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 <rahulk@mvista.com 
> <mailto:rahulk@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 
> <http://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 <http://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 
> <http://bzip2_1.0.8.bb> b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb 
> <http://bzip2_1.0.8.bb>
> > index 8e9b779..e8ec5c6 100644
> > --- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb <http://bzip2_1.0.8.bb>
> > +++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb <http://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: rahulk@mvista.com <mailto:rahulk@mvista.com>
> <https://plus.google.com/+CodeTwoSoftware>
>
>
> On Fri, Apr 3, 2020 at 4:02 AM Randy MacLeod 
> <randy.macleod@windriver.com <mailto:randy.macleod@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 <rahulk@mvista.com
>     <mailto:rahulk@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
>     <http://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 <rahulk@mvista.com <mailto:rahulk@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 <rahulk@mvista.com
>     <mailto:rahulk@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
>     <http://bzip2_1.0.8.bb>
>     b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb <http://bzip2_1.0.8.bb>
>     > index 8e9b779..e8ec5c6 100644
>     > --- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
>     <http://bzip2_1.0.8.bb>
>     > +++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
>     <http://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
>     <https://sourceware.org/pub/$%7BBPN%7D/$%7BBPN%7D-$%7BPV%7D.tar.gz> \
>     > +         
>      git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests
>     <http://sourceware.org/git/bzip2-tests.git;name=bzip2-tests> \
>
>     Mention how big this repo is in the long log.
>
>     >              file://configure.ac
>     <http://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


[-- Attachment #2: Type: text/html, Size: 51241 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] [PATCH] bzip2: Add test suite for bzip2
  2020-04-13 19:18     ` Randy MacLeod
@ 2020-04-14  1:48       ` Rahul Kumar
  2020-04-15  0:23         ` Randy MacLeod
  0 siblings, 1 reply; 6+ messages in thread
From: Rahul Kumar @ 2020-04-14  1:48 UTC (permalink / raw)
  To: Randy MacLeod, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 29396 bytes --]

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: rahulk@mvista.com
<https://plus.google.com/+CodeTwoSoftware>


On Tue, Apr 14, 2020 at 12:48 AM Randy MacLeod <randy.macleod@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 <rahulk@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: rahulk@mvista.com
> <https://plus.google.com/+CodeTwoSoftware>
>
>
> On Fri, Apr 3, 2020 at 4:02 AM Randy MacLeod <randy.macleod@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 <rahulk@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 <rahulk@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 <rahulk@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
>
>

[-- Attachment #2: Type: text/html, Size: 51949 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] [PATCH] bzip2: Add test suite for bzip2
  2020-04-14  1:48       ` Rahul Kumar
@ 2020-04-15  0:23         ` Randy MacLeod
  0 siblings, 0 replies; 6+ messages in thread
From: Randy MacLeod @ 2020-04-15  0:23 UTC (permalink / raw)
  To: Rahul Kumar, openembedded-core

On 2020-04-13 9:48 p.m., Rahul Kumar wrote:
> 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?

It's your call but I'd like to see:
    Upstream-Status: Submitted.

as per:
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status

Submitted [where]
   - Submitted to upstream, waiting approval
   - Optionally include where it was submitted,
        such as the author, mailing list, etc.
> Or
> Do you have any idea how to submit the patch for bzip2-test repo.

No, I don't. If there's no answer, ping me here and we'll see if
someone can find a connection to the upstream developer(s).

../Randy

> 
> *Thanks & Regards,*
> Rahul Kumar
> Software Engineer,Linux Solutions Engineering
> Group,Montavista Software LLC
> Email Id: rahulk@mvista.com <mailto:rahulk@mvista.com>
> <https://plus.google.com/+CodeTwoSoftware>


-- 
# Randy MacLeod
# Wind River Linux

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-04-15  0:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-02 11:10 [PATCH] bzip2: Add test suite for bzip2 Rahul Kumar
2020-04-02 22:32 ` [OE-core] " Randy MacLeod
2020-04-13 17:22   ` Rahul Kumar
2020-04-13 19:18     ` Randy MacLeod
2020-04-14  1:48       ` Rahul Kumar
2020-04-15  0:23         ` Randy MacLeod

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.