| 668 | } |
| 669 | |
| 670 | func TestDevConfigCmd(t *testing.T) { |
| 671 | t.Parallel() |
| 672 | |
| 673 | cfg := &devConfig{ |
| 674 | projectRoot: "/fake/root", |
| 675 | childEnv: []string{"A=1", "B=2"}, |
| 676 | } |
| 677 | |
| 678 | cmd := cfg.cmd(context.Background(), "echo", "hello") |
| 679 | assert.Equal(t, "/fake/root", cmd.Dir) |
| 680 | assert.Equal(t, []string{"A=1", "B=2"}, cmd.Env) |
| 681 | |
| 682 | // Verify childEnv is cloned, not shared. |
| 683 | cmd.Env = append(cmd.Env, "C=3") |
| 684 | assert.Len(t, cfg.childEnv, 2, "original childEnv must not be mutated") |
| 685 | } |
| 686 | |
| 687 | func TestProcGroupProcessExit(t *testing.T) { |
| 688 | t.Parallel() |