From e13873e57383a617da352b38af016fed62eda5e9 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 21 Dec 2018 20:14:19 +0300 Subject: Add support for $ in package manifest dependency constraint --- tests/manifest/testscript | 134 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 133 insertions(+), 1 deletion(-) (limited to 'tests/manifest/testscript') diff --git a/tests/manifest/testscript b/tests/manifest/testscript index b77740f..fa0de85 100644 --- a/tests/manifest/testscript +++ b/tests/manifest/testscript @@ -74,13 +74,40 @@ : dependency : - $* -pp <'stdin:5:10: error: invalid prerequisite package name: length is less than two characters' != 0 + $* -pp <'stdin:8:10: error: invalid prerequisite package name: length is less than two characters' != 0 : 1 sha256sum: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 : name: foo + version: 2.0.0 + summary: Modern C++ parser + license: LGPLv2 depends: b EOI + + : dependency-constraint + : + $* -pp <'stdin:8:10: error: $ not allowed' != 0 + : 1 + sha256sum: a2b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + : + name: foo + version: 2.0.0 + summary: Modern C++ parser + license: LGPLv2 + depends: bar == $ + EOI + + : dependency-constraint-version + : + $* -c -p <'stdin:6:10: error: invalid dependency constraint: min version is greater than max version' != 0 + : 1 + name: foo + version: 2.0.0 + summary: Modern C++ parser + license: LGPLv2 + depends: bar [$ 1.0.0] + EOI } } @@ -89,6 +116,39 @@ { : manifest : + { + : complete + : + $* -c -p <>EOO + : 1 + name: foo + version: 2.0.0 + summary: Modern C++ parser + license: LGPLv2 + depends: bar == $ | libbaz ~$ | libbox ^$ | libfox [1.0 $) + EOI + : 1 + name: foo + version: 2.0.0 + summary: Modern C++ parser + license: LGPLv2 + depends: bar == 2.0.0 | libbaz ~2.0.0 | libbox ^2.0.0 | libfox [1.0 2.0.0) + EOO + + : incomplete + : + $* -p <>EOF + : 1 + name: foo + version: 2.0.0 + summary: Modern C++ parser + license: LGPLv2 + depends: bar == $ | libbaz ~$ | libbox ^$ | libfox [1.0 $) + EOF + } + + : manifest-list + : : Roundtrip the pkg package manifest list. : $* -pp <>EOF @@ -515,3 +575,75 @@ \ EOF } + +: effective-constraints +: +{ + : regular + : + $* -ec '1.2.3+1' <>EOO + [1.0 $) + [1.0 $] + [$ 1.2.4) + [$ 1.2.4] + == $ + >= $ + EOI + [1.0 $) [1.0 1.2.3) + [1.0 $] [1.0 1.2.3] + [$ 1.2.4) [1.2.3 1.2.4) + [$ 1.2.4] [1.2.3 1.2.4] + == $ == 1.2.3 + >= $ >= 1.2.3 + EOO + + : shortcut + : + { + : final + : + { + $* -ec '1.2.3+1' <'~$' >'~$ ~1.2.0' : tilda + $* -ec '1.2.3+1' <'^$' >'^$ ^1.0.0' : carrot + } + + : pre-release + : + { + : tilda + : + { + $* -ec '1.2.0-b.2' <'~$' >'~$ ~1.2.0-a.1' : no-final + $* -ec '1.2.1-a.1' <'~$' >'~$ ~1.2.0' : final-patch + } + + : carrot + : + { + $* -ec '1.0.0-b.2' <'^$' >'^$ ^1.0.0-a.1' : no-final + $* -ec '1.0.1-a.1' <'^$' >'^$ ^1.0.0' : final-patch + $* -ec '1.1.0-b.2' <'^$' >'^$ ^1.0.0' : final-minor + } + } + + : snapshot + : + { + : tilda + : + { + $* -ec '1.2.1-a.2.345' <'~$' >'~$ ~1.2.0' : patch + $* -ec '1.2.0-a.0.345' <'~$' >'~$ [1.2.0-a.0.1 1.2.0-a.1)' : minor + $* -ec '1.0.0-a.0.345' <'~$' >'~$ [1.0.0-a.0.1 1.0.0-a.1)' : major + } + + : carrot + : + { + $* -ec '1.2.1-a.2.345' <'^$' >'^$ ^1.0.0' : patch + $* -ec '1.2.0-a.0.345' <'^$' >'^$ [1.2.0-a.0.1 1.2.0-a.1)' : minor + $* -ec '1.0.0-a.0.345' <'^$' >'^$ [1.0.0-a.0.1 1.0.0-a.1)' : major + } + } + } +} -- cgit v1.1