diff mbox series

[2/2] openssh: improve banner ptest failure logging

Message ID 20230911133950.2618970-2-mikko.rapeli@linaro.org
State Accepted, archived
Commit 3230378d651ecc53ff5cac1aaa24f35d5cea8665
Headers show
Series [1/2] openssh: update Upstream-Status to Denied in test logging patch | expand

Commit Message

Mikko Rapeli Sept. 11, 2023, 1:39 p.m. UTC
Log the input and output banner files. Output seems to
contain more lines than input which fails the test but
it's not clear what is in there from the ssh command
stderr. So print them out to dig deeper into the root
cause.

Upstream rejected previous logging patch so they will likely
do the same for this:
https://github.com/openssh/openssh-portable/pull/437

Reference: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15178

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 ...h-log-input-and-output-files-on-erro.patch | 61 +++++++++++++++++++
 .../openssh/openssh_9.4p1.bb                  |  1 +
 2 files changed, 62 insertions(+)
 create mode 100644 meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch

Comments

Alexander Kanavin Sept. 11, 2023, 3:22 p.m. UTC | #1
We can probably output the logs from run-ptest as upstream suggested?
That'd avoid having to carry a rejected patch, even if it can be
removed (maybe) after the issue is fixed.

Alex

On Mon, 11 Sept 2023 at 15:40, Mikko Rapeli <mikko.rapeli@linaro.org> wrote:
>
> Log the input and output banner files. Output seems to
> contain more lines than input which fails the test but
> it's not clear what is in there from the ssh command
> stderr. So print them out to dig deeper into the root
> cause.
>
> Upstream rejected previous logging patch so they will likely
> do the same for this:
> https://github.com/openssh/openssh-portable/pull/437
>
> Reference: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15178
>
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---
>  ...h-log-input-and-output-files-on-erro.patch | 61 +++++++++++++++++++
>  .../openssh/openssh_9.4p1.bb                  |  1 +
>  2 files changed, 62 insertions(+)
>  create mode 100644 meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch
>
> diff --git a/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch b/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch
> new file mode 100644
> index 0000000000..2c14014fed
> --- /dev/null
> +++ b/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch
> @@ -0,0 +1,61 @@
> +From f5a4dacc987ca548fc86577c2dba121c86da3c34 Mon Sep 17 00:00:00 2001
> +From: Mikko Rapeli <mikko.rapeli@linaro.org>
> +Date: Mon, 11 Sep 2023 09:55:21 +0100
> +Subject: [PATCH] regress/banner.sh: log input and output files on error
> +
> +Some test environments like yocto with qemu are seeing these
> +tests failing. There may be additional error messages in the
> +stderr of ssh cloent command. busybox cmp shows this error when
> +first input file has less new line characters then second
> +input file:
> +
> +cmp: EOF on /usr/lib/openssh/ptest/regress/banner.in
> +
> +Logging the full banner.out will show what other error messages
> +are captured in addition of the expected banner.
> +
> +Full log of a failing banner test runs is:
> +
> +run test banner.sh ...
> +test banner: missing banner file
> +test banner: size 0
> +cmp: EOF on /usr/lib/openssh/ptest/regress/banner.in
> +banner size 0 mismatch
> +test banner: size 10
> +test banner: size 100
> +cmp: EOF on /usr/lib/openssh/ptest/regress/banner.in
> +banner size 100 mismatch
> +test banner: size 1000
> +test banner: size 10000
> +test banner: size 100000
> +test banner: suppress banner (-q)
> +FAIL:  banner
> +return value: 1
> +
> +See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15178
> +
> +Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> +---
> + regress/banner.sh | 4 +++-
> + 1 file changed, 3 insertions(+), 1 deletion(-)
> +
> +Upstream-Status: Denied [https://github.com/openssh/openssh-portable/pull/437]
> +
> +diff --git a/regress/banner.sh b/regress/banner.sh
> +index a84feb5a..de84957a 100644
> +--- a/regress/banner.sh
> ++++ b/regress/banner.sh
> +@@ -32,7 +32,9 @@ for s in 0 10 100 1000 10000 100000 ; do
> +       verbose "test $tid: size $s"
> +       ( ${SSH} -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
> +               cmp $OBJ/banner.in $OBJ/banner.out ) || \
> +-              fail "banner size $s mismatch"
> ++              ( verbose "Contents of $OBJ/banner.in:"; cat $OBJ/banner.in; \
> ++                verbose "Contents of $OBJ/banner.out:"; cat $OBJ/banner.out; \
> ++                fail "banner size $s mismatch" )
> + done
> +
> + trace "test suppress banner (-q)"
> +--
> +2.34.1
> +
> diff --git a/meta/recipes-connectivity/openssh/openssh_9.4p1.bb b/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
> index 2c85780e4d..1cf6937038 100644
> --- a/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
> +++ b/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
> @@ -25,6 +25,7 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
>             file://sshd_check_keys \
>             file://add-test-support-for-busybox.patch \
>             file://0001-openssh-regress-Makefile-print-logs-if-test-fails.patch \
> +           file://0001-regress-banner.sh-log-input-and-output-files-on-erro.patch \
>             "
>  SRC_URI[sha256sum] = "3608fd9088db2163ceb3e600c85ab79d0de3d221e59192ea1923e23263866a85"
>
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#187491): https://lists.openembedded.org/g/openembedded-core/message/187491
> Mute This Topic: https://lists.openembedded.org/mt/101292700/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch b/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch
new file mode 100644
index 0000000000..2c14014fed
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/0001-regress-banner.sh-log-input-and-output-files-on-erro.patch
@@ -0,0 +1,61 @@ 
+From f5a4dacc987ca548fc86577c2dba121c86da3c34 Mon Sep 17 00:00:00 2001
+From: Mikko Rapeli <mikko.rapeli@linaro.org>
+Date: Mon, 11 Sep 2023 09:55:21 +0100
+Subject: [PATCH] regress/banner.sh: log input and output files on error
+
+Some test environments like yocto with qemu are seeing these
+tests failing. There may be additional error messages in the
+stderr of ssh cloent command. busybox cmp shows this error when
+first input file has less new line characters then second
+input file:
+
+cmp: EOF on /usr/lib/openssh/ptest/regress/banner.in
+
+Logging the full banner.out will show what other error messages
+are captured in addition of the expected banner.
+
+Full log of a failing banner test runs is:
+
+run test banner.sh ...
+test banner: missing banner file
+test banner: size 0
+cmp: EOF on /usr/lib/openssh/ptest/regress/banner.in
+banner size 0 mismatch
+test banner: size 10
+test banner: size 100
+cmp: EOF on /usr/lib/openssh/ptest/regress/banner.in
+banner size 100 mismatch
+test banner: size 1000
+test banner: size 10000
+test banner: size 100000
+test banner: suppress banner (-q)
+FAIL:  banner
+return value: 1
+
+See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15178
+
+Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
+---
+ regress/banner.sh | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+Upstream-Status: Denied [https://github.com/openssh/openssh-portable/pull/437]
+
+diff --git a/regress/banner.sh b/regress/banner.sh
+index a84feb5a..de84957a 100644
+--- a/regress/banner.sh
++++ b/regress/banner.sh
+@@ -32,7 +32,9 @@ for s in 0 10 100 1000 10000 100000 ; do
+ 	verbose "test $tid: size $s"
+ 	( ${SSH} -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
+ 		cmp $OBJ/banner.in $OBJ/banner.out ) || \
+-		fail "banner size $s mismatch"
++		( verbose "Contents of $OBJ/banner.in:"; cat $OBJ/banner.in; \
++		  verbose "Contents of $OBJ/banner.out:"; cat $OBJ/banner.out; \
++		  fail "banner size $s mismatch" )
+ done
+ 
+ trace "test suppress banner (-q)"
+-- 
+2.34.1
+
diff --git a/meta/recipes-connectivity/openssh/openssh_9.4p1.bb b/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
index 2c85780e4d..1cf6937038 100644
--- a/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
@@ -25,6 +25,7 @@  SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
            file://sshd_check_keys \
            file://add-test-support-for-busybox.patch \
            file://0001-openssh-regress-Makefile-print-logs-if-test-fails.patch \
+           file://0001-regress-banner.sh-log-input-and-output-files-on-erro.patch \
            "
 SRC_URI[sha256sum] = "3608fd9088db2163ceb3e600c85ab79d0de3d221e59192ea1923e23263866a85"