scheduler_test_src = [ 'test.c', ] scheduler_test_deps = [libxce_deps, librtti_dep, unity_dep, libxce_dep] incdir = include_directories('../include', '../../include', '.', '../src', '../../lib') scheduler_test = executable('sched_test', scheduler_test_src, include_directories:[incdir], dependencies: [scheduler_test_deps], install: false) # White-box test for the notify single-job in-place update path # (sched_update_existing_job). It #includes ../src/schedobj.c directly, so it # is a standalone TU with its own main() — built as a separate executable. sched_job_update_test = executable('sched_job_update_test', ['test_job_update.c'], include_directories:[incdir], dependencies: [scheduler_test_deps], install: false) # White-box test for the notify/dataset enqueue handlers. It #includes # ../src/handler.c directly (enq_pend_update + the static handlers), so it is a # standalone TU with its own main() — built as a separate executable. sched_handlers_test = executable('sched_handlers_test', ['test_handlers.c'], include_directories:[incdir], dependencies: [scheduler_test_deps], install: false) # Register as meson tests so `meson test --suite scheduler` runs them all. # detect_leaks=0 matches the suite convention (fixtures are not torn down). test('scheduler test', scheduler_test, suite: 'scheduler', env: ['ASAN_OPTIONS=detect_leaks=0']) test('scheduler job-update test', sched_job_update_test, suite: 'scheduler', env: ['ASAN_OPTIONS=detect_leaks=0']) test('scheduler handlers test', sched_handlers_test, suite: 'scheduler', env: ['ASAN_OPTIONS=detect_leaks=0'])