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