start-stop-daemon.tests 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/sh
  2. # Copyright 2008 by Denys Vlasenko
  3. # Licensed under GPLv2, see file LICENSE in this source tree.
  4. . ./testing.sh
  5. # testing "test name" "cmd" "expected result" "file input" "stdin"
  6. testing "start-stop-daemon -x without -a" \
  7. 'start-stop-daemon -S -x true 2>&1; echo $?' \
  8. "0\n" \
  9. "" ""
  10. testing "start-stop-daemon -x with -d on existing directory" \
  11. 'start-stop-daemon -S -d /tmp -x true 2>&1; echo $?' \
  12. "0\n" \
  13. "" ""
  14. testing "start-stop-daemon -x with -d on existing and check dir" \
  15. 'output=$(start-stop-daemon -S -d /tmp -x pwd); echo $output' \
  16. "/tmp\n" \
  17. "" ""
  18. testing "start-stop-daemon -x with --chdir on existing and check dir" \
  19. 'output=$(start-stop-daemon -S --chdir /tmp -x pwd); echo $output' \
  20. "/tmp\n" \
  21. "" ""
  22. testing "start-stop-daemon -a without -x" \
  23. 'start-stop-daemon -S -a false 2>&1; echo $?' \
  24. "1\n" \
  25. "" ""
  26. testing "start-stop-daemon without -x and -a" \
  27. 'start-stop-daemon -S false 2>&1; echo $?' \
  28. "1\n" \
  29. "" ""
  30. testing "start-stop-daemon -x with -d on non-existing directory" \
  31. 'start-stop-daemon -S -d /non-existent -x true > /dev/null 2>&1; echo $?' \
  32. "1\n" \
  33. "" ""
  34. # This runs /bin/false with argv[0..2] of { "qwerty", "false", NULL }.
  35. #
  36. # Unfortunately, this does not actually check argv[0] correctness,
  37. # but at least it checks that pathname to exec() is correct
  38. #
  39. # NB: this fails if /bin/false is a busybox symlink:
  40. # busybox looks at argv[0] and says "qwerty: applet not found"
  41. testing "start-stop-daemon with both -x and -a" \
  42. 'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \
  43. "1\n" \
  44. "" ""
  45. exit $FAILCOUNT