Publish Tentacle fixture markers atomically and patch the release package

This commit is contained in:
Storm Dragon committed 2026-10-31 11:26:12 -04:00
1 parent 9538776fe3
commit 9680b583fa
5 files changed
+64 -6

No files matched your search

+3 -1
View File
@@ -32,7 +32,9 @@ func TestTentacleInteractionPeer(t *testing.T) {
return sdk.Interaction{Form: &sdk.Form{Title: "Wormhole menu", Elements: []sdk.Element{{ID: "code", Label: "Wormhole code", Kind: sdk.Entry, Required: true, MaxLength: 256}}}, Next: next}, nil
}
submit := func(_ context.Context, raw json.RawMessage) (any, error) {
os.WriteFile(marker, raw, 0600)
if err := write_tentacle_fixture_marker(marker, raw); err != nil {
return nil, err
}
return sdk.Interaction{Presentation: sdk.Presentation{Speech: "Submitted", Braille: "Submitted"}}, nil
}
commands := []sdk.Command{
+9 -1
View File
@@ -19,6 +19,14 @@ import (
sdk "git.stormux.org/storm/cthulhu/sdk/go/tentacle"
)
// Publish complete fixture data before readers can observe the marker.
func write_tentacle_fixture_marker(markerPath string, data []byte) error {
if err := os.WriteFile(markerPath+".tmp", data, 0600); err != nil {
return err
}
return os.Rename(markerPath+".tmp", markerPath)
}
// Subprocess fixture: no reader backend, network, or desktop access.
func TestTentacleReaderPeer(t *testing.T) {
if len(os.Args) < 3 || os.Args[len(os.Args)-2] != "reader-peer" {
@@ -41,7 +49,7 @@ func TestTentacleReaderPeer(t *testing.T) {
os.Exit(3)
}
group, _ := os.ReadFile("/proc/self/cgroup")
if err := os.WriteFile(marker, group, 0600); err != nil {
if err := write_tentacle_fixture_marker(marker, group); err != nil {
return nil, err
}
if filepath.Base(marker) == "present-delay" {