U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Mattijs Korpershoek <mkorpershoek@baylibre.com>
To: Simon Glass <sjg@chromium.org>,
	U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>,
	AKASHI Takahiro <akashi.tkhro@gmail.com>,
	Bin Meng <bmeng.cn@gmail.com>,
	Heinrich Schuchardt <xypron.glpk@gmx.de>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Ion Agorria <ion@agorria.com>,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Svyatoslav Ryhel <clamor95@gmail.com>
Subject: Re: [PATCH 02/21] test: Fail when an empty line is expected but not present
Date: Tue, 20 Aug 2024 08:40:09 +0200	[thread overview]
Message-ID: <87bk1nwvcm.fsf@baylibre.com> (raw)
In-Reply-To: <20240810205205.3403177-3-sjg@chromium.org>

Hi Simon,

Thank you for the patch.

On sam., août 10, 2024 at 14:51, Simon Glass <sjg@chromium.org> wrote:

> The existing implementation of ut_assert_nextline_empty() cannot
> distinguish between an empty line and no line at all. It can in fact be
> called at the end of the recorded output and will happily return
> success.
>
> Adjust the logic so that this condition is detected. Show a failure
> message in this case.
>
> Fix the one test which falls foul of this fix.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Fixes: 400175b0a7d ("test: Add a way to check each line of console...")

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>

> ---
>
>  common/console.c     | 2 ++
>  include/console.h    | 2 +-
>  test/boot/bootflow.c | 2 --
>  test/ut.c            | 8 +++++---
>  4 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/common/console.c b/common/console.c
> index 63f78004fdb..85f627297ed 100644
> --- a/common/console.c
> +++ b/common/console.c
> @@ -845,6 +845,8 @@ int console_record_readline(char *str, int maxlen)
>  {
>  	if (gd->flags & GD_FLG_RECORD_OVF)
>  		return -ENOSPC;
> +	if (console_record_isempty())
> +		return -ENOENT;
>  
>  	return membuff_readline((struct membuff *)&gd->console_out, str,
>  				maxlen, '\0', false);
> diff --git a/include/console.h b/include/console.h
> index 2617e160073..6b6d0f9de73 100644
> --- a/include/console.h
> +++ b/include/console.h
> @@ -73,7 +73,7 @@ int console_record_reset_enable(void);
>   * @str: Place to put string
>   * @maxlen: Maximum length of @str including nul terminator
>   * Return: length of string returned, or -ENOSPC if the console buffer was
> - *	overflowed by the output
> + *	overflowed by the output, or -ENOENT if there was nothing to read
>   */
>  int console_record_readline(char *str, int maxlen);
>  
> diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c
> index 8b46256fa48..8bfc2a1b9b4 100644
> --- a/test/boot/bootflow.c
> +++ b/test/boot/bootflow.c
> @@ -1151,8 +1151,6 @@ static int bootflow_cmdline(struct unit_test_state *uts)
>  
>  	ut_asserteq(0, run_command("bootflow cmdline set mary abc", 0));
>  	ut_asserteq(0, run_command("bootflow cmdline set mary", 0));
> -	ut_assert_nextline_empty();
> -
>  	ut_assert_console_end();
>  
>  	return 0;
> diff --git a/test/ut.c b/test/ut.c
> index ae99831ac8f..7454da3e001 100644
> --- a/test/ut.c
> +++ b/test/ut.c
> @@ -59,9 +59,11 @@ static int readline_check(struct unit_test_state *uts)
>  		ut_fail(uts, __FILE__, __LINE__, __func__,
>  			"Console record buffer too small - increase CONFIG_CONSOLE_RECORD_OUT_SIZE");
>  		return ret;
> +	} else if (ret == -ENOENT) {
> +		strcpy(uts->actual_str, "<no-more-output>");
>  	}
>  
> -	return 0;
> +	return ret;
>  }
>  
>  int ut_check_console_line(struct unit_test_state *uts, const char *fmt, ...)
> @@ -79,8 +81,8 @@ int ut_check_console_line(struct unit_test_state *uts, const char *fmt, ...)
>  		return -EOVERFLOW;
>  	}
>  	ret = readline_check(uts);
> -	if (ret < 0)
> -		return ret;
> +	if (ret == -ENOENT)
> +		return 1;
>  
>  	return strcmp(uts->expect_str, uts->actual_str);
>  }
> -- 
> 2.34.1

  reply	other threads:[~2024-08-20  6:40 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-10 20:51 [PATCH 00/21] Tidy up console recording in tests Simon Glass
2024-08-10 20:51 ` [PATCH 01/21] buildman: Make test_process_limit handle time.monotonic() Simon Glass
2024-08-10 20:51 ` [PATCH 02/21] test: Fail when an empty line is expected but not present Simon Glass
2024-08-20  6:40   ` Mattijs Korpershoek [this message]
2024-08-10 20:51 ` [PATCH 03/21] test: Rename unit-test flags Simon Glass
2024-08-10 20:51 ` [PATCH 04/21] test: Drop the blank line before test macros Simon Glass
2024-08-10 20:51 ` [PATCH 05/21] test: Rename UTF_CONSOLE_REC to UTF_CONSOLE Simon Glass
2024-08-20  6:48   ` Mattijs Korpershoek
2024-08-10 20:51 ` [PATCH 06/21] mmc: Drop the blank line before accesses Simon Glass
2024-08-15 17:01   ` Tom Rini
2024-08-15 20:34     ` Simon Glass
2024-08-16  3:47       ` Tom Rini
2024-08-10 20:51 ` [PATCH 07/21] Revert "net: wget: Support retransmission a dropped packet" Simon Glass
2024-08-11  2:47   ` Yasuharu Shibata
2024-08-11 14:50     ` Simon Glass
2024-08-12 18:46       ` Tom Rini
2024-08-13  3:48         ` Yasuharu Shibata
2024-08-13 12:20           ` Simon Glass
2024-08-13 15:12             ` Simon Glass
2024-08-14 13:05               ` Yasuharu Shibata
2024-08-13 12:16         ` Simon Glass
2024-08-10 20:51 ` [PATCH 08/21] sandbox: Enable wget command Simon Glass
2024-08-10 20:51 ` [PATCH 09/21] test: Update NAND test to avoid extra macros Simon Glass
2024-08-17 18:29   ` Sean Anderson
2024-08-10 20:51 ` [PATCH 10/21] test: bloblist: Use UTF_CONSOLE in tests Simon Glass
2024-08-10 20:51 ` [PATCH 11/21] test: boot: " Simon Glass
2024-08-20  7:02   ` Mattijs Korpershoek
2024-08-10 20:51 ` [PATCH 12/21] test: fdt: Check internal-function return values Simon Glass
2024-08-10 20:51 ` [PATCH 13/21] test: fdt: Move common code into the setup functions Simon Glass
2024-08-10 20:51 ` [PATCH 14/21] test: cmd: Use UTF_CONSOLE in tests Simon Glass
2024-08-10 20:51 ` [PATCH 15/21] test: cmd: Drop unnecessary console_record_reset_enable() Simon Glass
2024-08-10 20:52 ` [PATCH 16/21] test: dm: Use UTF_CONSOLE in tests Simon Glass
2024-08-10 20:52 ` [PATCH 17/21] test: hush: " Simon Glass
2024-08-20  7:08   ` Mattijs Korpershoek
2024-08-10 20:52 ` [PATCH 18/21] test: log: " Simon Glass
2024-08-10 20:52 ` [PATCH 19/21] test: Use UTF_CONSOLE in remaining tests Simon Glass
2024-08-10 20:52 ` [PATCH 20/21] test: Tidy up checking for console end Simon Glass
2024-08-10 20:52 ` [PATCH 21/21] doc: Add a few notes about how to use console checking Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bk1nwvcm.fsf@baylibre.com \
    --to=mkorpershoek@baylibre.com \
    --cc=akashi.tkhro@gmail.com \
    --cc=bmeng.cn@gmail.com \
    --cc=clamor95@gmail.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=ion@agorria.com \
    --cc=patrice.chotard@foss.st.com \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox