selftests/bpf: Make sure enum-less bpf_enable_stats() API works in C++ mode
authorAndrii Nakryiko <andrii@kernel.org>
Wed, 30 Nov 2022 20:00:13 +0000 (12:00 -0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 30 Nov 2022 21:56:47 +0000 (22:56 +0100)
Just a simple test to make sure we don't introduce unwanted compiler
warnings and API still supports passing enums as input argument.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20221130200013.2997831-2-andrii@kernel.org
tools/testing/selftests/bpf/test_cpp.cpp

index 19ad172..0bd9990 100644 (file)
@@ -1,9 +1,9 @@
 /* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
 #include <iostream>
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#include <unistd.h>
+#include <linux/bpf.h>
+#include <linux/btf.h>
 #include <bpf/libbpf.h>
-#pragma GCC diagnostic pop
 #include <bpf/bpf.h>
 #include <bpf/btf.h>
 #include "test_core_extern.skel.h"
@@ -99,6 +99,7 @@ int main(int argc, char *argv[])
        struct btf_dump_opts opts = { };
        struct test_core_extern *skel;
        struct btf *btf;
+       int fd;
 
        try_skeleton_template();
 
@@ -117,6 +118,12 @@ int main(int argc, char *argv[])
        skel = test_core_extern__open_and_load();
        test_core_extern__destroy(skel);
 
+       fd = bpf_enable_stats(BPF_STATS_RUN_TIME);
+       if (fd < 0)
+               std::cout << "FAILED to enable stats: " << fd << std::endl;
+       else
+               ::close(fd);
+
        std::cout << "DONE!" << std::endl;
 
        return 0;