← Về thư mục
tests/test_release_gates.py
- _load_script · function · L23-L30 — def _load_script(name: str)
- test_source_secret_scan_detects_without_echoing_values · function · L33-L43 — def test_source_secret_scan_detects_without_echoing_values(tmp_path)
- test_source_secret_scan_allows_explicit_synthetic_fixtures · function · L46-L54 — def test_source_secret_scan_allows_explicit_synthetic_fixtures(tmp_path)
- test_source_secret_scan_rejects_credential_files · function · L57-L70 — def test_source_secret_scan_rejects_credential_files(tmp_path)
- _metadata · function · L73-L88 — def _metadata(*, dependency: str | None = None, summary: str = "OpenAI4S") -> bytes
- _release_payloads · function · L91-L139 — def _release_payloads( verifier, *, collection_directories: list[str] | None = None ) -> dict[str, bytes]
- _extra_collection_payloads · function · L142-L171 — def _extra_collection_payloads( root: str, collection_id: str, skills: list[tuple[str, str]] ) -> dict[str, bytes]
- _write_wheel · function · L174-L200 — def _write_wheel( path: Path, verifier, *, omit: str | None = None, replacements: dict[str, bytes] | None = None, extras: dict[str, bytes] | None = None, collection_directories: list[str] | None = None, ) -> None
- _write_sdist · function · L203-L228 — def _write_sdist( path: Path, verifier, *, omit: str | None = None, replacements: dict[str, bytes] | None = None, extras: dict[str, bytes] | None = None, collection_directories: list[str] | None = None, ) -> None
- test_release_artifact_verifier_accepts_complete_archives · function · L231-L238 — def test_release_artifact_verifier_accepts_complete_archives(tmp_path)
- test_release_artifact_verifier_rejects_missing_runtime_resource · function · L241-L248 — def test_release_artifact_verifier_rejects_missing_runtime_resource(tmp_path)
- test_release_artifact_verifier_requires_collection_marker · function · L251-L258 — def test_release_artifact_verifier_requires_collection_marker(tmp_path)
- test_release_artifact_verifier_locks_collection_identity · function · L261-L274 — def test_release_artifact_verifier_locks_collection_identity(tmp_path)
- test_release_artifact_verifier_locks_collection_upstream_commit · function · L277-L290 — def test_release_artifact_verifier_locks_collection_upstream_commit(tmp_path)
- test_release_artifact_verifier_rehashes_collection_payloads · function · L294-L307 — def test_release_artifact_verifier_rehashes_collection_payloads(tmp_path, kind)
- test_release_artifact_verifier_rejects_coordinated_manifest_tampering · function · L311-L338 — def test_release_artifact_verifier_rejects_coordinated_manifest_tampering( tmp_path, kind )
- test_release_artifact_verifier_rejects_duplicate_declared_identities · function · L341-L361 — def test_release_artifact_verifier_rejects_duplicate_declared_identities(tmp_path)
- test_release_artifact_verifier_rejects_name_directory_cross_identity · function · L364-L378 — def test_release_artifact_verifier_rejects_name_directory_cross_identity(tmp_path)
- test_release_artifact_verifier_rejects_catalog_wide_skill_identity_collisions · function · L422-L446 — def test_release_artifact_verifier_rejects_catalog_wide_skill_identity_collisions( tmp_path, kind, case, root, directory, declared_name, replacements )
- test_release_artifact_verifier_matches_manifest_names_to_documents · function · L449-L473 — def test_release_artifact_verifier_matches_manifest_names_to_documents(tmp_path)
- test_release_artifact_verifier_reads_folded_skill_names · function · L476-L482 — def test_release_artifact_verifier_reads_folded_skill_names()
- test_release_artifact_verifier_rejects_cross_platform_path_aliases · function · L494-L510 — def test_release_artifact_verifier_rejects_cross_platform_path_aliases( tmp_path, kind, alias )
- test_release_artifact_verifier_rejects_mis_cased_runtime_sentinels · function · L522-L536 — def test_release_artifact_verifier_rejects_mis_cased_runtime_sentinels( tmp_path, kind, sentinel )
- test_release_artifact_verifier_rejects_regular_file_directory_prefix · function · L540-L556 — def test_release_artifact_verifier_rejects_regular_file_directory_prefix( tmp_path, kind )
- test_release_artifact_verifier_rejects_dot_archive_member · function · L560-L574 — def test_release_artifact_verifier_rejects_dot_archive_member(tmp_path, kind)
- test_release_artifact_verifier_strips_collection_ids_before_deduplication · function · L578-L602 — def test_release_artifact_verifier_strips_collection_ids_before_deduplication( tmp_path, kind )
- test_release_artifact_verifier_rejects_unlisted_collection_recipe · function · L606-L635 — def test_release_artifact_verifier_rejects_unlisted_collection_recipe(tmp_path, kind)
- test_release_artifact_verifier_rejects_unmanifested_collection_files · function · L639-L654 — def test_release_artifact_verifier_rejects_unmanifested_collection_files( tmp_path, kind )
- test_release_artifact_verifier_rejects_self_consistent_shrunken_collection · function · L658-L673 — def test_release_artifact_verifier_rejects_self_consistent_shrunken_collection( tmp_path, kind )
- test_release_artifact_verifier_rejects_core_dependency · function · L676-L682 — def test_release_artifact_verifier_rejects_core_dependency()
- test_release_artifact_verifier_requires_publishable_metadata · function · L685-L689 — def test_release_artifact_verifier_requires_publishable_metadata()
- test_installed_release_smoke_requires_the_bioskills_collection · function · L692-L708 — def test_installed_release_smoke_requires_the_bioskills_collection(tmp_path)
- test_installed_release_smoke_exercises_real_skill_discovery · function · L711-L733 — def test_installed_release_smoke_exercises_real_skill_discovery(tmp_path)
- test_installed_release_smoke_requires_eleven_workflows · function · L736-L745 — def test_installed_release_smoke_requires_eleven_workflows()
- test_installed_release_smoke_requires_tool_bringup_workflow · function · L748-L759 — def test_installed_release_smoke_requires_tool_bringup_workflow()
- _write_versions · function · L762-L771 — def _write_versions(root: Path, project: str, package: str) -> None
- test_release_tag_verifier_requires_exact_semver_and_matching_sources · function · L774-L780 — def test_release_tag_verifier_requires_exact_semver_and_matching_sources(tmp_path)
- test_release_tag_verifier_rejects_version_drift · function · L783-L788 — def test_release_tag_verifier_rejects_version_drift(tmp_path)
- test_release_workflow_keeps_source_build_and_offline_install_gates · function · L791-L802 — def test_release_workflow_keeps_source_build_and_offline_install_gates()
- test_release_quality_installs_every_collection_dependency · function · L805-L819 — def test_release_quality_installs_every_collection_dependency()
- test_publish_workflow_uses_verified_artifact_and_job_scoped_oidc · function · L822-L848 — def test_publish_workflow_uses_verified_artifact_and_job_scoped_oidc()
- test_the_workflow_has_no_trigger_that_cannot_fire_for_a_draft · function · L851-L865 — def test_the_workflow_has_no_trigger_that_cannot_fire_for_a_draft()
- test_publishing_requires_an_existing_draft_before_anything_runs · function · L868-L877 — def test_publishing_requires_an_existing_draft_before_anything_runs()
- test_publishing_refuses_a_prerelease_draft · function · L880-L892 — def test_publishing_refuses_a_prerelease_draft()
- test_the_staging_job_consumes_artifacts_and_never_publishes · function · L895-L904 — def test_the_staging_job_consumes_artifacts_and_never_publishes()
- test_the_github_flip_is_the_last_cross_channel_step · function · L907-L922 — def test_the_github_flip_is_the_last_cross_channel_step()
- test_the_irreversible_pypi_upload_waits_for_every_other_required_job · function · L925-L943 — def test_the_irreversible_pypi_upload_waits_for_every_other_required_job()
- test_the_recovery_path_for_a_failed_flip_is_written_down · function · L946-L951 — def test_the_recovery_path_for_a_failed_flip_is_written_down()
- test_release_workflow_macos_asset_defaults_to_omit_and_never_uploads_preview · function · L954-L1017 — def test_release_workflow_macos_asset_defaults_to_omit_and_never_uploads_preview()
- test_notarize_script_is_sign_submit_staple_validate_spctl_and_fail_fast · function · L1020-L1051 — def test_notarize_script_is_sign_submit_staple_validate_spctl_and_fail_fast()
- test_notary_credentials_fail_fast_and_do_not_contact_apple · function · L1054-L1092 — def test_notary_credentials_fail_fast_and_do_not_contact_apple(monkeypatch)
- test_notarize_precheck_exits_nonzero_without_credentials · function · L1095-L1113 — def test_notarize_precheck_exits_nonzero_without_credentials(tmp_path, monkeypatch)
- test_notarize_precheck_is_quiet_when_credentials_are_present · function · L1116-L1135 — def test_notarize_precheck_is_quiet_when_credentials_are_present(tmp_path)
- test_ci_and_release_platform_jobs_never_continue_on_error · function · L1138-L1153 — def test_ci_and_release_platform_jobs_never_continue_on_error()
- test_the_signing_identity_reaches_the_build_that_can_use_it · function · L1156-L1188 — def test_the_signing_identity_reaches_the_build_that_can_use_it()
- test_distribution_manifest_keeps_release_and_runtime_resources · function · L1191-L1203 — def test_distribution_manifest_keeps_release_and_runtime_resources()
- test_every_desktop_bundle_pre_bakes_the_same_science_stack · function · L1211-L1244 — def test_every_desktop_bundle_pre_bakes_the_same_science_stack()
- test_desktop_bundle_contract_requires_the_pinned_collection · function · L1247-L1259 — def test_desktop_bundle_contract_requires_the_pinned_collection(tmp_path)
- test_desktop_bundle_contract_rehashes_all_collection_resources · function · L1262-L1328 — def test_desktop_bundle_contract_rehashes_all_collection_resources(tmp_path)
- test_desktop_bundle_contract_rejects_a_symlinked_skills_ancestor · function · L1331-L1349 — def test_desktop_bundle_contract_rejects_a_symlinked_skills_ancestor(tmp_path)
- test_desktop_bundle_contract_rejects_a_symlinked_source_root · function · L1352-L1363 — def test_desktop_bundle_contract_rejects_a_symlinked_source_root(tmp_path)
- test_macos_bundle_layout_rejects_symlinked_resources_ancestor · function · L1366-L1381 — def test_macos_bundle_layout_rejects_symlinked_resources_ancestor(tmp_path)
- test_desktop_bundle_contract_accepts_the_reviewed_repository_pin · function · L1384-L1387 — def test_desktop_bundle_contract_accepts_the_reviewed_repository_pin()
- test_pinned_collection_root_stays_in_the_directory_docs_gate · function · L1390-L1397 — def test_pinned_collection_root_stays_in_the_directory_docs_gate()
- test_the_linux_bundle_ships_the_resources_only_a_runtime_check_would_miss · function · L1400-L1413 — def test_the_linux_bundle_ships_the_resources_only_a_runtime_check_would_miss()
- test_the_windows_package_has_no_native_windows_execution_path · function · L1416-L1432 — def test_the_windows_package_has_no_native_windows_execution_path()
- test_the_windows_launcher_opens_the_authenticated_url_and_requires_sandbox · function · L1435-L1516 — def test_the_windows_launcher_opens_the_authenticated_url_and_requires_sandbox()
- test_the_windows_launcher_does_not_leak_native_stdout_into_its_return_value · function · L1519-L1551 — def test_the_windows_launcher_does_not_leak_native_stdout_into_its_return_value()
- test_the_windows_launcher_tolerates_successful_wsl_stderr_diagnostics · function · L1554-L1571 — def test_the_windows_launcher_tolerates_successful_wsl_stderr_diagnostics()
- test_the_windows_launcher_sources_stay_pure_ascii · function · L1574-L1594 — def test_the_windows_launcher_sources_stay_pure_ascii()
- test_the_wsl_bootstrap_never_acquires_carriage_returns · function · L1597-L1610 — def test_the_wsl_bootstrap_never_acquires_carriage_returns()
- _write_fake_linux_payload · function · L1613-L1644 — def _write_fake_linux_payload( path: Path, version: str, arch: str, marker: str = "placeholder" ) -> str
- _run_windows_bootstrap_install · function · L1647-L1687 — def _run_windows_bootstrap_install( tmp_path: Path, tarball: Path, digest: str, bundle_dir: str, **overrides: str, ) -> subprocess.CompletedProcess[str]
- test_windows_launcher_off_restores_official_indexes · function · L1690-L1726 — def test_windows_launcher_off_restores_official_indexes(tmp_path)
- test_windows_launcher_claims_the_pristine_bundle_pip_conf_on_install · function · L1729-L1758 — def test_windows_launcher_claims_the_pristine_bundle_pip_conf_on_install(tmp_path)
- test_windows_launcher_never_rewrites_user_owned_network_files · function · L1761-L1798 — def test_windows_launcher_never_rewrites_user_owned_network_files(tmp_path)
- test_windows_bootstrap_fake_ip_dns_auto_detection_is_narrow · function · L1801-L1862 — def test_windows_bootstrap_fake_ip_dns_auto_detection_is_narrow(tmp_path)
- run · function · L1822-L1849 — def run(mode: str, answer: str) -> subprocess.CompletedProcess[str]
- _stage_windows_package · function · L1865-L1896 — def _stage_windows_package(root: Path, version: str = "9.9.9") -> Path
- crlf · function · L1875-L1876 — def crlf(text: str) -> bytes
- test_the_windows_verifier_accepts_a_correctly_staged_package · function · L1899-L1901 — def test_the_windows_verifier_accepts_a_correctly_staged_package(tmp_path)
- test_the_windows_verifier_refuses_a_bare_unauthenticated_browser_url · function · L1904-L1913 — def test_the_windows_verifier_refuses_a_bare_unauthenticated_browser_url(tmp_path)
- test_the_windows_verifier_refuses_a_weakened_bubblewrap_baseline · function · L1916-L1927 — def test_the_windows_verifier_refuses_a_weakened_bubblewrap_baseline(tmp_path)
- test_the_windows_verifier_refuses_preflight_only_namespace_flags · function · L1930-L1940 — def test_the_windows_verifier_refuses_preflight_only_namespace_flags(tmp_path)
- test_the_windows_verifier_refuses_a_crlf_wsl_bootstrap · function · L1943-L1950 — def test_the_windows_verifier_refuses_a_crlf_wsl_bootstrap(tmp_path)
- test_the_windows_verifier_refuses_a_payload_its_sidecar_does_not_match · function · L1953-L1960 — def test_the_windows_verifier_refuses_a_payload_its_sidecar_does_not_match(tmp_path)
- test_the_windows_verifier_refuses_a_shipped_windows_binary · function · L1963-L1971 — def test_the_windows_verifier_refuses_a_shipped_windows_binary(tmp_path)
- test_the_linux_verifier_refuses_a_launcher_that_lost_its_executable_bit · function · L1974-L1987 — def test_the_linux_verifier_refuses_a_launcher_that_lost_its_executable_bit(tmp_path)
- test_the_desktop_packages_are_built_and_verified_before_anything_publishes · function · L1990-L2035 — def test_the_desktop_packages_are_built_and_verified_before_anything_publishes()