mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
test: hush: dollar: fix bugous behavior
The dollar test was merged with bugous console behavior, and instead of fixing it, this behavior was just workarounded. It seems like without the fix the ut_assert_skipline(); didn't clear console and running ut_assert_skipline(); many times would give always OK. With lib: membuff: fix readline not returning line in case of overflow the line is cleared correctly and next assert fails because now there is nothing to clean which is correct if we look the this a bit above the failing assert: if (gd->flags & GD_FLG_HUSH_MODERN_PARSER) { /* * For some strange reasons, the console is not empty after * running above command. * So, we reset it to not have side effects for other tests. */ console_record_reset_enable(); } else if (gd->flags & GD_FLG_HUSH_OLD_PARSER) { ut_assert_console_end(); } Which further confirms that tests workaround the old problem and now that problem is fixed we can remove the whole if blocks and simply place ut_assert_console_end() right after ut_assert_skipline() without any conditional and will pass green. So this part of code goes from: ut_assert_skipline(); ut_assert_skipline(); if (gd->flags & GD_FLG_HUSH_MODERN_PARSER) { /* See above comments. */ console_record_reset_enable(); } else if (gd->flags & GD_FLG_HUSH_OLD_PARSER) { ut_assert_console_end(); } to become: ut_assert_skipline(); ut_assert_console_end(); Same thing should be done with the if block mentioned above that calls console_record_reset_enable(). Signed-off-by: Ion Agorria <ion@agorria.com> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Link: https://lore.kernel.org/r/20240105072212.6615-8-clamor95@gmail.com [mkorpershoek: reworded commit title] Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
This commit is contained in:
parent
16f79dd4cd
commit
6c2f753f4a
1 changed files with 3 additions and 20 deletions
|
@ -53,29 +53,12 @@ static int hush_test_simple_dollar(struct unit_test_state *uts)
|
||||||
ut_asserteq(1, run_command("dollar_foo='bar quux", 0));
|
ut_asserteq(1, run_command("dollar_foo='bar quux", 0));
|
||||||
/* Next line contains error message */
|
/* Next line contains error message */
|
||||||
ut_assert_skipline();
|
ut_assert_skipline();
|
||||||
|
ut_assert_console_end();
|
||||||
if (gd->flags & GD_FLG_HUSH_MODERN_PARSER) {
|
|
||||||
/*
|
|
||||||
* For some strange reasons, the console is not empty after
|
|
||||||
* running above command.
|
|
||||||
* So, we reset it to not have side effects for other tests.
|
|
||||||
*/
|
|
||||||
console_record_reset_enable();
|
|
||||||
} else if (gd->flags & GD_FLG_HUSH_OLD_PARSER) {
|
|
||||||
ut_assert_console_end();
|
|
||||||
}
|
|
||||||
|
|
||||||
ut_asserteq(1, run_command("dollar_foo=bar quux\"", 0));
|
ut_asserteq(1, run_command("dollar_foo=bar quux\"", 0));
|
||||||
/* Two next lines contain error message */
|
/* Next line contains error message */
|
||||||
ut_assert_skipline();
|
ut_assert_skipline();
|
||||||
ut_assert_skipline();
|
ut_assert_console_end();
|
||||||
|
|
||||||
if (gd->flags & GD_FLG_HUSH_MODERN_PARSER) {
|
|
||||||
/* See above comments. */
|
|
||||||
console_record_reset_enable();
|
|
||||||
} else if (gd->flags & GD_FLG_HUSH_OLD_PARSER) {
|
|
||||||
ut_assert_console_end();
|
|
||||||
}
|
|
||||||
|
|
||||||
ut_assertok(run_command("dollar_foo='bar \"quux'", 0));
|
ut_assertok(run_command("dollar_foo='bar \"quux'", 0));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue