Orchestrata Ultimate › Tests › Reference › scripts › test_validate_ci
Tests reference — tests/scripts/test_validate_ci.py
Module of tests/scripts, split out because the directory page would be too large.
Prose pending.
tests/scripts/test_validate_ci.py
source · 43 tests · 811 lines
Tests for scripts/validate_ci.py — the deterministic CI-config validator
| Kind | Name | Line | Description |
|---|---|---|---|
| function | test_main_passes_all_gates_on_valid_repo |
124 | |
| function | test_main_defaults_repo_root_and_env_when_omitted |
134 | Covers the repo_root is None / env is None default-assignment |
| function | test_missing_gitlab_ci_file_fails |
146 | |
| function | test_invalid_yaml_fails |
153 | |
| function | test_empty_yaml_file_treated_as_missing_stages_not_a_crash |
162 | Regression: yaml.safe_load() of an empty-but-valid file returns None, |
| function | test_missing_stages_fails |
175 | |
| function | test_stale_cov_path_fails |
184 | |
| function | test_xdist_flag_in_test_job_fails |
193 | Gate 4 now FORBIDS pytest-xdist (it deadlocks the suite ~78%). A test |
| function | test_gate4_concatenated_short_form_fails |
210 | The concatenated -nauto short-option form is real, working xdist and |
| function | test_gate4_non_xdist_dash_n_not_flagged |
226 | Gate 4 must NOT false-positive on ordinary shell -n flags |
| function | test_missing_timeout_flag_fails |
247 | |
| function | test_missing_redis_reference_fails |
258 | |
| function | test_missing_neo4j_reference_fails |
272 | |
| function | test_missing_architecture_checker_or_mypy_fails |
286 | |
| function | test_test_job_calling_raw_pytest_fails |
297 | Gate 9 (Phase R6): a job that runs the suite via raw pytest instead |
| function | test_test_job_calling_run_tests_threadpool_directly_fails |
322 | Gate 9 (Phase R6): calling scripts/run_tests_threadpool.py directly |
| function | test_lint_job_referencing_tests_dir_is_not_flagged |
349 | Regression: a lint job that merely points ruff/black/mypy at the |
| function | test_missing_docker_compose_file_fails |
372 | |
| function | test_compose_stale_ip_10_222_9_fails |
381 | |
| function | test_compose_hardcoded_incus_ip_fails |
394 | |
| function | test_compose_missing_redis_host_var_fails |
407 | |
| function | test_compose_missing_neo4j_uri_var_fails |
420 | |
| function | test_missing_ast_output_fails |
433 | |
| function | test_stale_ast_output_against_ultimate_source_fails |
444 | |
| function | test_stale_ast_output_against_monorepo_source_fails |
457 | |
| function | test_ast_source_dir_absent_skips_staleness_check |
469 | If the external monorepo checkout doesn't exist at all (common on a |
| function | test_gate13_passes_when_both_loaders_call_the_marker |
529 | |
| function | test_gate13_flags_a_loader_that_stops_calling_the_marker |
534 | The case the first draft of this gate MISSED. |
| function | test_gate13_flags_the_other_loader_too |
554 | |
| function | test_gate13_flags_a_reintroduced_private_key_list |
567 | A second list is exactly how the two override policies diverged. |
| function | test_gate13_flags_a_missing_loader_without_raising |
581 | |
| function | test_gate13_flags_a_drifted_fallback_marker_name |
592 | start_test_services carries a fallback copy of the marker NAME. |
| function | test_gate13_flags_an_unparseable_loader |
612 | |
| function | test_gate13_runs_clean_against_the_REAL_checkout |
622 | Not a synthetic layout — the live loaders must satisfy their own gate. |
| function | test_gate14_fails_when_nothing_declares_ownership_anywhere |
643 | The exact broken state this gate exists to catch: declare_owned() |
| function | test_gate14_passes_when_a_real_module_declares_ownership |
664 | The aliased spelling — tests/conftest.py's own form — must resolve. |
| function | test_gate14_unaliased_import_form_also_resolves |
680 | The direct (non-aliased) import spelling must resolve too. |
| function | test_gate14_excludes_the_declare_owned_self_test_from_evidence |
696 | A call site living ONLY at tests/core/test_env_bootstrap.py -- the |
| function | test_gate14_flags_a_docstring_claim_with_no_declare_owned_call |
719 | A module that says it owns a key, but never calls declare_owned() for |
| function | test_gate14_passes_when_the_claim_is_backed_by_a_real_call_in_the_same_module |
749 | |
| function | test_gate14_unparseable_module_does_not_crash |
768 | |
| function | test_gate14_undecodable_claim_file_does_not_crash |
784 | The claim-scan's own text read, not just the AST parse, must survive |
| function | test_gate14_runs_clean_against_the_REAL_checkout |
803 | Not a synthetic layout — the live codebase must satisfy its own gate. |