Orchestrata Ultimate › Tests › Reference › scripts › test_benchmark_prolog_clips

Tests reference — tests/scripts/test_benchmark_prolog_clips.py

Module of tests/scripts, split out because the directory page would be too large.

Prose pending.

tests/scripts/test_benchmark_prolog_clips.py

source · 15 tests · 309 lines

Tests for scripts/benchmark_prolog_clips.py — CLIPS vs SWI-Prolog tabling benchmark.

Kind Name Line Description
function test_generate_dag_minimal_chain_skips_fill_loop 85 num_edges == num_nodes - 1: the while-fill loop never iterates.
function test_generate_dag_extra_edges_is_deterministic_acyclic 93 num_edges > num_nodes - 1: the while-fill loop adds random forward edges.
function test_generate_dag_different_seeds_diverge 108
function test_write_clips_file_emits_all_edges_and_rules 117
function test_benchmark_swi_chain_reachability 140
function test_benchmark_swi_zero_queries_reports_none_mean 157
function test_benchmark_clips_missing_binary_returns_none 174
function test_benchmark_clips_empty_output_binary_yields_none_fields 179 A real binary that exits 0 with no output -> regex ternaries take the None arm.
function test_benchmark_clips_failing_binary_raises 189 A real binary that exits non-zero -> RuntimeError carrying its stderr.
function test_benchmark_clips_real_binary_matches_swi_reach_count 195
function test_main_rejects_single_node_graph 218 --nodes 1 cannot form a chain; must fail cleanly, not IndexError.
function test_main_rejects_too_few_edges 225
function test_main_swi_only_when_clips_binary_missing 231
function test_main_full_report_with_real_clips_and_output_file 256
function test_main_clips_failure_warns_but_succeeds 288 A failing CLIPS binary is caught: warning on stderr, exit 0, clips null.