meson.build 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. # Spry test suite: SA-1/SA-14 session-validity epoch semantics (frame
  2. # as_at vs sessions_valid_after, the NULL-epoch migration default, the
  3. # bump source), the M0002 migration's additive-only SQL shape, the
  4. # SA-7/SA-8 password policy (length bounds, deny-list, admin seeding
  5. # thresholds), SA-16 Argon2 PHC parsing and the rehash decision, and
  6. # SA-17's generic client error text. Prints PASS/FAIL lines and exits
  7. # non-zero on failure.
  8. #
  9. # rehash-probe is the live-database companion (not a unit test): it
  10. # boots a real SQLite store through the same wiring as SpryModule and
  11. # verifies the full SA-16 path — register, force-stale the stored hash,
  12. # authenticate, hash rewritten at current parameters, epoch untouched.
  13. spry_tests = executable('spry-tests',
  14. ['TestMain.vala'],
  15. dependencies: [statum_dep, spry_dep, sodium_deps, invercargill_sql_dep, sqlite_dep, astralis_dep, libxml_dep],
  16. install: false
  17. )
  18. test('spry', spry_tests)
  19. rehash_probe = executable('rehash-probe',
  20. ['RehashProbe.vala'],
  21. dependencies: [statum_dep, spry_dep, sodium_deps, invercargill_sql_dep, invercargill_sql_inversion_dep, sqlite_dep, astralis_dep, libxml_dep, json_glib_dep, inversion_dep, glib_dep, gobject_dep, gio_dep],
  22. install: false
  23. )
  24. test('spry-rehash-probe', rehash_probe,
  25. args: [join_paths(meson.current_build_dir(), 'rehash-probe.sqlite')],
  26. workdir: meson.current_build_dir()
  27. )