• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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