10a01b2a9SWilliam A. Kennington IIIgtest = dependency('gtest', main: true, disabler: true, required: false) 20a01b2a9SWilliam A. Kennington IIIgmock = dependency('gmock', disabler: true, required: false) 30a01b2a9SWilliam A. Kennington IIIif not gtest.found() or not gmock.found() 40a01b2a9SWilliam A. Kennington III gtest_opts = import('cmake').subproject_options() 50a01b2a9SWilliam A. Kennington III gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'}) 60a01b2a9SWilliam A. Kennington III gtest_proj = import('cmake').subproject( 70a01b2a9SWilliam A. Kennington III 'googletest', 80a01b2a9SWilliam A. Kennington III options: gtest_opts, 9*297a63b4SPatrick Williams required: false, 10*297a63b4SPatrick Williams ) 110a01b2a9SWilliam A. Kennington III if gtest_proj.found() 120a01b2a9SWilliam A. Kennington III gtest = declare_dependency( 130a01b2a9SWilliam A. Kennington III dependencies: [ 140a01b2a9SWilliam A. Kennington III dependency('threads'), 150a01b2a9SWilliam A. Kennington III gtest_proj.dependency('gtest'), 160a01b2a9SWilliam A. Kennington III gtest_proj.dependency('gtest_main'), 17*297a63b4SPatrick Williams ], 18*297a63b4SPatrick Williams ) 190a01b2a9SWilliam A. Kennington III gmock = gtest_proj.dependency('gmock') 200a01b2a9SWilliam A. Kennington III else 21fc3aff91SWilliam A. Kennington III assert(not get_option('tests').enabled(), 'Googletest is required') 220a01b2a9SWilliam A. Kennington III endif 230a01b2a9SWilliam A. Kennington IIIendif 240a01b2a9SWilliam A. Kennington III 250a01b2a9SWilliam A. Kennington IIItest_headers = include_directories('.') 260a01b2a9SWilliam A. Kennington III 270a01b2a9SWilliam A. Kennington IIItest_deps = [ 280a01b2a9SWilliam A. Kennington III meson.get_compiler('cpp').find_library('dl'), 290a01b2a9SWilliam A. Kennington III networkd_dep, 300a01b2a9SWilliam A. Kennington III gtest, 310a01b2a9SWilliam A. Kennington III gmock, 3284bfe679SWilliam A. Kennington III dependency('stdplus-gtest'), 330a01b2a9SWilliam A. Kennington III] 340a01b2a9SWilliam A. Kennington III 350a01b2a9SWilliam A. Kennington IIItest_lib = static_library( 360a01b2a9SWilliam A. Kennington III 'networkd-test', 370a01b2a9SWilliam A. Kennington III 'mock_syscall.cpp', 380a01b2a9SWilliam A. Kennington III implicit_include_directories: false, 390a01b2a9SWilliam A. Kennington III include_directories: test_headers, 40*297a63b4SPatrick Williams dependencies: test_deps, 41*297a63b4SPatrick Williams) 420a01b2a9SWilliam A. Kennington III 430a01b2a9SWilliam A. Kennington IIItest_dep = declare_dependency( 440a01b2a9SWilliam A. Kennington III dependencies: test_deps, 450a01b2a9SWilliam A. Kennington III include_directories: test_headers, 46*297a63b4SPatrick Williams link_with: test_lib, 47*297a63b4SPatrick Williams) 480a01b2a9SWilliam A. Kennington III 490a01b2a9SWilliam A. Kennington IIItests = [ 500a01b2a9SWilliam A. Kennington III 'config_parser', 510a01b2a9SWilliam A. Kennington III 'ethernet_interface', 520a01b2a9SWilliam A. Kennington III 'netlink', 530a01b2a9SWilliam A. Kennington III 'network_manager', 546a92363eSWilliam A. Kennington III 'rtnetlink', 55bb0eaccbSWilliam A. Kennington III 'types', 560a01b2a9SWilliam A. Kennington III 'util', 570a01b2a9SWilliam A. Kennington III] 580a01b2a9SWilliam A. Kennington III 5984bfe679SWilliam A. Kennington IIIrun_with_tmp = find_program('run_with_tmp', native: true) 6084bfe679SWilliam A. Kennington III 617ba2d560SWilliam A. Kennington IIIadd_test_setup( 627ba2d560SWilliam A. Kennington III 'networkd', 637ba2d560SWilliam A. Kennington III exe_wrapper: run_with_tmp, 647ba2d560SWilliam A. Kennington III env: {'TMPTMPL': 'phosphor-networkd-test.XXXXXXXXXX'}, 65*297a63b4SPatrick Williams is_default: true, 66*297a63b4SPatrick Williams) 677ba2d560SWilliam A. Kennington III 687ba2d560SWilliam A. Kennington IIIadd_test_setup( 697ba2d560SWilliam A. Kennington III 'valgrind', 707ba2d560SWilliam A. Kennington III exe_wrapper: [run_with_tmp, 'valgrind'], 71*297a63b4SPatrick Williams env: {'TMPTMPL': 'phosphor-networkd-test.XXXXXXXXXX'}, 72*297a63b4SPatrick Williams) 737ba2d560SWilliam A. Kennington III 740a01b2a9SWilliam A. Kennington IIIforeach t : tests 750a01b2a9SWilliam A. Kennington III test( 760a01b2a9SWilliam A. Kennington III t, 777ba2d560SWilliam A. Kennington III executable( 780a01b2a9SWilliam A. Kennington III t.underscorify(), 790a01b2a9SWilliam A. Kennington III 'test_' + t + '.cpp', 800a01b2a9SWilliam A. Kennington III implicit_include_directories: false, 81*297a63b4SPatrick Williams dependencies: test_dep, 82*297a63b4SPatrick Williams ), 83*297a63b4SPatrick Williams ) 840a01b2a9SWilliam A. Kennington IIIendforeach 85a6c07570SAsmitha Karunanithi 86a6c07570SAsmitha Karunanithiif (get_option('hyp-nw-config') == true) 87a6c07570SAsmitha Karunanithi subdir('ibm/hypervisor-network-mgr-test') 88a6c07570SAsmitha Karunanithiendif 89