Ship as tm with install to GOPATH/bin and sandbox env overrides.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Skruecken
2026-10-19 13:55:54 +02:00
co-authored by Cursor
parent 2dcab9e4d8
commit f3a592f3ea
8 changed files with 110 additions and 19 deletions
+39
View File
@@ -30,6 +30,8 @@ func TestDefaultsAndApplyDefaults(t *testing.T) {
func TestSaveRoundTrip(t *testing.T) {
home := t.TempDir()
t.Setenv("HOME", home)
t.Setenv("TASK_MASTER_HOME", "")
t.Setenv("TASK_MASTER_DATA_DIR", "")
cfg := config.Defaults(home)
cfg.ActiveProject = "work"
@@ -54,6 +56,8 @@ func TestSaveRoundTrip(t *testing.T) {
func TestLoadOrCreate(t *testing.T) {
home := t.TempDir()
t.Setenv("HOME", home)
t.Setenv("TASK_MASTER_HOME", "")
t.Setenv("TASK_MASTER_DATA_DIR", "")
cfg, err := config.LoadOrCreate()
if err != nil {
@@ -81,3 +85,38 @@ func TestLoadOrCreate(t *testing.T) {
t.Fatalf("DataDir mismatch")
}
}
func TestTASK_MASTER_HOME(t *testing.T) {
sandbox := t.TempDir()
t.Setenv("TASK_MASTER_HOME", sandbox)
t.Setenv("TASK_MASTER_DATA_DIR", "")
cfg, err := config.LoadOrCreate()
if err != nil {
t.Fatalf("LoadOrCreate: %v", err)
}
wantCfg := config.Path(sandbox)
if _, err := os.Stat(wantCfg); err != nil {
t.Fatalf("config under sandbox missing: %v", err)
}
wantData := filepath.Join(sandbox, ".local", "share", config.AppName)
if cfg.DataDir != wantData {
t.Fatalf("DataDir = %q, want %q", cfg.DataDir, wantData)
}
}
func TestTASK_MASTER_DATA_DIR(t *testing.T) {
home := t.TempDir()
data := t.TempDir()
t.Setenv("HOME", home)
t.Setenv("TASK_MASTER_HOME", "")
t.Setenv("TASK_MASTER_DATA_DIR", data)
cfg, err := config.LoadOrCreate()
if err != nil {
t.Fatalf("LoadOrCreate: %v", err)
}
if cfg.DataDir != data {
t.Fatalf("DataDir = %q, want %q", cfg.DataDir, data)
}
}