Ship as tm with install to GOPATH/bin and sandbox env overrides.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user