aboutsummaryrefslogtreecommitdiff
path: root/tests/rep-add.testscript
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-11-14 16:12:25 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2018-11-16 14:43:20 +0300
commit5d69b98c5d62b05d1d6d6fd24aeac468af509365 (patch)
treea7d24e3b785e266fece5ff1fa66e691a4846ca75 /tests/rep-add.testscript
parentdfd879004b1a66ff197c4d41d9fb2e0839781a38 (diff)
Add support for repository typed URLs (git+https://..., etc)
Diffstat (limited to 'tests/rep-add.testscript')
-rw-r--r--tests/rep-add.testscript149
1 files changed, 95 insertions, 54 deletions
diff --git a/tests/rep-add.testscript b/tests/rep-add.testscript
index b57eb68..3280bc6 100644
--- a/tests/rep-add.testscript
+++ b/tests/rep-add.testscript
@@ -14,9 +14,9 @@ rep_list += -d cfg
: none
:
$* 2>>EOE != 0
- error: repository location argument expected
- info: run 'bpkg help rep-add' for more information
- EOE
+ error: repository location argument expected
+ info: run 'bpkg help rep-add' for more information
+ EOE
: empty
:
@@ -24,15 +24,15 @@ rep_list += -d cfg
$clone_cfg;
$* '' 2>>EOE != 0
- error: invalid repository location '': empty URL
- EOE
+ error: invalid repository location '': empty URL
+ EOE
}
: unknown-type
:
$* 'repo' --type unknown 2>>EOE != 0
- error: invalid value 'unknown' for option '--type'
- EOE
+ error: invalid value 'unknown' for option '--type'
+ EOE
: no-version
:
@@ -40,9 +40,9 @@ rep_list += -d cfg
$clone_cfg;
$* 'stable' 2>>/~%EOE% != 0
- %error: invalid pkg repository location '.+/no-version/stable': missing repository version%
- info: consider using --type to specify repository type
- EOE
+ %error: invalid pkg repository location '.+/no-version/stable': missing repository version%
+ info: consider using --type to specify repository type
+ EOE
}
: git-invalid-fragment
@@ -51,18 +51,28 @@ rep_list += -d cfg
$clone_cfg;
$* 'git://example.org/repo#' 2>>EOE != 0
- error: invalid git repository location 'git://example.org/repo#': missing refname or commit id for git repository
- EOE
+ error: invalid git repository location 'git://example.org/repo#': missing refname or commit id for git repository
+ EOE
}
- : pkg-git-scheme
+ : git-scheme-pkg-type
:
{
$clone_cfg;
$* 'git://example.org/repo' --type pkg 2>>EOE != 0
- error: invalid pkg repository location 'git://example.org/repo': unsupported scheme for pkg repository
- EOE
+ error: invalid pkg repository location 'git://example.org/repo': unsupported scheme for pkg repository
+ EOE
+ }
+
+ : git-pkg-types
+ :
+ {
+ $clone_cfg;
+
+ $* 'git+https://example.org/repo' --type pkg 2>>EOE != 0
+ error: pkg repository type mismatch for location 'git+https://example.org/repo'
+ EOE
}
: invalid-path
@@ -74,8 +84,8 @@ rep_list += -d cfg
$clone_cfg;
$* "$s" 2>>~%EOE% != 0
- %error: invalid repository path '.+/': invalid filesystem path%
- EOE
+ %error: invalid repository path '.+/': invalid filesystem path%
+ EOE
}
: type-detection
@@ -85,40 +95,53 @@ rep_list += -d cfg
: git-scheme
:
- $clone_cfg;
- $* 'git://example.org/repo#master' 2>>EOE
- added git:example.org/repo#master
- EOE
+ {
+ $clone_cfg;
+
+ $* 'git://example.org/repo#master' 2>>EOE
+ added git:example.org/repo#master
+ EOE
+ }
: http-git
:
- $clone_cfg;
- $* 'http://example.org/repo.git#master' 2>>EOE
- added git:example.org/repo#master
- EOE
+ {
+ $clone_cfg;
+
+ $* 'http://example.org/repo.git#master' 2>>EOE
+ added git:example.org/repo#master
+ EOE
+ }
: http-pkg
:
- $clone_cfg;
- $* 'http://example.org/1/repo' 2>>EOE
- added pkg:example.org/repo
- EOE
+ {
+ $clone_cfg;
+
+ $* 'http://example.org/1/repo' 2>>EOE
+ added pkg:example.org/repo
+ EOE
+ }
: file-git
:
- $clone_cfg && mkdir -p repo/.git;
+ {
+ $clone_cfg && mkdir -p repo/.git;
- $* 'repo' 2>>/~%EOE%
- %added git:.+/repo%
- EOE
+ $* 'repo' 2>>/~%EOE%
+ %added git:.+/repo%
+ EOE
+ }
: file-pkg
:
- $clone_cfg;
+ {
+ $clone_cfg;
- $* '1/repo' 2>>/~%EOE%
- %added .+/repo%
- EOE
+ $* '1/repo' 2>>/~%EOE%
+ %added .+/repo%
+ EOE
+ }
}
}
@@ -157,34 +180,52 @@ rep_list += -d cfg
: pkg
:
- $clone_cfg;
+ {
+ $clone_cfg;
- $* 'http://pkg.example.org/1/testing' 2>>EOE;
- added pkg:example.org/testing
- EOE
+ $* 'http://pkg.example.org/1/testing' 2>>EOE;
+ added pkg:example.org/testing
+ EOE
- $* 'https://www.example.org/1/testing' 2>>EOE;
- updated pkg:example.org/testing
- EOE
+ $* 'https://www.example.org/1/testing' 2>>EOE;
+ updated pkg:example.org/testing
+ EOE
- $rep_list >>EOO
- pkg:example.org/testing https://www.example.org/1/testing
- EOO
+ $rep_list >>EOO
+ pkg:example.org/testing https://www.example.org/1/testing
+ EOO
+ }
: git
:
- $clone_cfg;
+ {
+ $clone_cfg;
- $* 'git://example.org/testing.git#master' 2>>~%EOE%;
- %added git:example.org/testing#master%
- EOE
+ $* 'git://example.org/testing.git#master' 2>>~%EOE%;
+ %added git:example.org/testing#master%
+ EOE
+
+ $* 'https://www.example.org/testing.git#master' 2>>EOE;
+ updated git:example.org/testing#master
+ EOE
+
+ $rep_list >>EOO
+ git:example.org/testing#master https://www.example.org/testing.git#master
+ EOO
+ }
+}
+
+: typed-url
+:
+{
+ $clone_cfg;
- $* 'https://www.example.org/testing.git#master' 2>>EOE;
- updated git:example.org/testing#master
+ $* 'git+https://example.org/repo' 2>>EOE;
+ added git:example.org/repo
EOE
$rep_list >>EOO
- git:example.org/testing#master https://www.example.org/testing.git#master
+ git:example.org/repo git+https://example.org/repo
EOO
}