logo

utils-std

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

sha256sum.sh (2818B)


  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/sha256sum"
  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' 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 /dev/null
  13. '
  14. fi
  15. t empty "$WD/inputs/empty" "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 $WD/inputs/empty
  16. "
  17. t --input='' 'empty_stdin' '' 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  18. '
  19. t --input='abc' 'abc' '' 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
  20. '
  21. t --exit=1 'enoent' '/var/empty/e/no/ent' "sha256sum: error: Failed opening file '/var/empty/e/no/ent': No such file or directory
  22. "
  23. t --input="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 $WD/inputs/empty" 'check:empty' '-c' "$WD/inputs/empty: OK
  24. "
  25. t --input="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 *$WD/inputs/empty" 'bin_check:empty' '-c' "$WD/inputs/empty: OK
  26. "
  27. t --input="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 *$WD/inputs/empty" 'bin_check:empty:dash' '-c -' "$WD/inputs/empty: OK
  28. "
  29. t --exit=1 --input="ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad $WD/inputs/empty" 'xfail_check:empty' '-c' "$WD/inputs/empty: FAILED
  30. "
  31. t --exit=1 --input="ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad *$WD/inputs/empty" 'xfail_bin_check:empty' '-c' "$WD/inputs/empty: FAILED
  32. "
  33. t --exit=1 --input='e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 /var/empty/e/no/ent' 'xfail_check:enoent' '-c' "sha256sum: error: Failed opening file '/var/empty/e/no/ent': No such file or directory
  34. "
  35. t --exit=1 --input='e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 */var/empty/e/no/ent' 'xfail_bin_check:enoent' '-c' "sha256sum: 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' "sha256sum: error: Invalid character '#' while reading hash in line: # $WD/inputs/empty
  38. "
  39. t --exit=1 --input="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" 'missing_file' '-c' "sha256sum: error: Failed opening file '': No such file or directory
  40. "
  41. t --exit=1 --input="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85 $WD/inputs/empty" 'truncated_hash' '-c' 'sha256sum: error: Got 64 hexadecimal digits while expected 65 for a SHA256
  42. '
  43. t --exit=1 --input="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d $WD/inputs/empty" 'elongated_hash' '-c' 'sha256sum: error: Got 66 hexadecimal digits while expected 65 for a SHA256
  44. '