test(tests): added test suite

The test suite is extensive. Note that LLMs were used to aid in the development of the test suite. All LLM generated code was manually reviewed.
This commit is contained in:
2026-11-09 13:53:17 -05:00
parent 74e55a6859
commit cb20faeb3d
202 changed files with 35505 additions and 953 deletions

32
tests/solver/meson.build Normal file
View File

@@ -0,0 +1,32 @@
solver_test_sources = files('linear.cpp', 'linear_overflow.cpp', 'seed.cpp', 'nonlinear.cpp', 'nonlinear_parity.cpp', 'strategies.cpp',
'nonconforming.cpp', 'continuation_controller.cpp', 'continuation_family.cpp', 'continuation_driver.cpp', 'continuation_settings.cpp', 'continuation_equilibrium.cpp', 'archive.cpp', 'virial.cpp')
serif_solver_tests = executable(
'serif_solver_tests',
solver_test_sources,
dependencies: [serif_dep, catch2_dep, stroid_dep],
include_directories: include_directories('../include'),
build_rpath: mfem_runtime_prefix == '' ? '' : mfem_runtime_prefix / 'lib',
)
# Complete seed regressions assemble real moving stars, including in debug builds.
test('serif_solver_tests', serif_solver_tests, args: ['~[stellar_solve]~[ester]~[nonconforming_stellar_solve]'], suite: 'solver', timeout: 1800, is_parallel: false)
# Keep the coupled hanging-node regression visible in the normal suite with its own budget.
test('serif_nonconforming_stellar_tests', serif_solver_tests, args: ['[nonconforming_stellar_solve]'],
suite: 'solver', timeout: 3600, is_parallel: false)
# The archived validation study is an explicit long-running reproduction tool.
ester_validation = executable(
'ester_validation',
'ester_validation.cpp',
dependencies: [serif_dep, stroid_dep],
include_directories: include_directories('../include'),
build_rpath: mfem_runtime_prefix == '' ? '' : mfem_runtime_prefix / 'lib',
)
# Exercise the shared acceptance loop without any finite-element backend.
serif_core_solver_tests = executable(
'serif_core_solver_tests',
'backend_independent.cpp',
dependencies: [serif_core_dep, catch2_dep],
)
test('serif_core_solver_tests', serif_core_solver_tests, suite: 'solver', timeout: 30)