aboutsummaryrefslogtreecommitdiff
path: root/tests/rep-fetch-git-commit.testscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rep-fetch-git-commit.testscript')
-rw-r--r--tests/rep-fetch-git-commit.testscript93
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/rep-fetch-git-commit.testscript b/tests/rep-fetch-git-commit.testscript
new file mode 100644
index 0000000..ff6c7a3
--- /dev/null
+++ b/tests/rep-fetch-git-commit.testscript
@@ -0,0 +1,93 @@
+# file : tests/rep-fetch-git-commit.testscript
+# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
++git clone "$rep_git/state0/style-basic.git" 2>! &style-basic/***
+
+: unadvertised
+:
+{
+ +git -C ../style-basic log '--pretty=format:%H' --all --grep='README' | \
+ set commit
+
+ : no-refname
+ :
+ : Here we also test that a commit can be specified without leading '@'.
+ :
+ {
+ $clone_root_cfg && $rep_add "$rep/state0/style-basic.git#$commit";
+
+ if ($git_protocol == 'https-dumb')
+ warn = "$warn_repo_hist$reason_dumb$warn_dumb"
+ elif ($git_protocol != 'https-smart-unadv')
+ warn = "$warn_repo_hist$reason_unadv"
+ end;
+
+ $* 2>>~"%EOE%"
+ %fetching git:.+style-basic#$commit%
+ %querying .+style-basic\.git%?
+ %fetching from .+style-basic\.git%
+ $warn
+ 1 package\(s\) in 1 repository\(s\)
+ EOE
+ }
+
+ : refname
+ :
+ {
+ $clone_root_cfg && $rep_add "$rep/state0/style-basic.git#stable@$commit";
+
+ if ($git_protocol == 'https-dumb')
+ warn = "$warn_ref_hist$reason_dumb$warn_dumb"
+ elif ($git_protocol != 'https-smart-unadv')
+ warn = "$warn_ref_hist$reason_unadv"
+ end;
+
+ $* 2>>~"%EOE%"
+ %fetching git:.+style-basic#stable@$commit%
+ %querying .+style-basic\.git%?
+ %fetching from .+style-basic\.git%
+ $warn
+ 1 package\(s\) in 1 repository\(s\)
+ EOE
+ }
+}
+
+: advertised
+:
+{
+ +git -C ../style-basic log '--pretty=format:%H' --all --grep='INSTALL' | \
+ set commit
+
+ +if ($git_protocol == 'https-dumb')
+ warn = "$warn_ref_hist$reason_dumb$warn_dumb"
+ end
+
+ : no-refname
+ :
+ {
+ $clone_root_cfg && $rep_add "$rep/state0/style-basic.git#@$commit";
+
+ $* 2>>~"%EOE%"
+ %fetching git:.+style-basic#@$commit%
+ %querying .+style-basic\.git%?
+ %fetching from .+style-basic.\git%
+ $warn
+ 1 package\(s\) in 1 repository\(s\)
+ EOE
+ }
+
+ : refname
+ :
+ {
+ $clone_root_cfg && $rep_add "$rep/state0/style-basic.git#stable@$commit";
+
+ $* 2>>~"%EOE%"
+ %fetching git:.+style-basic#stable@$commit%
+ %querying .+style-basic\.git%?
+ %fetching from .+style-basic\.git%
+ $warn
+ 1 package\(s\) in 1 repository\(s\)
+ EOE
+ }
+}