github.com/2lambda123/git-lfs@v2.5.2+incompatible/t/t-clean.sh (about) 1 #!/usr/bin/env bash 2 3 . "$(dirname "$0")/testlib.sh" 4 5 clean_setup () { 6 mkdir "$1" 7 cd "$1" 8 git init 9 } 10 11 begin_test "clean simple file" 12 ( 13 set -e 14 clean_setup "simple" 15 16 echo "whatever" | git lfs clean | tee clean.log 17 [ "$(pointer cd293be6cea034bd45a0352775a219ef5dc7825ce55d1f7dae9762d80ce64411 9)" = "$(cat clean.log)" ] 18 ) 19 end_test 20 21 begin_test "clean a pointer" 22 ( 23 set -e 24 clean_setup "pointer" 25 26 pointer cd293be6cea034bd45a0352775a219ef5dc7825ce55d1f7dae9762d80ce64411 9 | git lfs clean | tee clean.log 27 [ "$(pointer cd293be6cea034bd45a0352775a219ef5dc7825ce55d1f7dae9762d80ce64411 9)" = "$(cat clean.log)" ] 28 ) 29 end_test 30 31 begin_test "clean pseudo pointer" 32 ( 33 set -e 34 clean_setup "pseudo" 35 36 echo "version https://git-lfs.github.com/spec/v1 37 oid sha256:7cd8be1d2cd0dd22cd9d229bb6b5785009a05e8b39d405615d882caac56562b5 38 size 1024 39 40 This is my test pointer. There are many like it, but this one is mine." | git lfs clean | tee clean.log 41 [ "$(pointer f492acbebb5faa22da4c1501c022af035469f624f426631f31936575873fefe1 202)" = "$(cat clean.log)" ] 42 ) 43 end_test 44 45 begin_test "clean pseudo pointer with extra data" 46 ( 47 set -e 48 clean_setup "extra-data" 49 50 # pointer includes enough extra data to fill the 'git lfs clean' buffer 51 printf "version https://git-lfs.github.com/spec/v1 52 oid sha256:7cd8be1d2cd0dd22cd9d229bb6b5785009a05e8b39d405615d882caac56562b5 53 size 1024 54 \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 55 This is my test pointer. There are many like it, but this one is mine.\n" | git lfs clean | tee clean.log 56 [ "$(pointer c2f909f6961bf85a92e2942ef3ed80c938a3d0ebaee6e72940692581052333be 586)" = "$(cat clean.log)" ] 57 ) 58 end_test 59 60 begin_test "clean stdin" 61 ( 62 set -e 63 64 # git-lfs-clean(1) writes to .git/lfs/objects, and therefore must be executed 65 # within a repository. 66 reponame="clean-over-stdin" 67 git init "$reponame" 68 cd "$reponame" 69 70 base64 /dev/urandom | head -c 1024 > small.dat 71 base64 /dev/urandom | head -c 2048 > large.dat 72 73 expected_small="$(calc_oid_file "small.dat")" 74 expected_large="$(calc_oid_file "large.dat")" 75 76 actual_small="$(git lfs clean < "small.dat" | grep "oid" | cut -d ':' -f 2)" 77 actual_large="$(git lfs clean < "large.dat" | grep "oid" | cut -d ':' -f 2)" 78 79 if [ "$expected_small" != "$actual_small" ]; then 80 echo >&2 "fatal: expected small OID of: $expected_small, got: $actual_small" 81 exit 1 82 fi 83 84 if [ "$expected_large" != "$actual_large" ]; then 85 echo >&2 "fatal: expected large OID of: $expected_large, got: $actual_large" 86 exit 1 87 fi 88 ) 89 end_test