if get_option('build_tests') test('mfem_build_policy', python_build, args: files('../tools/test_mfem_build_policy.py'), suite: 'build', timeout: 60) catch2_dep = dependency('catch2-with-main', version: '>=3.0', fallback: ['catch2', 'catch2_with_main_dep'], default_options: ['tests=false', 'install=false']) subdir('discritization') subdir('mapping') subdir('eos') subdir('quadrature') subdir('equations') subdir('surface') subdir('deformation') subdir('utils') subdir('normalization') subdir('preconditioner') subdir('model') subdir('solver') subdir('serialize') test_include_dir = include_directories('include') test_sources = discretization_test_sources + mapping_test_sources + eos_test_sources + quadrature_test_sources + equation_test_sources + surface_test_sources + deformation_test_sources + normalization_test_sources serif_tests = executable( 'serif_tests', test_sources, dependencies: [serif_dep, catch2_dep, stroid_dep], include_directories: test_include_dir, build_rpath: mfem_runtime_prefix == '' ? '' : mfem_runtime_prefix / 'lib', ) test('serif_unit_tests', serif_tests, args: ['[unit]~[vector_gradient]'], suite: 'unit', timeout: 120) # These exhaustive dense/tensor comparisons have their own budget without reducing the ordinary unit checks. test('serif_vector_gradient_tests', serif_tests, args: ['[unit][vector_gradient]'], suite: 'unit', timeout: 300, is_parallel: false) test('serif_integration_tests', serif_tests, args: ['[integration]~[nonconforming]~[serial_backend]'], suite: 'integration', timeout: 300) test('serif_serial_backend_tests', serif_tests, args: ['[integration][serial_backend]~[nonconforming]'], suite: 'integration', timeout: 600) # Keep native nonconforming studies together without shortening the existing tests' budgets. test('serif_nonconforming_tests', serif_tests, args: ['[integration][nonconforming]'], suite: 'integration', timeout: 1200, is_parallel: false) subdir('sandbox') endif