Skip to main content

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에서 보기