2015-07-30 02:37:31 +00:00
|
|
|
#!/usr/bin/env bash
|
2015-05-26 19:58:49 +00:00
|
|
|
|
|
|
|
. "test/testlib.sh"
|
|
|
|
|
|
|
|
|
|
|
|
begin_test "pointer --file --stdin"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
|
|
|
echo "simple" > some-file
|
|
|
|
|
|
|
|
input="version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7"
|
|
|
|
|
|
|
|
expected="Git LFS pointer for some-file
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7
|
|
|
|
|
|
|
|
Git blob OID: e18acd45d7e3ce0451d1d637f9697aa508e07dee
|
|
|
|
|
|
|
|
Pointer from STDIN
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7
|
|
|
|
|
|
|
|
Git blob OID: e18acd45d7e3ce0451d1d637f9697aa508e07dee"
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$(echo "$input" | git lfs pointer --file=some-file --stdin 2>&1)" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer --file --stdin mismatch"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
|
|
|
echo "simple" > some-file
|
|
|
|
|
|
|
|
input="version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 123"
|
|
|
|
|
|
|
|
set +e
|
|
|
|
output=$(echo "$input" | git lfs pointer --file=some-file --stdin 2>&1)
|
|
|
|
status=$?
|
|
|
|
set -e
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "1" = "$status" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
|
|
|
|
expected="Git LFS pointer for some-file
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7
|
|
|
|
|
|
|
|
Git blob OID: e18acd45d7e3ce0451d1d637f9697aa508e07dee
|
|
|
|
|
|
|
|
Pointer from STDIN
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 123
|
|
|
|
|
|
|
|
Git blob OID: 905bcc24b5dc074ab870f9944178e398eec3b470
|
|
|
|
|
|
|
|
Pointers do not match"
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$output" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer --stdin"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
|
|
|
echo "version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7" > valid-pointer
|
|
|
|
|
|
|
|
output=$(cat valid-pointer | git lfs pointer --stdin 2>&1)
|
|
|
|
expected="Pointer from STDIN
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7"
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$output" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer --stdin without stdin"
|
|
|
|
(
|
2015-10-22 11:29:18 +00:00
|
|
|
# this test doesn't work on Windows, it just operates like 'bad pointer' case
|
|
|
|
# stdin isn't detectable as detached, it just times out with no content
|
2015-10-22 11:49:48 +00:00
|
|
|
if [[ "$(is_stdin_attached)" == "0" ]]; then
|
|
|
|
echo "Skipping pointer without stdin because STDIN attached"
|
2015-10-22 11:29:18 +00:00
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
output=$(echo "" | git lfs pointer --stdin 2>&1)
|
2015-05-26 19:58:49 +00:00
|
|
|
status=$?
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
expected="Cannot read from STDIN. The --stdin flag expects a pointer file from STDIN."
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$output" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "1" = "$status" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
begin_test "pointer --stdin with bad pointer"
|
|
|
|
(
|
|
|
|
output=$(echo "not a pointer" | git lfs pointer --stdin 2>&1)
|
|
|
|
status=$?
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
expected="Pointer from STDIN
|
|
|
|
|
|
|
|
Not a valid Git LFS pointer file."
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$output" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "1" = "$status" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
begin_test "pointer --file --pointer mismatch"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
echo "simple" > some-file
|
|
|
|
echo "version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 123" > invalid-pointer
|
|
|
|
|
|
|
|
expected="Git LFS pointer for some-file
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7
|
|
|
|
|
|
|
|
Git blob OID: e18acd45d7e3ce0451d1d637f9697aa508e07dee
|
|
|
|
|
|
|
|
Pointer from invalid-pointer
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 123
|
|
|
|
|
|
|
|
Git blob OID: 905bcc24b5dc074ab870f9944178e398eec3b470
|
|
|
|
|
|
|
|
Pointers do not match"
|
|
|
|
|
|
|
|
set +e
|
|
|
|
output=$(git lfs pointer --file=some-file --pointer=invalid-pointer 2>&1)
|
|
|
|
status=$?
|
|
|
|
set -e
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "1" = "$status" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$output" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer --file --pointer"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
echo "simple" > some-file
|
|
|
|
echo "version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7" > valid-pointer
|
|
|
|
|
|
|
|
expected="Git LFS pointer for some-file
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7
|
|
|
|
|
|
|
|
Git blob OID: e18acd45d7e3ce0451d1d637f9697aa508e07dee
|
|
|
|
|
|
|
|
Pointer from valid-pointer
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7
|
|
|
|
|
|
|
|
Git blob OID: e18acd45d7e3ce0451d1d637f9697aa508e07dee"
|
|
|
|
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$(git lfs pointer --file=some-file --pointer=valid-pointer 2>&1)" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer --pointer"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
|
|
|
echo "version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7" > valid-pointer
|
|
|
|
|
|
|
|
expected="Pointer from valid-pointer
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7"
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$(git lfs pointer --pointer=valid-pointer 2>&1)" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer missing --pointer"
|
|
|
|
(
|
|
|
|
output=$(git lfs pointer --pointer=missing-pointer 2>&1)
|
|
|
|
status=$?
|
|
|
|
set -e
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "1" = "$status" ]
|
2016-04-07 23:53:07 +00:00
|
|
|
|
|
|
|
echo "$output"
|
|
|
|
echo "$output" | grep "open missing-pointer:"
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer invalid --pointer"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
|
|
|
echo "not a pointer" > some-pointer
|
|
|
|
|
|
|
|
set +e
|
|
|
|
output=$(git lfs pointer --pointer=some-pointer 2>&1)
|
|
|
|
status=$?
|
|
|
|
set -e
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "1" = "$status" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
|
|
|
|
expected="Pointer from some-pointer
|
|
|
|
|
|
|
|
Not a valid Git LFS pointer file."
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$output" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer --file"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
echo "simple" > some-file
|
|
|
|
|
|
|
|
expected="Git LFS pointer for some-file
|
|
|
|
|
|
|
|
version https://git-lfs.github.com/spec/v1
|
|
|
|
oid sha256:6c17f2007cbe934aee6e309b28b2dba3c119c5dff2ef813ed124699efe319868
|
|
|
|
size 7"
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "$expected" = "$(git lfs pointer --file=some-file 2>&1)" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer without args"
|
|
|
|
(
|
|
|
|
output=$(git lfs pointer 2>&1)
|
|
|
|
status=$?
|
|
|
|
set -e
|
|
|
|
|
2015-05-26 22:15:52 +00:00
|
|
|
[ "Nothing to do!" = "$output" ]
|
|
|
|
[ "1" = "$status" ]
|
2015-05-26 19:58:49 +00:00
|
|
|
)
|
|
|
|
end_test
|
2016-04-07 23:53:24 +00:00
|
|
|
|
|
|
|
begin_test "pointer stdout/stderr"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
echo "pointer-stdout-test" > pointer-stdout-test.txt
|
|
|
|
git lfs pointer --file=pointer-stdout-test.txt > stdout.txt 2> stderr.txt
|
|
|
|
echo "stdout:"
|
|
|
|
cat stdout.txt
|
2016-04-08 13:45:08 +00:00
|
|
|
[ $(wc -l stdout.txt | sed -e 's/^[[:space:]]*//' | cut -f1 -d' ') -eq 3 ]
|
2016-04-07 23:53:24 +00:00
|
|
|
grep "oid sha256:e96ec1bd71eea8df78b24c64a7ab9d42dd7f821c4e503f0e2288273b9bff6c16" stdout.txt
|
|
|
|
[ $(grep -c "Git LFS pointer" stdout.txt) -eq 0 ]
|
|
|
|
|
|
|
|
echo "stderr:"
|
|
|
|
cat stderr.txt
|
|
|
|
grep "Git LFS pointer" stderr.txt
|
|
|
|
[ $(grep -c "oid sha256:" stderr.txt) -eq 0 ]
|
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "pointer to console"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
echo "pointer-stdout-test" > pointer-stdout-test.txt
|
|
|
|
git lfs pointer --file=pointer-stdout-test.txt 2>&1 | tee pointer.txt
|
|
|
|
grep "Git LFS pointer" pointer.txt
|
|
|
|
grep "oid sha256:e96ec1bd71eea8df78b24c64a7ab9d42dd7f821c4e503f0e2288273b9bff6c16" pointer.txt
|
|
|
|
)
|
|
|
|
end_test
|