main
 1package procfile
 2
 3import (
 4	"strings"
 5	"testing"
 6)
 7
 8func TestNewCommand(t *testing.T) {
 9	proc := New("test", []string{"echo", "hello"})
10	cmd := proc.NewCommand()
11
12	if !strings.HasSuffix(cmd.Path, "echo") {
13		t.Errorf("Expected command path to end with 'echo', got '%s'", cmd.Path)
14	}
15
16	expectedArgs := []string{"echo", "hello"}
17	if len(cmd.Args) != len(expectedArgs) {
18		t.Errorf("Expected %d args, got %d", len(expectedArgs), len(cmd.Args))
19	}
20
21	for i, expected := range expectedArgs {
22		if cmd.Args[i] != expected {
23			t.Errorf("Expected arg[%d] '%s', got '%s'", i, expected, cmd.Args[i])
24		}
25	}
26
27	if cmd.Stdout == nil {
28		t.Error("Expected Stdout to be set")
29	}
30
31	if cmd.Stderr == nil {
32		t.Error("Expected Stderr to be set")
33	}
34
35	if cmd.SysProcAttr == nil || !cmd.SysProcAttr.Setpgid {
36		t.Error("Expected process group to be configured")
37	}
38}