mempalace/tests
Igor Lins e Silva 426d164df4 test(hooks): isolate test_hooks_cli from test_cli side effect (#1510)
Nine save/log/precompact tests in test_hooks_cli.py passed only because
test_cli.py (alphabetically earlier) created ~/.mempalace in the session
tmp HOME as a side effect, satisfying the _palace_root_exists()
kill-switch. Run in isolation they short-circuited and failed (9 failed,
80 passed, 1 skipped).

Add a module autouse fixture that points PALACE_ROOT/STATE_DIR at a
per-test palace root that exists, so every test is robust standalone and
future tests don't inherit the trap. Kill-switch tests that need the
absent path call _redirect_palace_root after the fixture; monkeypatch
last-write-wins keeps their absent/file root and teardown restores the
real module value.

Isolation: pytest tests/test_hooks_cli.py -> 100 passed, 1 skipped.
Ordering preserved: test_cli + test_hooks_cli -> 165 passed.

Closes #1510
2026-05-18 17:28:50 -03:00
..
benchmarks test(mcp): migrate _kg monkeypatches to _get_kg (#1136) 2026-05-03 17:43:00 +05:00
conftest.py Update conftest.py as part of fix(tests): isolate palace lock subprocess state 2026-05-09 11:20:33 +02:00
test_backends.py fix: avoid false HNSW metadata quarantine 2026-05-18 16:08:55 -03:00
test_chroma_collection_lock.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_claude_plugin_hook_config.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_claude_plugin_hook_wrappers.py test: normalize wrapper script path for bash on Windows 2026-04-19 10:34:11 +02:00
test_cli.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_closet_llm.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_closets.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_collection_metric_invariant.py fix(test): use tmp_path for full-stack invariant test (Windows CI) 2026-04-25 00:39:37 -03:00
test_config.py fix(config): catch OverflowError in coercion; correct "stricter" wording 2026-05-15 11:01:48 -03:00
test_config_extra.py test(config): make palace_path tests portable across POSIX and Windows 2026-04-24 11:13:51 +02:00
test_convo_miner.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_convo_miner_size_cap.py Raise convo_miner MAX_FILE_SIZE cap 10 MB → 500 MB 2026-04-18 12:52:01 -03:00
test_convo_miner_unit.py fix(convo_miner): scope skip-check and drawer ids by extract_mode (#1505) 2026-05-16 17:55:10 +05:30
test_convo_scanner.py fix(llm): tighter refinement — word boundaries, JSON extraction, authoritative sources 2026-04-24 01:30:40 -03:00
test_corpus_origin.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_corpus_origin_integration.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_dedup.py refactor: route all chromadb access through ChromaBackend 2026-04-14 00:31:16 -03:00
test_dialect.py fix: align cmd_compress dict keys with compression_stats() return values (#569) 2026-04-11 16:16:31 -07:00
test_embedding.py test: isolate embedding module state with monkeypatch 2026-04-24 23:11:29 +00:00
test_empty_chromadb_results.py fix(searcher): guard against empty ChromaDB query results (#195) (#865) 2026-04-15 00:26:38 -07:00
test_entity_detector.py feat(graph): cross-wing tunnels by shared topics (#1180) 2026-04-24 23:06:26 -03:00
test_entity_registry.py fix(entity_registry): clean up .tmp sidecar on write or rename failure (#1373) 2026-05-10 12:56:50 +02:00
test_exporter.py fix(exporter): refuse symlinks at file targets and skip tests on Windows 2026-05-07 12:51:47 -03:00
test_fact_checker.py fix(cli, fact-checker): per-stream stdio errors policy on Windows 2026-05-03 21:37:12 +05:00
test_general_extractor.py style: format test files with ruff 2026-04-08 21:08:49 +03:00
test_hall_detection.py fix: README audit — 42 TDD tests + hall detection + 7 claim fixes (#835) 2026-04-13 17:11:11 -07:00
test_hnsw_capacity.py fix: use configured collection in recovery paths 2026-05-07 09:10:00 -03:00
test_hnsw_payload_health.py style: ruff format test_hnsw_payload_health.py (#1461 follow-up) 2026-05-14 19:17:26 -03:00
test_hooks_bash_compat.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_hooks_cli.py test(hooks): isolate test_hooks_cli from test_cli side effect (#1510) 2026-05-18 17:28:50 -03:00
test_hooks_shell.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_hybrid_candidate_union.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_hybrid_search.py merge: pr/closet-llm-generic + harden LLM regen path for production 2026-04-13 18:40:36 -03:00
test_i18n.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_i18n_lang_case.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_init.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_init_gitignore_protection.py fix(init): auto-add per-project files to .gitignore in git repos (#185) (#866) 2026-04-15 00:26:41 -07:00
test_instructions_cli.py fix: add explicit UTF-8 encoding to read_text() calls (#776) 2026-04-16 16:00:29 +05:00
test_kg_thread_safety.py fix: add missing self._lock to KnowledgeGraph.close() 2026-04-14 13:09:10 -07:00
test_knowledge_graph.py fix(kg): close sqlite connections during cleanup 2026-05-08 14:44:04 +00:00
test_knowledge_graph_extra.py test: bring coverage to 85%, set threshold to 85, reset version to 3.0.11 2026-04-08 21:38:12 +03:00
test_known_entities_registry.py feat(graph): cross-wing tunnels by shared topics (#1180) 2026-04-24 23:06:26 -03:00
test_layers.py fix: guard None metadata/doc in tool_check_duplicate and Layer1/Layer2 2026-04-19 11:13:50 +03:00
test_llm_client.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_llm_refine.py feat(graph): cross-wing tunnels by shared topics (#1180) 2026-04-24 23:06:26 -03:00
test_mcp_server.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_mcp_stdio_protection.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_migrate.py fix(migrate): close SQLite connection and clean temp palace on exception 2026-05-10 13:06:40 +02:00
test_miner.py Merge pull request #1528 from therahul-yo/fix/1505-extract-mode-aware-skip 2026-05-17 23:16:10 -03:00
test_miner_jsonl_visibility.py Harden sweeper for production: verbatim tool blocks, full session_id, logged failures 2026-04-18 13:14:32 -03:00
test_normalize.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_onboarding.py fix: add explicit UTF-8 encoding to read_text() calls (#776) 2026-04-16 16:00:29 +05:00
test_palace.py fix(palace): stratify state messages for empty/missing palace (#1498) 2026-05-17 03:57:19 +05:00
test_palace_graph.py fix(palace_graph): skip None metadata in build_graph 2026-04-25 11:06:32 -07:00
test_palace_graph_tunnels.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_palace_locks.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_project_scanner.py feat(graph): cross-wing tunnels by shared topics (#1180) 2026-04-24 23:06:26 -03:00
test_query_sanitizer.py fix: make quote trimming explicit 2026-04-12 22:19:58 -03:00
test_readme_claims.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_repair.py fix: VACUUM + FTS5 rebuild after repair to reclaim SQLite space 2026-05-18 16:10:16 -03:00
test_room_detector_local.py fix: skip unreachable reparse points in detect_rooms_from_folders (#558) 2026-04-11 16:16:06 -07:00
test_save_hook_mines.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_save_hook_verbose.py feat: add MEMPAL_VERBOSE toggle — developers see diaries in chat (#871) 2026-04-14 10:55:56 -07:00
test_searcher.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_sources.py chore(tests): wrap sqlite3 connections in contextlib.closing 2026-05-09 20:25:47 -03:00
test_spellcheck.py style: format test files with ruff 2026-04-08 21:08:49 +03:00
test_spellcheck_extra.py test: bring coverage to 85%, set threshold to 85, reset version to 3.0.11 2026-04-08 21:38:12 +03:00
test_split_mega_files.py test: expand coverage to 70%, fix mcp_server CI crash (threshold 60%) 2026-04-08 21:07:03 +03:00
test_sweeper.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_sync.py style: reformat tree with ruff 0.15.9 2026-05-17 23:20:01 -03:00
test_version_consistency.py fix: unify package and MCP version reporting 2026-04-07 08:53:25 +01:00