port pointer tests
This commit is contained in:
parent
6eb340b0d8
commit
df46ca3522
@ -1,64 +0,0 @@
|
||||
package commands
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/bmizerany/assert"
|
||||
)
|
||||
|
||||
func TestInit(t *testing.T) {
|
||||
repo := NewRepository(t, "empty")
|
||||
defer repo.Test()
|
||||
|
||||
repo.AddPath(repo.Path, ".git")
|
||||
repo.AddPath(repo.Path, "subdir")
|
||||
|
||||
cmd := repo.Command("init")
|
||||
cmd.Output = "git lfs initialized"
|
||||
|
||||
prePushHookFile := filepath.Join(repo.Path, ".git", "hooks", "pre-push")
|
||||
|
||||
cmd.Before(func() {
|
||||
err := os.RemoveAll(filepath.Join(repo.Path, ".git", "hooks"))
|
||||
assert.Equal(t, nil, err)
|
||||
})
|
||||
|
||||
cmd.After(func() {
|
||||
// assert filter config
|
||||
configs := GlobalGitConfig(t)
|
||||
AssertIncludeString(t, "filter.lfs.clean=git lfs clean %f", configs)
|
||||
AssertIncludeString(t, "filter.lfs.smudge=git lfs smudge %f", configs)
|
||||
AssertIncludeString(t, "filter.lfs.required=true", configs)
|
||||
found := 0
|
||||
for _, line := range configs {
|
||||
if strings.HasPrefix(line, "filter.lfs") {
|
||||
found += 1
|
||||
}
|
||||
}
|
||||
assert.Equal(t, 3, found)
|
||||
|
||||
// assert hooks
|
||||
stat, err := os.Stat(prePushHookFile)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.Equal(t, false, stat.IsDir())
|
||||
})
|
||||
|
||||
cmd = repo.Command("init")
|
||||
cmd.Output = "Hook already exists: pre-push\n\necho 'yo'\n\ngit lfs initialized"
|
||||
|
||||
customHook := []byte("echo 'yo'")
|
||||
cmd.Before(func() {
|
||||
err := ioutil.WriteFile(prePushHookFile, customHook, 0755)
|
||||
assert.Equal(t, nil, err)
|
||||
})
|
||||
|
||||
cmd.After(func() {
|
||||
by, err := ioutil.ReadFile(prePushHookFile)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.Equal(t, string(customHook), string(by))
|
||||
})
|
||||
}
|
264
test/test-pointer.sh
Executable file
264
test/test-pointer.sh
Executable file
@ -0,0 +1,264 @@
|
||||
#!/bin/sh
|
||||
|
||||
. "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"
|
||||
|
||||
[ "$expected" == "$(echo "$input" | git lfs pointer --file=some-file --stdin 2>&1)" ]
|
||||
)
|
||||
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
|
||||
|
||||
[ "1" == "$status" ]
|
||||
|
||||
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"
|
||||
|
||||
[ "$expected" == "$output" ]
|
||||
)
|
||||
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"
|
||||
|
||||
[ "$expected" == "$output" ]
|
||||
)
|
||||
end_test
|
||||
|
||||
begin_test "pointer --stdin without stdin"
|
||||
(
|
||||
output=$(git lfs pointer --stdin 2>&1)
|
||||
status=$?
|
||||
|
||||
set -e
|
||||
|
||||
expected="Cannot read from STDIN. The --stdin flag expects a pointer file from STDIN."
|
||||
|
||||
[ "$expected" == "$output" ]
|
||||
|
||||
[ "1" == "$status" ]
|
||||
)
|
||||
|
||||
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."
|
||||
|
||||
[ "$expected" == "$output" ]
|
||||
|
||||
[ "1" == "$status" ]
|
||||
)
|
||||
|
||||
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
|
||||
|
||||
[ "1" == "$status" ]
|
||||
|
||||
[ "$expected" == "$output" ]
|
||||
)
|
||||
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"
|
||||
|
||||
|
||||
[ "$expected" == "$(git lfs pointer --file=some-file --pointer=valid-pointer 2>&1)" ]
|
||||
)
|
||||
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"
|
||||
|
||||
[ "$expected" == "$(git lfs pointer --pointer=valid-pointer 2>&1)" ]
|
||||
)
|
||||
end_test
|
||||
|
||||
begin_test "pointer missing --pointer"
|
||||
(
|
||||
output=$(git lfs pointer --pointer=missing-pointer 2>&1)
|
||||
status=$?
|
||||
set -e
|
||||
|
||||
[ "1" == "$status" ]
|
||||
[ "open missing-pointer: no such file or directory" == "$output" ]
|
||||
)
|
||||
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
|
||||
|
||||
[ "1" == "$status" ]
|
||||
|
||||
expected="Pointer from some-pointer
|
||||
|
||||
Not a valid Git LFS pointer file."
|
||||
|
||||
[ "$expected" == "$output" ]
|
||||
)
|
||||
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"
|
||||
|
||||
[ "$expected" == "$(git lfs pointer --file=some-file 2>&1)" ]
|
||||
)
|
||||
end_test
|
||||
|
||||
begin_test "pointer without args"
|
||||
(
|
||||
output=$(git lfs pointer 2>&1)
|
||||
status=$?
|
||||
set -e
|
||||
|
||||
[ "Nothing to do!" == "$output" ]
|
||||
[ "1" == "$status" ]
|
||||
)
|
||||
end_test
|
Loading…
Reference in New Issue
Block a user