| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- # Spry test suite: SA-1/SA-14 session-validity epoch semantics (frame
- # as_at vs sessions_valid_after, the NULL-epoch migration default, the
- # bump source), the M0002 migration's additive-only SQL shape, the
- # SA-7/SA-8 password policy (length bounds, deny-list, admin seeding
- # thresholds), SA-16 Argon2 PHC parsing and the rehash decision, and
- # SA-17's generic client error text. Prints PASS/FAIL lines and exits
- # non-zero on failure.
- #
- # rehash-probe is the live-database companion (not a unit test): it
- # boots a real SQLite store through the same wiring as SpryModule and
- # verifies the full SA-16 path — register, force-stale the stored hash,
- # authenticate, hash rewritten at current parameters, epoch untouched.
- #
- # css-check parses the shipped stylesheets as text (no browser): the
- # Airy DWM glide-in curve is numerically the Win7 f(t)=1-(1-t)^3 open /
- # t^3 close, core padding defaults plus their :has() zero-guards, theme
- # token sets, demo-page coverage, formal's .prose opt-out, brace/paren
- # balance, README freshness.
- python3 = import('python').find_installation('python3')
- spry_tests = executable('spry-tests',
- ['TestMain.vala'],
- dependencies: [statum_dep, spry_dep, sodium_deps, invercargill_sql_dep, sqlite_dep, astralis_dep, libxml_dep],
- install: false
- )
- test('spry', spry_tests)
- rehash_probe = executable('rehash-probe',
- ['RehashProbe.vala'],
- 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],
- install: false
- )
- test('spry-rehash-probe', rehash_probe,
- args: [join_paths(meson.current_build_dir(), 'rehash-probe.sqlite')],
- workdir: meson.current_build_dir()
- )
- test('css-check', python3,
- args: files('css_check.py'),
- workdir: meson.project_source_root()
- )
|