blob: 30983f9f52a6f3c6941a23afe434207cd13eeb43 [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
# Test status library.
sw_lib_testing_test_status = declare_dependency(
link_with: static_library(
'test_status_ot',
sources: ['test_status.c'],
dependencies: [
sw_lib_mmio,
sw_lib_runtime_log,
sw_lib_runtime_hart,
],
)
)
# NOP coverage dependencies when coverage is not enabled.
sw_lib_testing_test_coverage = declare_dependency(
link_with: static_library(
'test_coverage_none',
sources: [files('test_coverage_none.c')],
),
)
collect_coverage = declare_dependency()
if coverage
# Test coverage library that provides runtime functions for LLVM profiling.
sw_lib_testing_test_coverage = declare_dependency(
link_with: static_library(
'test_coverage_llvm',
include_directories: sw_vendor_llvm_clang_rt_inc_dir,
sources: [
sw_vendor_llvm_clang_rt_sources,
files('test_coverage_llvm.c'),
],
dependencies: [
sw_lib_mem,
sw_lib_dif_uart,
sw_lib_runtime_log,
],
),
)
# Dependency for enabling coverage
collect_coverage = declare_dependency(
compile_args: ['-fprofile-instr-generate', '-fcoverage-mapping'],
dependencies: sw_lib_testing_test_coverage,
)
endif
sw_lib_testing_test_main = declare_dependency(
link_with: static_library(
'test_main_ot',
sources: ['test_main.c'],
dependencies: [
sw_lib_runtime_log,
sw_lib_runtime_print,
sw_lib_dif_uart,
sw_lib_testing_test_status,
sw_lib_testing_test_coverage,
],
)
)
sw_lib_testing_bitfield = declare_dependency(
link_with: static_library(
'bitfield',
sources: [
meson.source_root() / 'sw/device/lib/base/bitfield.c',
],
native: true,
)
)
sw_lib_testing_mock_mmio = declare_dependency(
link_with: static_library(
'mock_mmio',
sources: [
meson.source_root() / 'sw/device/lib/base/mmio.c',
'mock_mmio.cc',
],
dependencies: [
sw_vendor_gtest,
sw_lib_testing_bitfield,
],
native: true,
c_args: ['-DMOCK_MMIO'],
cpp_args: ['-DMOCK_MMIO'],
)
)
# Example test using mock_mmio.h, which also serves to
# test that mock_mmio.h works correctly.
test('mock_mmio_test', executable(
'mock_mmio_test',
sources: ['mock_mmio_test.cc'],
dependencies: [
sw_vendor_gtest,
sw_lib_testing_mock_mmio,
],
native: true,
cpp_args: ['-DMOCK_MMIO'],
))
sw_lib_testing_mock_csr = declare_dependency(
link_with: static_library(
'mock_csr',
sources: [
'mock_csr.cc',
],
dependencies: [
sw_vendor_gtest,
],
native: true,
c_args: ['-DMOCK_CSR'],
cpp_args: ['-DMOCK_CSR'],
)
)
# Example test using mock_csr.h, which also serves to
# test that mock_csr.h works correctly.
test('mock_csr_test', executable(
'mock_csr_test',
sources: ['mock_csr_test.cc'],
dependencies: [
sw_vendor_gtest,
sw_lib_testing_mock_csr,
],
native: true,
cpp_args: ['-DMOCK_CSR'],
))