Skip to content

test: add integration tests for all backends#10

Merged
35C4n0r merged 2 commits into
mainfrom
35C4n0r/test-integration-all-backends
May 24, 2026
Merged

test: add integration tests for all backends#10
35C4n0r merged 2 commits into
mainfrom
35C4n0r/test-integration-all-backends

Conversation

@35C4n0r

@35C4n0r 35C4n0r commented May 24, 2026

Copy link
Copy Markdown
Owner
  • test_policy_resolver: add two tests that exercise a policy_resolver creating fresh TTLPolicy instances per call; the 50-thread scale test reliably reproduces the id()-cache collision that caused wrong threads to be evaluated against the wrong TTL
  • test_sweeper: replace test_loop_fails_on_exception (which asserted the broken die-on-error behavior) with test_loop_continues_after_exception and test_loop_logs_exception that verify the loop survives transient failures and emits an ERROR-level log entry
  • test_strategy_sqlite: add tests that query the writes table directly after a sweep, and a cross-contamination test that verifies surviving threads are not touched
  • test_strategy_postgres: full rewrite - add _row_count helpers, collect tests, hard_age_ttl test, three-table cleanup assertions for both sync and async paths, advisory lock type checks, real two-sweeper lock contention test, and incremental cursor collection test
  • pyproject.toml: add test-postgres extra with testcontainers[postgres], langgraph-checkpoint-postgres, and psycopg[binary]
  • ci.yml: add test-postgres job that installs test-postgres extra and runs tests/test_strategy_postgres.py; exclude postgres tests from the matrix job so they only run under Docker

…aces

- test_policy_resolver: add two tests that exercise a policy_resolver
  creating fresh TTLPolicy instances per call; the 50-thread scale test
  reliably reproduces the id()-cache collision that caused wrong threads
  to be evaluated against the wrong TTL
- test_sweeper: replace test_loop_fails_on_exception (which asserted the
  broken die-on-error behavior) with test_loop_continues_after_exception
  and test_loop_logs_exception that verify the loop survives transient
  failures and emits an ERROR-level log entry
- test_strategy_sqlite: add tests that query the writes table directly
  after a sweep, and a cross-contamination test that verifies surviving
  threads are not touched
- test_strategy_postgres: full rewrite - add _row_count helpers, collect
  tests, hard_age_ttl test, three-table cleanup assertions for both sync
  and async paths, advisory lock type checks, real two-sweeper lock
  contention test, and incremental cursor collection test
- pyproject.toml: add test-postgres extra with testcontainers[postgres],
  langgraph-checkpoint-postgres, and psycopg[binary]
- ci.yml: add test-postgres job that installs test-postgres extra and
  runs tests/test_strategy_postgres.py; exclude postgres tests from the
  matrix job so they only run under Docker
@35C4n0r 35C4n0r self-assigned this May 24, 2026
@35C4n0r 35C4n0r force-pushed the 35C4n0r/test-integration-all-backends branch from e0752f8 to 47d8a82 Compare May 24, 2026 05:01
@35C4n0r 35C4n0r force-pushed the 35C4n0r/test-integration-all-backends branch from 47d8a82 to 6969b7b Compare May 24, 2026 05:11
@35C4n0r 35C4n0r merged commit 08ed4a7 into main May 24, 2026
4 checks passed
@35C4n0r 35C4n0r deleted the 35C4n0r/test-integration-all-backends branch May 24, 2026 05:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant