fix: stabilize beads and config tests (#560)

* fix: stabilize beads and config tests

* fix: remove t.Parallel() incompatible with t.Setenv()

The test now uses t.Setenv() which cannot be used with t.Parallel() in Go.
This completes the conflict resolution from the rebase.

* style: fix gofmt issue in beads_test.go

Remove extra blank line in comment block.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Erik LaBianca
2026-01-16 18:29:18 -05:00
committed by GitHub
parent 22a24c5648
commit 43e38f037c
4 changed files with 56 additions and 5 deletions

View File

@@ -1212,11 +1212,18 @@ func TestBuildStartupCommand_UsesRigAgentWhenRigPathProvided(t *testing.T) {
}
func TestBuildStartupCommand_UsesRoleAgentsFromTownSettings(t *testing.T) {
skipIfAgentBinaryMissing(t, "gemini", "codex")
t.Parallel()
townRoot := t.TempDir()
rigPath := filepath.Join(townRoot, "testrig")
binDir := t.TempDir()
for _, name := range []string{"gemini", "codex"} {
path := filepath.Join(binDir, name)
if err := os.WriteFile(path, []byte("#!/bin/sh\nexit 0\n"), 0755); err != nil {
t.Fatalf("write %s stub: %v", name, err)
}
}
t.Setenv("PATH", binDir+string(os.PathListSeparator)+os.Getenv("PATH"))
// Configure town settings with role_agents
townSettings := NewTownSettings()
townSettings.DefaultAgent = "claude"

View File

@@ -0,0 +1,42 @@
package config
import (
"fmt"
"os"
"path/filepath"
"testing"
)
func TestMain(m *testing.M) {
stubDir, err := os.MkdirTemp("", "gt-agent-bin-*")
if err != nil {
fmt.Fprintf(os.Stderr, "create stub dir: %v\n", err)
os.Exit(1)
}
stub := []byte("#!/bin/sh\nexit 0\n")
binaries := []string{
"claude",
"gemini",
"codex",
"cursor-agent",
"auggie",
"amp",
}
for _, name := range binaries {
path := filepath.Join(stubDir, name)
if err := os.WriteFile(path, stub, 0755); err != nil {
fmt.Fprintf(os.Stderr, "write stub %s: %v\n", name, err)
os.Exit(1)
}
}
originalPath := os.Getenv("PATH")
_ = os.Setenv("PATH", stubDir+string(os.PathListSeparator)+originalPath)
code := m.Run()
_ = os.Setenv("PATH", originalPath)
_ = os.RemoveAll(stubDir)
os.Exit(code)
}