Test
SkillDev toolsLets your agent run FalkorDB's test suites and debug failing tests.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Test skill
About this capability
Run FalkorDB's test suites - Rust unit tests, Python e2e/function/MVCC/concurrency tests, openCypher TCK compliance tests, and flow tests. Use when asked to run, narrow down, or debug a failing test, or to decide which suite covers a change.
What this skill tells your AI
The instructions your AI receives, as published by falkordb/falkordb in .claude/skills/test/SKILL.md and read by ahel’s review.
All Python suites require the virtualenv. Locally it's ./venv (create once
with python3 -m venv venv && pip install -r tests/requirements.txt); inside
the devcontainer/CI it lives at /data/venv. The activation lines below fall
back between the two so they work in either environment. The module must be
built first (cargo build, see the build skill) for anything that loads
libfalkordb.{so,dylib}.
Rust unit tests (default choice for Rust-only changes)
cargo test -p graph
Python e2e / function / MVCC / concurrency tests
source venv/bin/activate 2>/dev/null || source /data/venv/bin/activate
pytest tests/test_e2e.py tests/test_functions.py -vv # e2e + function tests
pytest tests/test_mvcc.py tests/test_concurrency.py -vv # MVCC + concurrency tests
Run a single file/suite by narrowing the pytest args, e.g.
pytest tests/test_mvcc.py -vv.
TCK tests (openCypher language-compliance suite)
source venv/bin/activate 2>/dev/null || source /data/venv/bin/activate
TCK_DONE=tck_done.txt pytest tests/tck/test_tck.py -s # all currently-passing scenarios
TCK_INCLUDE=<path> pytest tests/tck/test_tck.py -s # only scenarios under <path>
tck_done.txtis the checked-in allow-list of scenarios expected to pass; a scenario newly failing there is a regression, one newly passing should be added to the file.- Common
TCK_INCLUDEpaths:tests/tck/features/expressions/list,tests/tck/features/expressions/map,tests/tck/features/clauses/match,tests/tck/features/clauses/return.
Flow tests (query flows against a running module instance)
cargo build # debug build required first (flow.sh defaults to target/debug)
./flow.sh
flow.sh supports env vars for narrowing/debugging a run:
TEST="tests/flow/test_function_calls" ./flow.sh— one fileTEST="tests/flow/test_function_calls:testFunctionCallsFlow.test89_JOIN" ./flow.sh— one testFAIL_FAST=1— stop on first failure, run serially (--parallelism 1)RELEASE=1— run againsttarget/releaseinstead oftarget/debug- Progress is tracked in
flow_tests_done.txt/flow_tests_todo.txt; logs land intests/flow/logs.
Notes
- CI (
rust-pr.yml) runs all of the above per PR/push, plus fuzzing and coverage — see thefuzz,profile, andcoverageskills for those. - Some flow tests against the replica (
-svc) are known-flaky under ASAN/coverage instrumentation due to a pre-existing concurrency race (atomic_refcell"already mutably borrowed"); if only those fail under those configurations, re-run before treating it as a regression.
If tests fail, analyze the output and help the user understand what went wrong.
Signals
- GitHub stars
- 6k
- Forks
- 460
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
test-falkordb- Source
- github.com/falkordb/falkordb