]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests: netconsole: Add tests for 'msgid' feature in sysdata
authorGustavo Luiz Duarte <gustavold@gmail.com>
Mon, 16 Jun 2025 17:08:38 +0000 (10:08 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Jun 2025 09:46:10 +0000 (10:46 +0100)
Extend the self-tests to cover the 'msgid' feature in sysdata.

Verify that msgid is appended to the message when the feature is enabled
and that it is not appended when the feature is disabled.

Signed-off-by: Gustavo Luiz Duarte <gustavold@gmail.com>
Reviewed-by: Breno Leitao <leitao@debian.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/netcons_sysdata.sh

index a737e377bf08536372deb423c9994506f0c92965..baf69031089ebc262cc5a4300c4983dab683fe90 100755 (executable)
@@ -53,6 +53,17 @@ function set_release() {
        echo 1 > "${NETCONS_PATH}/userdata/release_enabled"
 }
 
+# Enable the msgid to be appended to sysdata
+function set_msgid() {
+       if [[ ! -f "${NETCONS_PATH}/userdata/msgid_enabled" ]]
+       then
+               echo "Not able to enable msgid sysdata append. Configfs not available in ${NETCONS_PATH}/userdata/msgid_enabled" >&2
+               exit "${ksft_skip}"
+       fi
+
+       echo 1 > "${NETCONS_PATH}/userdata/msgid_enabled"
+}
+
 # Disable the sysdata cpu_nr feature
 function unset_cpu_nr() {
        echo 0 > "${NETCONS_PATH}/userdata/cpu_nr_enabled"
@@ -67,6 +78,10 @@ function unset_release() {
        echo 0 > "${NETCONS_PATH}/userdata/release_enabled"
 }
 
+function unset_msgid() {
+       echo 0 > "${NETCONS_PATH}/userdata/msgid_enabled"
+}
+
 # Test if MSG contains sysdata
 function validate_sysdata() {
        # OUTPUT_FILE will contain something like:
@@ -74,6 +89,7 @@ function validate_sysdata() {
        #  userdatakey=userdatavalue
        #  cpu=X
        #  taskname=<taskname>
+       #  msgid=<id>
 
        # Echo is what this test uses to create the message. See runtest()
        # function
@@ -104,6 +120,12 @@ function validate_sysdata() {
                exit "${ksft_fail}"
        fi
 
+       if ! grep -q "msgid=[0-9]\+$" "${OUTPUT_FILE}"; then
+               echo "FAIL: 'msgid=<id>' not found in ${OUTPUT_FILE}" >&2
+               cat "${OUTPUT_FILE}" >&2
+               exit "${ksft_fail}"
+       fi
+
        rm "${OUTPUT_FILE}"
        pkill_socat
 }
@@ -155,6 +177,12 @@ function validate_no_sysdata() {
                exit "${ksft_fail}"
        fi
 
+       if grep -q "msgid=" "${OUTPUT_FILE}"; then
+               echo "FAIL: 'msgid=  found in ${OUTPUT_FILE}" >&2
+               cat "${OUTPUT_FILE}" >&2
+               exit "${ksft_fail}"
+       fi
+
        rm "${OUTPUT_FILE}"
 }
 
@@ -206,6 +234,7 @@ set_cpu_nr
 # Enable taskname to be appended to sysdata
 set_taskname
 set_release
+set_msgid
 runtest
 # Make sure the message was received in the dst part
 # and exit
@@ -235,6 +264,7 @@ MSG="Test #3 from CPU${CPU}"
 unset_cpu_nr
 unset_taskname
 unset_release
+unset_msgid
 runtest
 # At this time, cpu= shouldn't be present in the msg
 validate_no_sysdata