logo

utils-std

Collection of commonly available Unix tools git clone https://anongit.hacktivis.me/git/utils-std.git

sha1sum.sh (2487B)


  1. #!/bin/sh
  2. # SPDX-FileCopyrightText: 2017 Haelwenn (lanodan) Monnier <contact+utils@hacktivis.me>
  3. # SPDX-License-Identifier: MPL-2.0
  4. WD="$(dirname "$0")"
  5. target="${WD}/../cmd/sha1sum"
  6. plans=16
  7. . "$(dirname "$0")/tap.sh"
  8. if test "$(uname -s)" = "FreeBSD"
  9. then
  10. skip devnull 'FreeBSD treats posix_fadvise on /dev/null as invalid'
  11. else
  12. t devnull '/dev/null' 'da39a3ee5e6b4b0d3255bfef95601890afd80709 /dev/null
  13. '
  14. fi
  15. t empty "$WD/inputs/empty" "da39a3ee5e6b4b0d3255bfef95601890afd80709 $WD/inputs/empty
  16. "
  17. t --input='' 'empty_stdin' '' 'da39a3ee5e6b4b0d3255bfef95601890afd80709
  18. '
  19. t --input='abc' 'abc' '' 'a9993e364706816aba3e25717850c26c9cd0d89d
  20. '
  21. t --exit=1 'enoent' '/var/empty/e/no/ent' "sha1sum: error: Failed opening file '/var/empty/e/no/ent': No such file or directory
  22. "
  23. t --input="da39a3ee5e6b4b0d3255bfef95601890afd80709 $WD/inputs/empty" 'check:empty' '-c' "$WD/inputs/empty: OK
  24. "
  25. t --input="da39a3ee5e6b4b0d3255bfef95601890afd80709 *$WD/inputs/empty" 'bin_check:empty' '-c' "$WD/inputs/empty: OK
  26. "
  27. t --input="da39a3ee5e6b4b0d3255bfef95601890afd80709 *$WD/inputs/empty" 'bin_check:empty:dash' '-c -' "$WD/inputs/empty: OK
  28. "
  29. t --exit=1 --input="a9993e364706816aba3e25717850c26c9cd0d89d $WD/inputs/empty" 'xfail_check:empty' '-c' "$WD/inputs/empty: FAILED
  30. "
  31. t --exit=1 --input="a9993e364706816aba3e25717850c26c9cd0d89d *$WD/inputs/empty" 'xfail_bin_check:empty' '-c' "$WD/inputs/empty: FAILED
  32. "
  33. t --exit=1 --input='a9993e364706816aba3e25717850c26c9cd0d89d /var/empty/e/no/ent' 'xfail_check:enoent' '-c' "sha1sum: error: Failed opening file '/var/empty/e/no/ent': No such file or directory
  34. "
  35. t --exit=1 --input='a9993e364706816aba3e25717850c26c9cd0d89d */var/empty/e/no/ent' 'xfail_bin_check:enoent' '-c' "sha1sum: error: Failed opening file '/var/empty/e/no/ent': No such file or directory
  36. "
  37. t --exit=1 --input="# $WD/inputs/empty" 'invalid_chars:#' '-c' "sha1sum: error: Invalid character '#' while reading hash in line: # $WD/inputs/empty
  38. "
  39. t --exit=1 --input="a9993e364706816aba3e25717850c26c9cd0d89d" 'missing_file' '-c' "sha1sum: error: Failed opening file '': No such file or directory
  40. "
  41. t --exit=1 --input="a9993e364706816aba3e25717 $WD/inputs/empty" 'truncated_hash' '-c' 'sha1sum: error: Got 26 hexadecimal digits while expected 41 for a SHA1
  42. '
  43. t --exit=1 --input="a9993e364706816aba3e25717850c26c9cd0d89da9993e364706816aba3e25717850c26c9cd0d89d $WD/inputs/empty" 'elongated_hash' '-c' 'sha1sum: error: Got 81 hexadecimal digits while expected 41 for a SHA1
  44. '