1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <gtest/gtest.h>
4
5 #include "c11/threads.h"
6 #include "util/perf/u_trace.h"
7
8 #define NUM_DEBUG_TEST_THREAD 8
9
10 static int
test_thread(void * _state)11 test_thread(void *_state)
12 {
13 struct u_trace_context ctx = {};
14 u_trace_context_init(&ctx, NULL, NULL, NULL, NULL, NULL, NULL);
15 u_trace_context_fini(&ctx);
16
17 return 0;
18 }
19
TEST(UtilPerfTraceTest,Multithread)20 TEST(UtilPerfTraceTest, Multithread)
21 {
22 static char env_tracefile[] = "MESA_GPU_TRACEFILE=tracefile_for_test-b5ba5a0c-6ed1-4901-a38d-755991182663";
23 thrd_t threads[NUM_DEBUG_TEST_THREAD];
24 putenv(env_tracefile);
25 for (unsigned i = 0; i < NUM_DEBUG_TEST_THREAD; i++) {
26 thrd_create(&threads[i], test_thread, NULL);
27 }
28 for (unsigned i = 0; i < NUM_DEBUG_TEST_THREAD; i++) {
29 int ret;
30 thrd_join(threads[i], &ret);
31 }
32 }
33