[PATCH v3 01/31] str: Move string tests to the string module

Simon Glass sjg at chromium.org
Sun Mar 6 04:08:19 CET 2022


Hi Heinrich,

On Wed, 19 Jan 2022 at 04:21, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 1/19/22 02:42, Simon Glass wrote:
> > A few string tests were added to the print module by mistake. Move them.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > (no changes since v1)
> >
> >   test/print_ut.c | 40 ----------------------------------------
> >   test/str_ut.c   | 40 ++++++++++++++++++++++++++++++++++++++++
> >   2 files changed, 40 insertions(+), 40 deletions(-)
> >
> > diff --git a/test/print_ut.c b/test/print_ut.c
> > index 7b2e7bb152c..b52fdf7ae05 100644
> > --- a/test/print_ut.c
> > +++ b/test/print_ut.c
> > @@ -333,26 +333,6 @@ static int print_do_hex_dump(struct unit_test_state *uts)
> >   }
> >   PRINT_TEST(print_do_hex_dump, UT_TESTF_CONSOLE_REC);
> >
> > -static int print_itoa(struct unit_test_state *uts)
> > -{
> > -     ut_asserteq_str("123", simple_itoa(123));
> > -     ut_asserteq_str("0", simple_itoa(0));
> > -     ut_asserteq_str("2147483647", simple_itoa(0x7fffffff));
> > -     ut_asserteq_str("4294967295", simple_itoa(0xffffffff));
> > -
> > -     /* Use #ifdef here to avoid a compiler warning on 32-bit machines */
> > -#ifdef CONFIG_PHYS_64BIT
> > -     if (sizeof(ulong) == 8) {
> > -             ut_asserteq_str("9223372036854775807",
> > -                             simple_itoa((1UL << 63) - 1));
> > -             ut_asserteq_str("18446744073709551615", simple_itoa(-1));
> > -     }
> > -#endif /* CONFIG_PHYS_64BIT */
> > -
> > -     return 0;
> > -}
> > -PRINT_TEST(print_itoa, 0);
> > -
> >   static int snprint(struct unit_test_state *uts)
> >   {
> >       char buf[10] = "xxxxxxxxx";
> > @@ -367,26 +347,6 @@ static int snprint(struct unit_test_state *uts)
> >   }
> >   PRINT_TEST(snprint, 0);
> >
> > -static int print_xtoa(struct unit_test_state *uts)
> > -{
> > -     ut_asserteq_str("7f", simple_xtoa(127));
> > -     ut_asserteq_str("00", simple_xtoa(0));
> > -     ut_asserteq_str("7fffffff", simple_xtoa(0x7fffffff));
> > -     ut_asserteq_str("ffffffff", simple_xtoa(0xffffffff));
> > -
> > -     /* Use #ifdef here to avoid a compiler warning on 32-bit machines */
> > -#ifdef CONFIG_PHYS_64BIT
> > -     if (sizeof(ulong) == 8) {
> > -             ut_asserteq_str("7fffffffffffffff",
> > -                             simple_xtoa((1UL << 63) - 1));
> > -             ut_asserteq_str("ffffffffffffffff", simple_xtoa(-1));
> > -     }
> > -#endif /* CONFIG_PHYS_64BIT */
> > -
> > -     return 0;
> > -}
> > -PRINT_TEST(print_xtoa, 0);
> > -
> >   int do_ut_print(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
> >   {
> >       struct unit_test *tests = UNIT_TEST_SUITE_START(print_test);
> > diff --git a/test/str_ut.c b/test/str_ut.c
> > index d2840d51524..6c817f6f72f 100644
> > --- a/test/str_ut.c
> > +++ b/test/str_ut.c
> > @@ -202,6 +202,46 @@ static int str_dectoul(struct unit_test_state *uts)
> >   }
> >   STR_TEST(str_dectoul, 0);
> >
> > +static int str_itoa(struct unit_test_state *uts)
> > +{
> > +     ut_asserteq_str("123", simple_itoa(123));
> > +     ut_asserteq_str("0", simple_itoa(0));
> > +     ut_asserteq_str("2147483647", simple_itoa(0x7fffffff));
> > +     ut_asserteq_str("4294967295", simple_itoa(0xffffffff));
> > +
> > +     /* Use #ifdef here to avoid a compiler warning on 32-bit machines */
> > +#ifdef CONFIG_PHYS_64BIT
>
> CONFIG_PHYS_64BIT changes the size of phys_addr_t. It is not related to
> the size of long.
>
> Please remove the superfluous ifdef.

What is superfluous about it? It avoids a build error on snow, for example.

It's close enough since 32-bit machines that run tests currently do
not enable this option.

Also I am just moving code around, so changing it is beyond the scope
of the patch.

> > +     if (sizeof(ulong) == 8) {
> > +             ut_asserteq_str("9223372036854775807",
> > +                             simple_itoa((1UL << 63) - 1));
> > +             ut_asserteq_str("18446744073709551615", simple_itoa(-1));
> > +     }
> > +#endif /* CONFIG_PHYS_64BIT */
> > +
> > +     return 0;
> > +}
> > +STR_TEST(str_itoa, 0);
> > +
> > +static int str_xtoa(struct unit_test_state *uts)
> > +{
> > +     ut_asserteq_str("7f", simple_xtoa(127));
> > +     ut_asserteq_str("00", simple_xtoa(0));
> > +     ut_asserteq_str("7fffffff", simple_xtoa(0x7fffffff));
> > +     ut_asserteq_str("ffffffff", simple_xtoa(0xffffffff));
> > +
> > +     /* Use #ifdef here to avoid a compiler warning on 32-bit machines */
> > +#ifdef CONFIG_PHYS_64BIT
>
> ditto
>

Regards,
Simon


More information about the U-Boot mailing list