• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) PLUMgrid, Inc.
2# Licensed under the Apache License, Version 2.0 (the "License")
3
4include_directories(${PROJECT_SOURCE_DIR}/src/cc)
5include_directories(${PROJECT_SOURCE_DIR}/src/cc/api)
6include_directories(${PROJECT_SOURCE_DIR}/src/cc/libbpf/include/uapi)
7include_directories(${PROJECT_SOURCE_DIR}/tests/python/include)
8
9add_executable(test_static test_static.c)
10if(NOT CMAKE_USE_LIBBPF_PACKAGE)
11  target_link_libraries(test_static bcc-static)
12else()
13  target_link_libraries(test_static bcc-shared)
14endif()
15
16add_test(NAME c_test_static COMMAND ${TEST_WRAPPER} c_test_static sudo ${CMAKE_CURRENT_BINARY_DIR}/test_static)
17
18set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-result -fPIC")
19set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-result -fPIC")
20
21if(ENABLE_USDT)
22set(TEST_LIBBCC_SOURCES
23	test_libbcc.cc
24	test_c_api.cc
25	test_array_table.cc
26	test_bpf_table.cc
27	test_cg_storage.cc
28	test_hash_table.cc
29	test_map_in_map.cc
30	test_perf_event.cc
31	test_pinned_table.cc
32	test_prog_table.cc
33	test_queuestack_table.cc
34	test_shared_table.cc
35	test_sk_storage.cc
36	test_sock_table.cc
37	test_usdt_args.cc
38	test_usdt_probes.cc
39	utils.cc
40	test_parse_tracepoint.cc)
41
42file(COPY dummy_proc_map.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
43add_library(usdt_test_lib SHARED usdt_test_lib.cc)
44
45if(NOT CMAKE_USE_LIBBPF_PACKAGE)
46  add_executable(test_libbcc ${TEST_LIBBCC_SOURCES})
47  add_dependencies(test_libbcc bcc-shared)
48
49  target_link_libraries(test_libbcc ${PROJECT_BINARY_DIR}/src/cc/libbcc.so dl usdt_test_lib)
50  set_target_properties(test_libbcc PROPERTIES INSTALL_RPATH ${PROJECT_BINARY_DIR}/src/cc)
51  target_compile_definitions(test_libbcc PRIVATE -DLIBBCC_NAME=\"libbcc.so\")
52
53  add_test(NAME test_libbcc COMMAND ${TEST_WRAPPER} c_test_all sudo ${CMAKE_CURRENT_BINARY_DIR}/test_libbcc)
54endif()
55
56if(LIBBPF_FOUND)
57  add_executable(test_libbcc_no_libbpf ${TEST_LIBBCC_SOURCES})
58  add_dependencies(test_libbcc_no_libbpf bcc-shared)
59
60  target_link_libraries(test_libbcc_no_libbpf ${PROJECT_BINARY_DIR}/src/cc/libbcc.so dl usdt_test_lib ${LIBBPF_LIBRARIES})
61  set_target_properties(test_libbcc_no_libbpf PROPERTIES INSTALL_RPATH ${PROJECT_BINARY_DIR}/src/cc)
62  target_compile_definitions(test_libbcc_no_libbpf PRIVATE -DLIBBCC_NAME=\"libbcc.so\")
63
64  add_test(NAME test_libbcc_no_libbpf COMMAND ${TEST_WRAPPER} c_test_all_no_libbpf sudo ${CMAKE_CURRENT_BINARY_DIR}/test_libbcc_no_libbpf)
65endif()
66
67endif(ENABLE_USDT)
68