Re: [PATCH net-next v4] net: netconsole: selftests: Create a new netconsole selftest

From: Matthieu Baerts
Date: Fri Aug 16 2024 - 10:07:34 EST


Hi Breno,

On 16/08/2024 15:24, Breno Leitao wrote:
> Adds a selftest that creates two virtual interfaces, assigns one to a
> new namespace, and assigns IP addresses to both.
>
> It listens on the destination interface using socat and configures a
> dynamic target on netconsole, pointing to the destination IP address.
>
> The test then checks if the message was received properly on the
> destination interface.
>
> Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
> ---
> Changelog:
>
> v4:
> * Avoid sleeping in waiting for sockets and files (Matthieu Baerts)
> * Some other improvements (Matthieu Baerts)
> * Add configfs as a dependency (Jakub)

Thank you for the new version!

It looks good to me, but again, my review mainly focused on the
Bash-related stuff, not on the netconsole test itself.

I just have one question below, but not blocking.

(...)

> diff --git a/tools/testing/selftests/drivers/net/netcons_basic.sh b/tools/testing/selftests/drivers/net/netcons_basic.sh
> new file mode 100755
> index 000000000000..5c3686af1fe8
> --- /dev/null
> +++ b/tools/testing/selftests/drivers/net/netcons_basic.sh
> @@ -0,0 +1,249 @@

(...)

> +check_file_size() {
> + local file="$1"
> +
> + if [[ ! -f "$file" ]]; then
> + # File might not exist yet
> + return 1
> + fi
> +
> + # Get file size
> + local size=$(stat -c %s "$file" 2>/dev/null)
> + # Check if stat command succeeded
> + if [[ $? -ne 0 ]]; then
> + return 1
> + fi
> +
> + # Check if size is greater than zero
> + if [[ "$size" -gt 0 ]]; then
> + return 0 # file size > 0
> + else
> + return 1 # file size == 0
> + fi
> +}

(...)

> +# Wait until socat saves the file to disk
> +busywait "${BUSYWAIT_TIMEOUT}" check_file_size "${OUTPUT_FILE}"

It looks like your 'check_file_size' helper is a reimplementation of
'test -s <FILE>', no? Can you not simply use:

busywait "${BUSYWAIT_TIMEOUT}" test -s "${OUTPUT_FILE}"

Apart from that, the rest looks good to me!

Acked-by: Matthieu Baerts (NGI0) <matttbe@xxxxxxxxxx>

Cheers,
Matt
--
Sponsored by the NGI0 Core fund.