xref: /openbmc/google-misc/acpi-power-state-daemon/subprojects/ncsid/test/meson.build (revision 7c15db6f4dcd1da68967ca2a463ef890d4521f56)
11285115cSWilliam A. Kennington III# Copyright 2021 Google LLC
21285115cSWilliam A. Kennington III#
31285115cSWilliam A. Kennington III# Licensed under the Apache License, Version 2.0 (the "License");
41285115cSWilliam A. Kennington III# you may not use this file except in compliance with the License.
51285115cSWilliam A. Kennington III# You may obtain a copy of the License at
61285115cSWilliam A. Kennington III#
71285115cSWilliam A. Kennington III#      http://www.apache.org/licenses/LICENSE-2.0
81285115cSWilliam A. Kennington III#
91285115cSWilliam A. Kennington III# Unless required by applicable law or agreed to in writing, software
101285115cSWilliam A. Kennington III# distributed under the License is distributed on an "AS IS" BASIS,
111285115cSWilliam A. Kennington III# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121285115cSWilliam A. Kennington III# See the License for the specific language governing permissions and
131285115cSWilliam A. Kennington III# limitations under the License.
141285115cSWilliam A. Kennington III
151285115cSWilliam A. Kennington IIIgtest = dependency('gtest', main: true, disabler: true, required: false)
161285115cSWilliam A. Kennington IIIgmock = dependency('gmock', disabler: true, required: false)
171285115cSWilliam A. Kennington IIIif not gtest.found() or not gmock.found()
181285115cSWilliam A. Kennington III    gtest_proj = import('cmake').subproject(
191285115cSWilliam A. Kennington III        'googletest',
2024c61c7eSPatrick Williams        cmake_options: ['-DCMAKE_CXX_FLAGS=-Wno-pedantic'],
2124c61c7eSPatrick Williams        required: false,
2224c61c7eSPatrick Williams    )
231285115cSWilliam A. Kennington III    if gtest_proj.found()
241285115cSWilliam A. Kennington III        gtest = declare_dependency(
251285115cSWilliam A. Kennington III            dependencies: [
261285115cSWilliam A. Kennington III                dependency('threads'),
271285115cSWilliam A. Kennington III                gtest_proj.dependency('gtest'),
281285115cSWilliam A. Kennington III                gtest_proj.dependency('gtest_main'),
2924c61c7eSPatrick Williams            ],
3024c61c7eSPatrick Williams        )
311285115cSWilliam A. Kennington III        gmock = gtest_proj.dependency('gmock')
321285115cSWilliam A. Kennington III    else
3347a0ada2SPatrick Williams        assert(not build_tests.allowed(), 'Googletest is required')
341285115cSWilliam A. Kennington III    endif
351285115cSWilliam A. Kennington IIIendif
361285115cSWilliam A. Kennington III
371285115cSWilliam A. Kennington IIItests = [
381285115cSWilliam A. Kennington III    'iface_test',
39*7c15db6fSWilliam A. Kennington III    #'sock_test',
401285115cSWilliam A. Kennington III    #'ncsi_test',  # TODO: Re-enable when fixed
411285115cSWilliam A. Kennington III]
421285115cSWilliam A. Kennington III
431285115cSWilliam A. Kennington IIIncsid_test_headers = include_directories('.')
441285115cSWilliam A. Kennington III
451285115cSWilliam A. Kennington IIIncsid_test_lib = static_library(
461285115cSWilliam A. Kennington III    'ncsid_test',
4724c61c7eSPatrick Williams    ['net_iface_mock.cpp', 'nic_mock.cpp'],
481285115cSWilliam A. Kennington III    include_directories: ncsid_test_headers,
491285115cSWilliam A. Kennington III    implicit_include_directories: false,
5024c61c7eSPatrick Williams    dependencies: ncsid,
5124c61c7eSPatrick Williams)
521285115cSWilliam A. Kennington III
531285115cSWilliam A. Kennington IIIncsid_test = declare_dependency(
541285115cSWilliam A. Kennington III    dependencies: ncsid,
551285115cSWilliam A. Kennington III    include_directories: ncsid_test_headers,
5624c61c7eSPatrick Williams    link_with: ncsid_test_lib,
5724c61c7eSPatrick Williams)
581285115cSWilliam A. Kennington III
591285115cSWilliam A. Kennington IIIforeach t : tests
6024c61c7eSPatrick Williams    test(
6124c61c7eSPatrick Williams        t,
6224c61c7eSPatrick Williams        executable(
6324c61c7eSPatrick Williams            t.underscorify(),
6424c61c7eSPatrick Williams            t + '.cpp',
651285115cSWilliam A. Kennington III            implicit_include_directories: false,
6624c61c7eSPatrick Williams            dependencies: [gtest, gmock, ncsid_test],
6724c61c7eSPatrick Williams        ),
6824c61c7eSPatrick Williams    )
691285115cSWilliam A. Kennington IIIendforeach
701285115cSWilliam A. Kennington III
7124c61c7eSPatrick Williamsscript_tests = ['normalize_ip_test', 'normalize_mac_test']
721285115cSWilliam A. Kennington III
731285115cSWilliam A. Kennington IIIscript_env = environment()
741285115cSWilliam A. Kennington IIIscript_deps = []
751285115cSWilliam A. Kennington IIIscript_env.set('NORMALIZE_IP', normalize_ip.full_path())
761285115cSWilliam A. Kennington IIIscript_deps += normalize_ip
771285115cSWilliam A. Kennington IIIscript_env.set('NORMALIZE_MAC', normalize_mac.full_path())
781285115cSWilliam A. Kennington IIIscript_deps += normalize_mac
791285115cSWilliam A. Kennington III
801285115cSWilliam A. Kennington IIIforeach st : script_tests
8124c61c7eSPatrick Williams    test(
8224c61c7eSPatrick Williams        st,
8324c61c7eSPatrick Williams        find_program('bash'),
8424c61c7eSPatrick Williams        args: files(st + '.sh'),
8524c61c7eSPatrick Williams        protocol: 'tap',
8624c61c7eSPatrick Williams        env: script_env,
8724c61c7eSPatrick Williams        depends: script_deps,
8824c61c7eSPatrick Williams    )
891285115cSWilliam A. Kennington IIIendforeach
90