F3: mesh-build-go and mesh-build-node follow the drops other holders write, and a module with no watch says so (ADR 0664 §4, issue 1748 review 1)
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
@@ -51,6 +51,7 @@ func main() {
|
||||
Pauses: stdio.State(sdkstep.PausesState).Put,
|
||||
ReadPauses: readOf(stdio.State(sdkstep.PausesState)),
|
||||
ForgetPause: stdio.State(sdkstep.PausesState).Delete,
|
||||
WatchPauses: stdio.State(sdkstep.PausesState).Watch,
|
||||
ReadToolchainsState: readOf(stdio.State(seat.StateToolchains)),
|
||||
Work: WorkDir,
|
||||
Run: dforgekey.ExecRunnerClean(0),
|
||||
|
||||
@@ -228,3 +228,15 @@ func TestParseNodeVersion(t *testing.T) {
|
||||
t.Errorf("accepted a text that is not `node --version`'s")
|
||||
}
|
||||
}
|
||||
|
||||
// ADR 0664 §4 (issue 1748, review 1): the module follows the drops other holders write in the shared pauses state, or a drop
|
||||
// served by another node would never end a step running here. main wires the watch.
|
||||
func TestMainWiresTheWatchOfTheDrops(t *testing.T) {
|
||||
raw, err := os.ReadFile("main.go")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !strings.Contains(string(raw), "WatchPauses:") {
|
||||
t.Error("main.go does not set Module.WatchPauses: a drop written by another holder would not end a running step")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user