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