aboutsummaryrefslogtreecommitdiff
path: root/tests/rep-fetch.test
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-07-04 22:10:38 +0300
committerBoris Kolpackov <boris@codesynthesis.com>2018-07-05 08:49:59 +0200
commit9be433ac34057a2c9c1757ec41f8b3f6361f98dc (patch)
tree053bc111fd525086c29343195bea595eaca4d43b /tests/rep-fetch.test
parentadefc9b14d8940299a0c6b478de8b66566978d10 (diff)
Strip .git extension for non-existent local prerequisite location
If the local prerequisite git repository having the .git extension doesn't exist but the one without the extension does, then strip the extension from the location.
Diffstat (limited to 'tests/rep-fetch.test')
-rw-r--r--tests/rep-fetch.test33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/rep-fetch.test b/tests/rep-fetch.test
index bd91ebf..9543045 100644
--- a/tests/rep-fetch.test
+++ b/tests/rep-fetch.test
@@ -721,6 +721,39 @@ else
}
}
+ : strip-ext
+ :
+ : Test that if the local prerequisite git repository having the .git
+ : extension does not exist but the one without the extension does, then
+ : it is picked up by rep-fetch.
+ :
+ if ($remote != true)
+ {
+ cp -r $out_git/state0/libbar.git libbar.git;
+ cp -r $out_git/state0/style-basic.git style-basic;
+
+ $clone_root_cfg;
+
+ rep = ($cxx.target.class != 'windows' \
+ ? "file:$~" \
+ : "file:/$regex.replace($~, '\\', '/')");
+
+ $* "$rep/libbar.git#master" 2>>~%EOE% &cfg/.bpkg/repos/*/***;
+ %added git:.+libbar#master%
+ %querying .+libbar\.git%
+ %fetching from .+libbar\.git%
+ %fetching git:.+style-basic#stable \(prerequisite of git:.+libbar#master\)%
+ %querying .+style-basic%
+ %fetching from .+style-basic%
+ 3 package(s) in 2 repository(s)
+ EOE
+
+ $rep_list >>~%EOO%
+ %git:.+libbar#master file:.+libbar\.git#master%
+ % prerequisite git:.+style-basic#stable file:.+style-basic#stable \(heads/master\)%
+ EOO
+ }
+
: checkout-submodules
:
: Test that if some of the packages are located in the repository