plugin-contract-tests
Verify miner-driver behavior after protocol or contract-fixture changes.
소스 정보
- 저장소
- block/proto-fleet
- 최근 소스 활동
- 2026년 9월 18일 19:52
- 감지된 SKILL.md 언어
- 영어
- 스타
- 57
- 포크
- 18
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- plugin-contract-tests
- description
- Verify miner-driver behavior after protocol or contract-fixture changes.
# plugin-contract-tests
The contract suite (`tests/plugin-contract/`) runs each miner test in its own
container so port-bound mocks (`fake-antminer`, ASIC-rs harnesses) don't
collide. Pre-push lefthook does **not** run it. Server `just lint` does **not**
run it. CI runs it on PR via `protofleet-contract-checks.yml`, but by then
it's a feedback delay.
## What to do
1. After plugin or fixture edits, run `just test-contract` from the repo
root. It builds the Go plugins, compiles the test binary once, and runs
`TestAntminerStock`, `TestAntminerVNish`, and `TestWhatsMinerStock` in
isolated containers.
For ASIC-rs platform prerequisites, including the current macOS recipe
blocker, read [build guidance](../asicrs-build/SKILL.md).
2. Surface the failing test name and the plugin under test (the test names
map to the miner model, not the plugin module — read the suite output
carefully).
3. If the change is a deliberate behavior change, add or update a contract
testdata fixture under `tests/plugin-contract/testdata/` or the relevant
miner harness — don't loosen the test to make it pass.
## What to avoid
- Don't run the contract tests outside Docker. The harness assumes container
port isolation; running on the host will race with anything bound to 4028
or 80.
GitHub에서 보기