Commit 9d19a12b authored by Yonghong Song's avatar Yonghong Song Committed by Alexei Starovoitov
Browse files

selftests/bpf: Add BTF_KIND_DECL_TAG typedef unit tests



Test good and bad variants of typedef BTF_KIND_DECL_TAG encoding.

Signed-off-by: default avatarYonghong Song <yhs@fb.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20211021195633.4019472-1-yhs@fb.com
parent bd16dee6
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -3903,6 +3903,42 @@ static struct btf_raw_test raw_tests[] = {
	.btf_load_err = true,
	.err_str = "Invalid component_idx",
},
{
	.descr = "decl_tag test #13, typedef, well-formed",
	.raw_types = {
		BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4),	/* [1] */
		BTF_TYPEDEF_ENC(NAME_TBD, 1),			/* [2] */
		BTF_DECL_TAG_ENC(NAME_TBD, 2, -1),
		BTF_END_RAW,
	},
	BTF_STR_SEC("\0t\0tag"),
	.map_type = BPF_MAP_TYPE_ARRAY,
	.map_name = "tag_type_check_btf",
	.key_size = sizeof(int),
	.value_size = 4,
	.key_type_id = 1,
	.value_type_id = 1,
	.max_entries = 1,
},
{
	.descr = "decl_tag test #14, typedef, invalid component_idx",
	.raw_types = {
		BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4),	/* [1] */
		BTF_TYPEDEF_ENC(NAME_TBD, 1),			/* [2] */
		BTF_DECL_TAG_ENC(NAME_TBD, 2, 0),
		BTF_END_RAW,
	},
	BTF_STR_SEC("\0local\0tag"),
	.map_type = BPF_MAP_TYPE_ARRAY,
	.map_name = "tag_type_check_btf",
	.key_size = sizeof(int),
	.value_size = 4,
	.key_type_id = 1,
	.value_type_id = 1,
	.max_entries = 1,
	.btf_load_err = true,
	.err_str = "Invalid component_idx",
},

}; /* struct btf_raw_test raw_tests[] */