cmd_test.go 814 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package cmd
  2. import (
  3. "runtime"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestSplitArgs(t *testing.T) {
  8. args := splitArgs("ls")
  9. args1 := splitArgs("ls -la")
  10. args2 := splitArgs("bash -c ls")
  11. args3 := splitArgs("bash -c ls -lahF | grep 'cmd'")
  12. assert.Equal(t, 1, len(args))
  13. assert.Equal(t, 2, len(args1))
  14. assert.Equal(t, 3, len(args2))
  15. assert.Equal(t, 3, len(args3))
  16. }
  17. func TestExecCmd(t *testing.T) {
  18. if runtime.GOOS == "windows" {
  19. _, err := ExecCmd("cmd -c 'dir'")
  20. assert.Nil(t, err)
  21. return
  22. }
  23. _, err := ExecCmd("ls")
  24. _, err1 := ExecCmd("ls -la")
  25. _, err2 := ExecCmd("bash -c ls")
  26. _, err3 := ExecCmd("bash -c ls -la")
  27. _, err4 := ExecCmd("bash -c ls -la | grep 'cmd'")
  28. assert.Nil(t, err)
  29. assert.Nil(t, err1)
  30. assert.Nil(t, err2)
  31. assert.Nil(t, err3)
  32. assert.Nil(t, err4)
  33. }