Orchestrata Ultimate › Tests › Reference › scripts › test_ast_warm_cache
Tests reference — tests/scripts/test_ast_warm_cache.py
Module of tests/scripts, split out because the directory page would be too large.
Prose pending.
tests/scripts/test_ast_warm_cache.py
source · 31 tests · 1000 lines
Tests for the AST-toolkit warm-cache read path (scripts/serialize_codebase_ast.py).
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_warm_symbols_byte_identical_to_cold |
135 | |
| function | test_warm_refs_byte_identical_to_cold |
163 | |
| function | test_warm_find_cycles_byte_identical_to_cold |
184 | |
| function | test_warm_call_graph_byte_identical_to_cold |
212 | |
| function | test_edit_one_file_only_that_file_reparsed_others_unchanged |
259 | |
| function | test_delete_file_drops_symbols_and_dependency_edges |
310 | |
| function | test_renamed_file_old_path_dropped_new_path_parsed |
331 | |
| function | test_missing_file_meta_falls_back_silently_to_correct_results |
374 | |
| function | test_corrupt_json_cache_falls_back_silently |
395 | |
| function | test_load_or_analyze_fallback_reasons |
412 | Direct unit coverage of load_or_analyze's mismatch -> fallback paths |
| function | test_incremental_serialize_matches_full_on_unchanged_tree |
465 | |
| function | test_incremental_serialize_reflects_edit_and_matches_full |
490 | |
| function | test_incremental_serialize_first_run_falls_back_and_writes_file_meta |
517 | No previous output exists yet: --incremental must behave exactly like |
| function | test_serialize_file_meta_is_additive |
529 | A plain (non-incremental) serialize gains file_meta without losing or |
| function | test_no_cache_flag_never_touches_a_sidecar |
560 | |
| function | test_disabled_cache_state_computes_directly |
572 | _cached_extract with the warm cache disabled just calls compute() — |
| function | test_cached_extract_direct_call_without_prior_sidecar_entry |
588 | _cached_extract called directly (bypassing _iter_py_files/_parse_cached, |
| function | test_corrupt_sidecar_degrades_to_cold_parse_and_is_discarded |
616 | A DAMAGED sidecar must never break the tool — it degrades to a cold |
| function | test_concurrent_saves_use_distinct_temp_files |
657 | Two processes saving the sidecar must not write the same temp path. |
| function | test_reap_removes_dead_pid_temp_file |
704 | A temp file named with a PID that no longer exists IS deleted -- but |
| function | test_reap_leaves_recent_dead_pid_temp_file_alone |
735 | The container-safety property, proved directly: a RECENT temp file is |
| function | test_reap_leaves_old_live_pid_temp_file_alone |
766 | Age alone is not sufficient to reap either: an OLD temp file whose pid |
| function | test_reap_leaves_live_pid_temp_file_alone |
797 | A temp file named with a PID that is still alive is NEVER removed. |
| function | test_reap_leaves_malformed_temp_name_alone |
823 | A temp file whose name has no parseable pid is left alone, not crashed on. |
| function | test_reap_never_deletes_current_process_own_temp_file |
842 | The reaper never deletes a temp file bearing the CURRENT process's own pid. |
| function | test_reap_never_touches_the_real_cache_file |
859 | The reaper only targets <sidecar>.*.tmp siblings, never the sidecar itself. |
| function | test_save_sidecar_reaps_dead_pid_orphan_end_to_end |
887 | _save_sidecar itself reaps an OLD dead-pid orphan as part of a real |
| function | test_reap_survives_unicode_digit_pid_segment |
920 | Regression for defect 1a: '²'.isdigit() is True but |
| function | test_pid_alive_survives_pid_too_large_for_c_int |
941 | Regression for defect 1b: os.kill() raises OverflowError for a pid |
| function | test_reap_survives_pid_too_large_for_c_int_segment |
950 | Regression for defect 1b at the reaper level: a temp name carrying a |
| function | test_save_sidecar_survives_hostile_temp_names |
968 | _save_sidecar completes and writes the sidecar even with hostile |