forked from lix-project/lix
Add some tests
This commit is contained in:
parent
7a6daf61e8
commit
9a7dc5d718
|
@ -104,3 +104,28 @@ noSubmoduleRepoBaseline=$(nix eval --raw --expr "(builtins.fetchGit { url = file
|
||||||
noSubmoduleRepo=$(nix eval --raw --expr "(builtins.fetchGit { url = file://$subRepo; rev = \"$subRev\"; submodules = true; }).outPath")
|
noSubmoduleRepo=$(nix eval --raw --expr "(builtins.fetchGit { url = file://$subRepo; rev = \"$subRev\"; submodules = true; }).outPath")
|
||||||
|
|
||||||
[[ $noSubmoduleRepoBaseline == $noSubmoduleRepo ]]
|
[[ $noSubmoduleRepoBaseline == $noSubmoduleRepo ]]
|
||||||
|
|
||||||
|
# Test relative submodule URLs.
|
||||||
|
rm $TEST_HOME/.cache/nix/fetcher-cache*
|
||||||
|
rm -rf $rootRepo/.git $rootRepo/.gitmodules $rootRepo/sub
|
||||||
|
initGitRepo $rootRepo
|
||||||
|
git -C $rootRepo submodule add ../gitSubmodulesSub sub
|
||||||
|
git -C $rootRepo commit -m "Add submodule"
|
||||||
|
rev2=$(git -C $rootRepo rev-parse HEAD)
|
||||||
|
pathWithRelative=$(nix eval --raw --expr "(builtins.fetchGit { url = file://$rootRepo; rev = \"$rev2\"; submodules = true; }).outPath")
|
||||||
|
diff -r -x .gitmodules $pathWithSubmodules $pathWithRelative
|
||||||
|
|
||||||
|
# Test clones that have an upstream with relative submodule URLs.
|
||||||
|
rm $TEST_HOME/.cache/nix/fetcher-cache*
|
||||||
|
cloneRepo=$TEST_ROOT/a/b/gitSubmodulesClone # NB /a/b to make the relative path not work relative to $cloneRepo
|
||||||
|
git clone $rootRepo $cloneRepo
|
||||||
|
pathIndirect=$(nix eval --raw --expr "(builtins.fetchGit { url = file://$cloneRepo; rev = \"$rev2\"; submodules = true; }).outPath")
|
||||||
|
[[ $pathIndirect = $pathWithRelative ]]
|
||||||
|
|
||||||
|
# Test that if the clone has the submodule already, we're not fetching
|
||||||
|
# it again.
|
||||||
|
git -C $cloneRepo submodule update --init
|
||||||
|
rm $TEST_HOME/.cache/nix/fetcher-cache*
|
||||||
|
rm -rf $subRepo
|
||||||
|
pathSubmoduleGone=$(nix eval --raw --expr "(builtins.fetchGit { url = file://$cloneRepo; rev = \"$rev2\"; submodules = true; }).outPath")
|
||||||
|
[[ $pathSubmoduleGone = $pathWithRelative ]]
|
||||||
|
|
Loading…
Reference in a new issue