Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/two-mode-provenance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,12 +115,14 @@ jobs:
# close can make pytest report BrokenPipe and fail a valid gate.
run: |
"$SN39_VENV/bin/python" -m pytest \
scaffold/publisher/tests/test_snapshot_candidates.py \
scaffold/publisher/tests/test_validator_two_mode.py \
scaffold/publisher/tests/test_validator_thin_validated_supply.py \
scaffold/publisher/tests/test_validator_lifecycle.py \
--collect-only -q | grep test_full_path_positive_revoked_restored \
>/dev/null
"$SN39_VENV/bin/python" -m pytest -q \
scaffold/publisher/tests/test_snapshot_candidates.py \
scaffold/publisher/tests/test_sn39_continuous_authorization.py \
scaffold/publisher/tests/test_sn39_launch_approval.py \
scaffold/publisher/tests/test_validator_two_mode.py \
Expand Down
13 changes: 12 additions & 1 deletion scaffold/publisher/tests/test_snapshot_candidates.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,18 @@ def test_capture_produces_a_valid_sorted_snapshot():
assert fake.hash_calls == [123]

# The confidential exporter accepts the captured document verbatim.
from cathedral.score_class import validate_candidate_snapshot
#
# `cathedral` is the cathedral-compute package, not this one. The base test
# extra does not install it, so a standalone checkout skips only this
# cross-repository assertion. Required two-mode CI installs the provenance
# extra, imports cathedral explicitly, and includes this file. That keeps the
# contract mandatory on the launch path while preserving a useful standalone
# test suite. Everything above this line is asserted in both environments.
validate_candidate_snapshot = pytest.importorskip(
"cathedral.score_class",
reason="needs the cathedral-compute package (which provides `cathedral`) "
"installed alongside this one",
).validate_candidate_snapshot

binding = validate_candidate_snapshot(document, network="finney", netuid=39)
assert binding["block"] == 123
Expand Down
Loading