Re: [PATCH v2] bootconfig: Fix testcase to increase max node

From: Steven Rostedt
Date: Wed Mar 15 2023 - 10:22:43 EST


On Wed, 15 Mar 2023 22:54:08 +0900
"Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx> wrote:

> From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
>
> Since commit 6c40624930c5 ("bootconfig: Increase max nodes of bootconfig
> from 1024 to 8192 for DCC support") increased the max number of bootconfig
> node to 8192, the bootconfig testcase of the max number of nodes fails.
> To fix this issue, we can not simply increase the number in the test script
> because the test bootconfig file becomes too big (>32KB). To fix that, we
> can use a combination of three alphabets (26^3 = 17576). But with that,
> we can not express the 8193 (just one exceed from the limitation) because
> it also exceeds the max size of bootconfig. So, the first 26 nodes will just
> use one alphabet.
>
> With this fix, test-bootconfig.sh passes all tests.
>
> Reported-by: Heinz Wiesinger <pprkut@xxxxxxxxxxxxx>
> Link: https://lore.kernel.org/all/2463802.XAFRqVoOGU@xxxxxxxxxxxxxxxxxxxxxx
> Fixes: 6c40624930c5 ("bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support")
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>

Reviewed-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

-- Steve

> ---
> tools/bootconfig/test-bootconfig.sh | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/tools/bootconfig/test-bootconfig.sh b/tools/bootconfig/test-bootconfig.sh
> index f68e2e9eef8b..a2c484c243f5 100755
> --- a/tools/bootconfig/test-bootconfig.sh
> +++ b/tools/bootconfig/test-bootconfig.sh
> @@ -87,10 +87,14 @@ xfail grep -i "error" $OUTFILE
>
> echo "Max node number check"
>
> -echo -n > $TEMPCONF
> -for i in `seq 1 1024` ; do
> - echo "node$i" >> $TEMPCONF
> -done
> +awk '
> +BEGIN {
> + for (i = 0; i < 26; i += 1)
> + printf("%c\n", 65 + i % 26)
> + for (i = 26; i < 8192; i += 1)
> + printf("%c%c%c\n", 65 + i % 26, 65 + (i / 26) % 26, 65 + (i / 26 / 26))
> +}
> +' > $TEMPCONF
> xpass $BOOTCONF -a $TEMPCONF $INITRD
>
> echo "badnode" >> $TEMPCONF