Fix: tests: CFLAGS to CXXFLAGS when converting to C++
[lttng-tools.git] / tests / regression / kernel / select_poll_epoll.cpp
index fb72f6e5a582c48899752acbeeb3bd20966ccc39..32cecddbb13409c2e1551385c47eb7043142538b 100644 (file)
@@ -5,27 +5,36 @@
  *
  */
 
-#include <stdio.h>
+/*
+ * This test voluntarily does buffer overflows and stack overruns, disable
+ * source fortification.
+ */
+#ifdef _FORTIFY_SOURCE
+#undef _FORTIFY_SOURCE
+#endif
+
+#include <fcntl.h>
+#include <limits.h>
 #include <poll.h>
+#include <popt.h>
+#include <pthread.h>
 #include <signal.h>
-#include <unistd.h>
-#include <sys/syscall.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <stddef.h>
-#include <sys/select.h>
 #include <sys/epoll.h>
-#include <popt.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <limits.h>
-#include <pthread.h>
 #include <sys/mman.h>
-#include <common/compat/time.h>
-#include <common/error.h>
+#include <sys/resource.h>
+#include <sys/select.h>
+#include <sys/stat.h>
+#include <sys/syscall.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include <common/compat/time.hpp>
+#include <common/error.hpp>
 
 #define BUF_SIZE 256
 #define NB_FD 1
@@ -58,7 +67,8 @@ static void epoll_pwait_concurrent_munmap(FILE *validation_output_file);
 
 typedef void (*test_case_cb)(FILE *output_file);
 
-static const struct test_case {
+namespace {
+const struct test_case {
        test_case_cb run;
        bool produces_validation_info;
        int timeout;
@@ -66,21 +76,22 @@ static const struct test_case {
 {
        { .run = run_working_cases, .produces_validation_info = true, .timeout = -1 },
        { .run = run_working_cases, .produces_validation_info = true, .timeout = 1 },
-       { .run = pselect_invalid_fd, .produces_validation_info = false },
-       { .run = test_ppoll_big, .produces_validation_info = false },
-       { .run = ppoll_fds_buffer_overflow, .produces_validation_info = false },
-       { .run = pselect_invalid_pointer, .produces_validation_info = false },
-       { .run = ppoll_fds_ulong_max, .produces_validation_info = false },
-       { .run = epoll_pwait_invalid_pointer, .produces_validation_info = true },
-       { .run = epoll_pwait_int_max, .produces_validation_info = true },
-       { .run = ppoll_concurrent_write, .produces_validation_info = false },
-       { .run = epoll_pwait_concurrent_munmap, .produces_validation_info = true },
+       { .run = pselect_invalid_fd, .produces_validation_info = false, .timeout = 0 },
+       { .run = test_ppoll_big, .produces_validation_info = false, .timeout = 0 },
+       { .run = ppoll_fds_buffer_overflow, .produces_validation_info = false, .timeout = 0 },
+       { .run = pselect_invalid_pointer, .produces_validation_info = false, .timeout = 0 },
+       { .run = ppoll_fds_ulong_max, .produces_validation_info = false, .timeout = 0 },
+       { .run = epoll_pwait_invalid_pointer, .produces_validation_info = true, .timeout = 0 },
+       { .run = epoll_pwait_int_max, .produces_validation_info = true, .timeout = 0 },
+       { .run = ppoll_concurrent_write, .produces_validation_info = false, .timeout = 0 },
+       { .run = epoll_pwait_concurrent_munmap, .produces_validation_info = true, .timeout = 0 },
 };
 
 struct ppoll_thread_data {
        struct pollfd *ufds;
        int value;
 };
+} /* namespace */
 
 static
 void test_select_big(void)
@@ -935,7 +946,7 @@ int main(int argc, const char **argv)
                { "validation-file", 'o', POPT_ARG_STRING, &test_validation_output_file_path, 0,
                        "Test case output", NULL },
                POPT_AUTOHELP
-               { NULL, 0, 0, NULL, 0 }
+               { NULL, 0, 0, NULL, 0, NULL, NULL }
        };
        const struct test_case *test_case;
 
This page took 0.02434 seconds and 4 git commands to generate.