aboutsummaryrefslogtreecommitdiff
path: root/tests/manifest
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2022-06-20 20:58:47 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2022-06-23 12:26:48 +0300
commit3de5120d299a5e17c9c17dfd2bfc4bb4e6340941 (patch)
tree9929ec4d27f38fb4a653ee2b586b502e9c719331 /tests/manifest
parent9c476d4b12ba91677716fdcadfc14a5fc9859d5d (diff)
Add support for additional *-build package manifest values and alternative buildfile naming
Diffstat (limited to 'tests/manifest')
-rw-r--r--tests/manifest/testscript206
1 files changed, 206 insertions, 0 deletions
diff --git a/tests/manifest/testscript b/tests/manifest/testscript
index ded4c57..760a9de 100644
--- a/tests/manifest/testscript
+++ b/tests/manifest/testscript
@@ -3174,6 +3174,212 @@
stdin:6:8: error: unexpected enable clause
EOE
}
+
+ : buildfile
+ :
+ {
+ : standard-naming
+ :
+ $* <<EOF >>EOF
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ bootstrap-build:\
+ project = libfoo
+
+ using version
+ using config
+ using dist
+ using test
+ using install
+ \
+ root-build:\
+ include config/common.build
+
+ cxx.std = latest
+
+ using cxx
+ \
+ config/common-build:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOF
+
+ : alt-naming
+ :
+ $* <<EOF >>EOF
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ bootstrap-build2:\
+ project = libfoo
+
+ using version
+ using config
+ using dist
+ using test
+ using install
+ \
+ root-build2:\
+ include config/common.build
+
+ cxx.std = latest
+
+ using cxx
+ \
+ config/common-build2:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOF
+
+ : mixed-naming
+ :
+ $* <<EOI 2>>EOE != 0
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ bootstrap-build:\
+ project = libfoo
+
+ using version
+ using config
+ using dist
+ using test
+ using install
+ \
+ root-build:\
+ include config/common.build
+
+ cxx.std = latest
+
+ using cxx
+ \
+ config/common-build2:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOI
+ stdin:22:1: error: standard buildfile naming scheme is already used
+ EOE
+
+ : backslash
+ :
+ $* <<EOI 2>>EOE != 0
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ config\common-build:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOI
+ stdin:6:1: error: backslash in package buildfile path
+ EOE
+
+ : unknown
+ :
+ $* <<EOI 2>>EOE != 0
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ common.build:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOI
+ stdin:6:1: error: unknown name 'common.build' in package manifest
+ EOE
+
+ : empty-name
+ :
+ $* <<EOI 2>>EOE != 0
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ config/-build:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOI
+ stdin:6:1: error: empty package buildfile name
+ EOE
+
+ : absolute-invalid
+ :
+ $* <<EOI 2>>~%EOE% != 0
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ /config/common-build:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOI
+ %stdin:6:1: error: (absolute|invalid) package buildfile path%
+ EOE
+
+ : outside
+ :
+ $* <<EOI 2>>EOE != 0
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ common/../../common-build:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOI
+ stdin:6:1: error: package buildfile path refers outside build/ subdirectory
+ EOE
+
+ : redefinition
+ :
+ $* <<EOI 2>>EOE != 0
+ : 1
+ name: libfoo
+ version: 2.0.0
+ summary: Modern C++ parser
+ license: LGPLv2
+ common-build:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ common-build:\
+ {
+ config [bool] config.libfoo.extras ?= false
+ }
+ \
+ EOI
+ stdin:11:1: error: package buildfile redefinition
+ EOE
+ }
}
: package-list