[PATCH v3 2/2] selftests/bpf: Add test for bpftool map ID printing

Harshit Mogalapalli posted 2 patches 3 months, 1 week ago
[PATCH v3 2/2] selftests/bpf: Add test for bpftool map ID printing
Posted by Harshit Mogalapalli 3 months, 1 week ago
Add selftest to check if Map ID is printed on successful creation in
both plain text and json formats.

Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
---
v2-->v3: Removes printing for success cases following the pattern used
in this script. Also remove "FAIL:" prefix for consistency. [ Thanks to
Quentin for the suggestion]
---
 .../testing/selftests/bpf/test_bpftool_map.sh | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/tools/testing/selftests/bpf/test_bpftool_map.sh b/tools/testing/selftests/bpf/test_bpftool_map.sh
index 515b1df0501e..d65866497c1b 100755
--- a/tools/testing/selftests/bpf/test_bpftool_map.sh
+++ b/tools/testing/selftests/bpf/test_bpftool_map.sh
@@ -361,6 +361,36 @@ test_map_access_with_btf_list() {
 	fi
 }
 
+# Function to test map ID printing
+# Parameters:
+#   $1: bpftool path
+#   $2: BPF_DIR
+test_map_id_printing() {
+	local bpftool_path="$1"
+	local bpf_dir="$2"
+	local test_map_name="test_map_id"
+	local test_map_path="$bpf_dir/$test_map_name"
+
+	local output
+	output=$("$bpftool_path" map create "$test_map_path" type hash key 4 \
+		value 8 entries 128 name "$test_map_name")
+	if ! echo "$output" | grep -q "Map successfully created with ID:"; then
+		echo "Map ID not printed in plain text output."
+		exit 1
+	fi
+
+	rm -f "$test_map_path"
+
+	output=$("$bpftool_path" map create "$test_map_path" type hash key 4 \
+		value 8 entries 128 name "$test_map_name" --json)
+	if ! echo "$output" | jq -e 'has("id")' >/dev/null 2>&1; then
+		echo "Map ID not printed in JSON output."
+		exit 1
+	fi
+
+	rm -f "$test_map_path"
+}
+
 set -eu
 
 trap cleanup_skip EXIT
@@ -395,4 +425,6 @@ test_map_creation_and_map_of_maps "$BPFTOOL_PATH" "$BPF_DIR"
 
 test_map_access_with_btf_list "$BPFTOOL_PATH"
 
+test_map_id_printing "$BPFTOOL_PATH" "$BPF_DIR"
+
 exit 0
-- 
2.50.1
Re: [PATCH v3 2/2] selftests/bpf: Add test for bpftool map ID printing
Posted by Quentin Monnet 3 months, 1 week ago
On 01/11/2025 19:33, Harshit Mogalapalli wrote:
> Add selftest to check if Map ID is printed on successful creation in
> both plain text and json formats.
> 
> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>

Reviewed-by: Quentin Monnet <qmo@kernel.org>

Thank you!