[v2] bootconfig: Fix testcase to increase max node

Message ID 167888844790.791176.670805252426835131.stgit@devnote2
State New
Headers
Series [v2] bootconfig: Fix testcase to increase max node |

Commit Message

Masami Hiramatsu (Google) March 15, 2023, 1:54 p.m. UTC
  From: Masami Hiramatsu (Google) <mhiramat@kernel.org>

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@slackware.com>
Link: https://lore.kernel.org/all/2463802.XAFRqVoOGU@amaterasu.liwjatan.org
Fixes: 6c40624930c5 ("bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
---
 tools/bootconfig/test-bootconfig.sh |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
  

Comments

Steven Rostedt March 15, 2023, 2:22 p.m. UTC | #1
On Wed, 15 Mar 2023 22:54:08 +0900
"Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:

> From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> 
> 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@slackware.com>
> Link: https://lore.kernel.org/all/2463802.XAFRqVoOGU@amaterasu.liwjatan.org
> Fixes: 6c40624930c5 ("bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support")
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>

-- 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
  

Patch

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