meson.build 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. #
  14. # css-check parses the shipped stylesheets as text (no browser): the
  15. # Airy DWM glide-in curve is numerically the Win7 f(t)=1-(1-t)^3 open /
  16. # t^3 close, core padding defaults plus their :has() zero-guards, theme
  17. # token sets, demo-page coverage, formal's .prose opt-out, brace/paren
  18. # balance, README freshness.
  19. python3 = import('python').find_installation('python3')
  20. spry_tests = executable('spry-tests',
  21. ['TestMain.vala'],
  22. dependencies: [statum_dep, spry_dep, sodium_deps, invercargill_sql_dep, sqlite_dep, astralis_dep, libxml_dep],
  23. install: false
  24. )
  25. test('spry', spry_tests)
  26. rehash_probe = executable('rehash-probe',
  27. ['RehashProbe.vala'],
  28. 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],
  29. install: false
  30. )
  31. test('spry-rehash-probe', rehash_probe,
  32. args: [join_paths(meson.current_build_dir(), 'rehash-probe.sqlite')],
  33. workdir: meson.current_build_dir()
  34. )
  35. test('css-check', python3,
  36. args: files('css_check.py'),
  37. workdir: meson.project_source_root()
  38. )