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}