Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

selftests/bpf: Convert CHECK macros to ASSERT_* macros in bpf_iter

As it was pointed out by Yonghong Song [1], in the bpf selftests the use
of the ASSERT_* series of macros is preferred over the CHECK macro.
This patch replaces all CHECK calls in bpf_iter with the appropriate
ASSERT_* macros.

[1] https://lore.kernel.org/lkml/0a142924-633c-44e6-9a92-2dc019656bf2@linux.dev

Suggested-by: Yonghong Song <yonghong.song@linux.dev>
Signed-off-by: Yuran Pereira <yuran.pereira@hotmail.com>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Acked-by: Kui-Feng Lee <thinker.li@gmail.com>
Link: https://lore.kernel.org/r/DB3PR10MB6835E9C8DFCA226DD6FEF914E8A3A@DB3PR10MB6835.EURPRD10.PROD.OUTLOOK.COM
Signed-off-by: Alexei Starovoitov <ast@kernel.org>

authored by

Yuran Pereira and committed by
Alexei Starovoitov
fac85c29 89cdf9d5

+35 -44
+35 -44
tools/testing/selftests/bpf/prog_tests/bpf_iter.c
··· 34 34 #include "bpf_iter_ksym.skel.h" 35 35 #include "bpf_iter_sockmap.skel.h" 36 36 37 - static int duration; 38 - 39 37 static void test_btf_id_or_null(void) 40 38 { 41 39 struct bpf_iter_test_kern3 *skel; ··· 62 64 /* not check contents, but ensure read() ends without error */ 63 65 while ((len = read(iter_fd, buf, sizeof(buf))) > 0) 64 66 ; 65 - CHECK(len < 0, "read", "read failed: %s\n", strerror(errno)); 67 + ASSERT_GE(len, 0, "read"); 66 68 67 69 close(iter_fd); 68 70 ··· 411 413 goto free_link; 412 414 } 413 415 414 - if (CHECK(err < 0, "read", "read failed: %s\n", strerror(errno))) 416 + if (!ASSERT_GE(err, 0, "read")) 415 417 goto free_link; 416 418 417 419 ASSERT_HAS_SUBSTR(taskbuf, "(struct task_struct)", ··· 524 526 start = 0; 525 527 while ((len = read(iter_fd, buf + start, read_buf_len)) > 0) { 526 528 start += len; 527 - if (CHECK(start >= 16, "read", "read len %d\n", len)) 529 + if (!ASSERT_LT(start, 16, "read")) 528 530 return -1; 529 531 read_buf_len = read_one_char ? 1 : 16 - start; 530 532 } 531 - if (CHECK(len < 0, "read", "read failed: %s\n", strerror(errno))) 533 + if (!ASSERT_GE(len, 0, "read")) 532 534 return -1; 533 535 534 536 if (!ASSERT_STREQ(buf, expected, "read")) ··· 569 571 int err, iter_fd; 570 572 571 573 iter_fd = open(path, O_RDONLY); 572 - if (CHECK(iter_fd < 0, "open", "open %s failed: %s\n", 573 - path, strerror(errno))) 574 + if (!ASSERT_GE(iter_fd, 0, "open")) 574 575 return -1; 575 576 576 577 err = do_read_with_fd(iter_fd, expected, false); ··· 597 600 unlink(path); 598 601 599 602 err = bpf_link__pin(link, path); 600 - if (CHECK(err, "pin_iter", "pin_iter to %s failed: %d\n", path, err)) 603 + if (!ASSERT_OK(err, "pin_iter")) 601 604 goto free_link; 602 605 603 606 err = do_read(path, "abcd"); ··· 648 651 * overflow and needs restart. 649 652 */ 650 653 map1_fd = bpf_map_create(BPF_MAP_TYPE_ARRAY, NULL, 4, 8, 1, NULL); 651 - if (CHECK(map1_fd < 0, "bpf_map_create", 652 - "map_creation failed: %s\n", strerror(errno))) 654 + if (!ASSERT_GE(map1_fd, 0, "bpf_map_create")) 653 655 goto out; 654 656 map2_fd = bpf_map_create(BPF_MAP_TYPE_ARRAY, NULL, 4, 8, 1, NULL); 655 - if (CHECK(map2_fd < 0, "bpf_map_create", 656 - "map_creation failed: %s\n", strerror(errno))) 657 + if (!ASSERT_GE(map2_fd, 0, "bpf_map_create")) 657 658 goto free_map1; 658 659 659 660 /* bpf_seq_printf kernel buffer is 8 pages, so one map ··· 680 685 /* setup filtering map_id in bpf program */ 681 686 map_info_len = sizeof(map_info); 682 687 err = bpf_map_get_info_by_fd(map1_fd, &map_info, &map_info_len); 683 - if (CHECK(err, "get_map_info", "get map info failed: %s\n", 684 - strerror(errno))) 688 + if (!ASSERT_OK(err, "get_map_info")) 685 689 goto free_map2; 686 690 skel->bss->map1_id = map_info.id; 687 691 688 692 err = bpf_map_get_info_by_fd(map2_fd, &map_info, &map_info_len); 689 - if (CHECK(err, "get_map_info", "get map info failed: %s\n", 690 - strerror(errno))) 693 + if (!ASSERT_OK(err, "get_map_info")) 691 694 goto free_map2; 692 695 skel->bss->map2_id = map_info.id; 693 696 ··· 707 714 while ((len = read(iter_fd, buf, expected_read_len)) > 0) 708 715 total_read_len += len; 709 716 710 - CHECK(len != -1 || errno != E2BIG, "read", 711 - "expected ret -1, errno E2BIG, but get ret %d, error %s\n", 712 - len, strerror(errno)); 717 + ASSERT_EQ(len, -1, "read"); 718 + ASSERT_EQ(errno, E2BIG, "read"); 713 719 goto free_buf; 714 720 } else if (!ret1) { 715 721 while ((len = read(iter_fd, buf, expected_read_len)) > 0) 716 722 total_read_len += len; 717 723 718 - if (CHECK(len < 0, "read", "read failed: %s\n", 719 - strerror(errno))) 724 + if (!ASSERT_GE(len, 0, "read")) 720 725 goto free_buf; 721 726 } else { 722 727 do { ··· 723 732 total_read_len += len; 724 733 } while (len > 0 || len == -EAGAIN); 725 734 726 - if (CHECK(len < 0, "read", "read failed: %s\n", 727 - strerror(errno))) 735 + if (!ASSERT_GE(len, 0, "read")) 728 736 goto free_buf; 729 737 } 730 738 ··· 826 836 /* do some tests */ 827 837 while ((len = read(iter_fd, buf, sizeof(buf))) > 0) 828 838 ; 829 - if (CHECK(len < 0, "read", "read failed: %s\n", strerror(errno))) 839 + if (!ASSERT_GE(len, 0, "read")) 830 840 goto close_iter; 831 841 832 842 /* test results */ ··· 907 917 /* do some tests */ 908 918 while ((len = read(iter_fd, buf, sizeof(buf))) > 0) 909 919 ; 910 - if (CHECK(len < 0, "read", "read failed: %s\n", strerror(errno))) 920 + if (!ASSERT_GE(len, 0, "read")) 911 921 goto close_iter; 912 922 913 923 /* test results */ ··· 973 983 start = 0; 974 984 while ((len = read(iter_fd, buf + start, sizeof(buf) - start)) > 0) 975 985 start += len; 976 - if (CHECK(len < 0, "read", "read failed: %s\n", strerror(errno))) 986 + if (!ASSERT_GE(len, 0, "read")) 977 987 goto close_iter; 978 988 979 989 /* test results */ 980 990 res_first_key = *(__u32 *)buf; 981 991 res_first_val = *(__u64 *)(buf + sizeof(__u32)); 982 - if (CHECK(res_first_key != 0 || res_first_val != first_val, 983 - "bpf_seq_write", 984 - "seq_write failure: first key %u vs expected 0, " 985 - " first value %llu vs expected %llu\n", 986 - res_first_key, res_first_val, first_val)) 992 + if (!ASSERT_EQ(res_first_key, 0, "bpf_seq_write") || 993 + !ASSERT_EQ(res_first_val, first_val, "bpf_seq_write")) 987 994 goto close_iter; 988 995 989 996 if (!ASSERT_EQ(skel->bss->key_sum, expected_key, "key_sum")) ··· 1079 1092 /* do some tests */ 1080 1093 while ((len = read(iter_fd, buf, sizeof(buf))) > 0) 1081 1094 ; 1082 - if (CHECK(len < 0, "read", "read failed: %s\n", strerror(errno))) 1095 + if (!ASSERT_GE(len, 0, "read")) 1083 1096 goto close_iter; 1084 1097 1085 1098 /* test results */ ··· 1118 1131 sock_fd = socket(AF_INET6, SOCK_STREAM, 0); 1119 1132 if (!ASSERT_GE(sock_fd, 0, "socket")) 1120 1133 goto out; 1134 + 1121 1135 err = bpf_map_update_elem(map_fd, &sock_fd, &val, BPF_NOEXIST); 1122 1136 if (!ASSERT_OK(err, "map_update")) 1123 1137 goto out; ··· 1139 1151 /* do some tests */ 1140 1152 while ((len = read(iter_fd, buf, sizeof(buf))) > 0) 1141 1153 ; 1142 - if (CHECK(len < 0, "read", "read failed: %s\n", strerror(errno))) 1154 + if (!ASSERT_GE(len, 0, "read")) 1143 1155 goto close_iter; 1144 1156 1145 1157 /* test results */ 1146 1158 err = bpf_map_lookup_elem(map_fd, &sock_fd, &val); 1147 - if (CHECK(!err || errno != ENOENT, "bpf_map_lookup_elem", 1148 - "map value wasn't deleted (err=%d, errno=%d)\n", err, errno)) 1149 - goto close_iter; 1159 + 1160 + /* Note: The following assertions serve to ensure 1161 + * the value was deleted. It does so by asserting 1162 + * that bpf_map_lookup_elem has failed. This might 1163 + * seem counterintuitive at first. 1164 + */ 1165 + ASSERT_ERR(err, "bpf_map_lookup_elem"); 1166 + ASSERT_EQ(errno, ENOENT, "bpf_map_lookup_elem"); 1150 1167 1151 1168 close_iter: 1152 1169 close(iter_fd); ··· 1196 1203 do_dummy_read(skel->progs.fill_socket_owner); 1197 1204 1198 1205 err = bpf_map_lookup_elem(map_fd, &sock_fd, &val); 1199 - if (CHECK(err || val != getpid(), "bpf_map_lookup_elem", 1200 - "map value wasn't set correctly (expected %d, got %d, err=%d)\n", 1201 - getpid(), val, err)) 1206 + if (!ASSERT_OK(err, "bpf_map_lookup_elem") || 1207 + !ASSERT_EQ(val, getpid(), "bpf_map_lookup_elem")) 1202 1208 goto close_socket; 1203 1209 1204 1210 do_dummy_read(skel->progs.negate_socket_local_storage); 1205 1211 1206 1212 err = bpf_map_lookup_elem(map_fd, &sock_fd, &val); 1207 - CHECK(err || val != -getpid(), "bpf_map_lookup_elem", 1208 - "map value wasn't set correctly (expected %d, got %d, err=%d)\n", 1209 - -getpid(), val, err); 1213 + ASSERT_OK(err, "bpf_map_lookup_elem"); 1214 + ASSERT_EQ(val, -getpid(), "bpf_map_lookup_elem"); 1210 1215 1211 1216 close_socket: 1212 1217 close(sock_fd); ··· 1281 1290 /* do some tests */ 1282 1291 while ((len = read(iter_fd, buf, sizeof(buf))) > 0) 1283 1292 ; 1284 - if (CHECK(len < 0, "read", "read failed: %s\n", strerror(errno))) 1293 + if (!ASSERT_GE(len, 0, "read")) 1285 1294 goto close_iter; 1286 1295 1287 1296 /* test results */