aboutsummaryrefslogtreecommitdiff
path: root/tests/integration/testscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/testscript')
-rw-r--r--tests/integration/testscript408
1 files changed, 375 insertions, 33 deletions
diff --git a/tests/integration/testscript b/tests/integration/testscript
index 1408946..988859f 100644
--- a/tests/integration/testscript
+++ b/tests/integration/testscript
@@ -1,5 +1,8 @@
# file : tests/integration/testscript
-# license : TBC; see accompanying LICENSE file
+# license : MIT; see accompanying LICENSE file
+
+# NOTE: to see the worker execution progress run the test with the
+# --no-diag-buffer option.
#\
# Requirement:
@@ -48,17 +51,90 @@ controller = https://stage.build2.org/?build-task
wait = 1 # Seconds.
controller = --fake-request ../task --dump-result
+# Note that we also need to make sure that the installed package libraries are
+# properly imported when configuring and running tests, and that the installed
+# executables are runnable.
+#
+config = "bpkg.create:config.install.root=\"'$~/install'\" \
+bpkg.configure.fetch:--fetch-timeout=60 \
+bpkg.global.configure.build:--fetch-timeout=60 \
+bpkg.create:config.bin.rpath=\"'$~/install/lib'\" \
+config.cc.coptions=-Wall \
+b.test-installed.configure:\"config.cc.loptions=-L'$~/install/lib'\" \
+bpkg.test-separate-installed.create:\"config.cc.loptions=-L'$~/install/lib'\""
+
pkg = libhello
-ver = 1.0.0+7
+ver = 1.0.0+11
#rep_url = "https://git.build2.org/hello/libhello.git#1.0"
#rep_type = git
rep_url = https://stage.build2.org/1
rep_type = pkg
rfp = yes
+#host='host: true'
+#dependency_checksum = 'dependency-checksum: e6f10587696020674c260669f4e7000a0139df72467bff9770aea2f2b8b57ba0'
+
+#package_config = 'package-config: { config.libhello.extras=true }+ libhello'
+#package_config = 'package-config: +bbot.install.ldconfig:'
+#package_config = 'package-config: -bpkg.install:'
+#\
+package_config = "package-config:
+\\
++bpkg.bindist.archive:--archive-build-meta=
+bpkg.bindist.archive:config.install.relocatable=true
+
++bbot.bindist.upload:
+
+bbot.sys-install.tar.extract:--directory=$~
+bbot.sys-install.tar.extract:--strip-components=1
+
+b.test-installed.configure:config.cc.loptions='-L$~/usr/local/lib'
+bpkg.test-separate-installed.create:config.cc.loptions='-L$~/usr/local/lib'
+
+bpkg.create:config.bin.rpath=[null]
+\\"
+config = "$config bpkg.create:config.install.root=\"'$~/usr/local'\""
++export LD_LIBRARY_PATH="$~/usr/local/lib:$getenv('LD_LIBRARY_PATH')"
+#\
+#\
+sys_install_dir = [dir_path] $~/sys-install/
+package_config = "package-config:
+\\
++bpkg.bindist.archive:--archive-build-meta=
+bpkg.bindist.archive:config.install.relocatable=true
+
++bbot.bindist.upload:
+
+b.test-installed.configure:config.cc.loptions='-L$sys_install_dir/lib'
+bpkg.test-separate-installed.create:config.cc.loptions='-L$sys_install_dir/lib'
+
+bpkg.create:config.bin.rpath=[null]
+\\"
+config = "$config bpkg.create:config.install.root=\"'$~/usr/local'\" \
+bbot.sys-install:config.install.root=\"'$sys_install_dir'\" \
+bbot.sys-install.tar.extract:--directory=\"$sys_install_dir\" \
+bbot.sys-install.tar.extract:--strip-components=3"
++export LD_LIBRARY_PATH="$sys_install_dir/lib:$getenv('LD_LIBRARY_PATH')"
+#\
+#\
+package_config = 'package-config:
+\
++bpkg.bindist.fedora:
++bbot.bindist.upload:
+bpkg.create:config.bin.rpath=[null]
+\'
+#\
+#\
+package_config = 'package-config:\
+bpkg.configure.fetch:--fetch-timeout=120 -bpkg.install:
+config.libhello.develop=true
+sys:libuuid-c++ --sys-install --sys-no-stub --sys-yes
+\
+'
+#\
#\
pkg = hello
-ver = 1.0.0+6
+ver = 1.0.0+8
rep_url = "https://git.build2.org/hello/hello.git"
rep_type = git
rfp = yes
@@ -66,95 +142,348 @@ rfp = yes
#\
pkg = libstudxml
-ver = 1.1.0-b.9.20210202082911.e729667b0f34
+ver = 1.1.0-b.10
rep_url = https://stage.build2.org/1
rep_type = pkg
rfp = yes
#\
-#\
# To make sure that the test-installed phase succeeds use the build2 driver
-# installed into ~/install/bin.
+# installed into a writable directory, for example, ~/install/bin.
#
+#\
pkg = libbuild2-hello
-ver = 0.1.0-a.0.20201019074759.bba32abb6d3d
+ver = 0.1.0
rep_url = "https://github.com/build2/libbuild2-hello.git#master"
rep_type = git
#rep_url = https://stage.build2.org/1
#rep_type = pkg
rfp = yes
+tests="tests: * libbuild2-hello-tests == $ver"
+host='host: true'
#\
-
+#package_config = 'package-config: -bpkg.install:'
+#\
+package_config = 'package-config:
+\
++bpkg.bindist.fedora:
+bpkg.module.create:config.bin.rpath=[null]
+\'
#\
+
# Use the build2 driver installed into ~/install/bin (see above).
#
+#\
pkg = libbuild2-kconfig
-ver = 0.1.0-a.0.20210108084836.3687e4b95226
+ver = 0.3.0-a.0.20221118053819.f702eb65da87
rep_url = "https://github.com/build2/libbuild2-kconfig.git#master"
rep_type = git
#ver = 0.1.0-a.0.20200910053253.a71aa3f3938b
#rep_url = https://stage.build2.org/1
#rep_type = pkg
rfp = yes
+requires = 'requires: bootstrap'
+tests = "tests: * libbuild2-kconfig-tests == $ver
+examples: * kconfig-hello == $ver"
+host = 'host: true'
+#\
+#\
+package_config = 'package-config:
+\
+{ config.libbuild2_kconfig-tests.extras=true }+ libbuild2-kconfig-tests
+\'
+#\
+#package_config = 'package-config: config.libbuild2_kconfig.develop=true'
+#package_config = 'package-config: -bpkg.install:'
+#\
+package_config = "package-config:
+\\
++bpkg.bindist.archive:--archive-build-meta=
+bbot.sys-install.tar.extract:--directory=$~
+bbot.sys-install.tar.extract:--strip-components=1
+
++bbot.bindist.upload:
+
+bpkg.create:config.bin.rpath=[null]
+\\"
+config = "$config bpkg.create:config.install.root=\"'$~/usr/local'\""
++export LD_LIBRARY_PATH="$~/usr/local/lib:$getenv('LD_LIBRARY_PATH')"
+#\
+#\
+package_config = 'package-config:
+\
++bpkg.bindist.fedora:
+bpkg.module.create:config.bin.rpath=[null]
+\'
+#\
+#dependency_checksum = 'dependency-checksum: 72ae02bed9a05aaf022147297a99b84d63b712e15d05cc073551da39003e87e8'
+
+# Use the build2 driver installed into ~/install/bin (see above).
+#
+#\
+pkg = libbuild2-autoconf
+ver = 0.2.0
+rep_url = "https://github.com/build2/libbuild2-autoconf.git#master"
+rep_type = git
+rfp = yes
+tests = "tests: * libbuild2-autoconf-tests == $ver"
+host = 'host: true'
#\
#\
pkg = curl
-ver = 7.67.0+8
-rep_url = https://pkg.cppget.org/1/testing
+ver = 7.84.0
+rep_url = https://pkg.cppget.org/1/stable
rep_type = pkg
rfp = yes
#\
#\
+pkg = bpkg
+ver = 0.16.0-a.0.20230201123204.d956e69e8b55
+rep_url = https://stage.build2.org/1
+rep_type = pkg
+rfp = yes
+package_config = 'package-config:
+\
+config.bpkg.tests.remote=true
+?libodb-sqlite +{ config.libodb_sqlite.develop=true }
+?cli +{ config.cli.develop=true }
+?sys:libsqlite3 --sys-install
+\'
+#\
+
+#\
pkg = cli
-ver = 1.2.0-b.7.20210311174126.7aba3e27228e
-rep_url = "https://git.codesynthesis.com/cli/cli.git#adhoc-recipe"
+ver = 1.2.0
+rep_url = "https://git.codesynthesis.com/cli/cli.git#master"
rep_type = git
#rep_url = https://stage.build2.org/1
#rep_type = pkg
rfp = yes
+requires='requires: host'
+tests="tests: * cli-tests == $ver
+examples: * cli-examples == $ver"
+host='host: true'
+#\
+#\
+package_config = "package-config:
+\\
+{ config.cli.extras=true }+ cli
+{ config.cli_tests.extras=true }+ cli-tests
+{ config.cli_examples.extras=true }+ cli-examples
+\\"
+#\
+#\
+package_config = "package-config:
+\\
++bpkg.bindist.archive:--archive-build-meta=
+bbot.sys-install.tar.extract:--directory=$~
+bbot.sys-install.tar.extract:--strip-components=1
+
++bbot.bindist.upload:
+
+bpkg.create:config.bin.rpath=[null]
+\\"
+config = "$config bpkg.create:config.install.root=\"'$~/usr/local'\""
++export LD_LIBRARY_PATH="$~/usr/local/lib:$getenv('LD_LIBRARY_PATH')"
#\
+#\
+package_config = 'package-config:
+\
++bpkg.bindist.fedora:
+
++bbot.bindist.upload:
+
+bpkg.create:config.bin.rpath=[null]
+\'
+#\
+#package_config = 'package-config: ?libcutl +{ config.libcutl.develop=true }'
+#package_config = 'package-config: -bpkg.install:'
#\
pkg = libxsd
-ver = 4.2.0-b.1.20210302135218.6a71bc57f6eb
+ver = 4.2.0-b.3.20220224113525.516981000564
rep_url = "https://git.codesynthesis.com/xsd/xsd.git#master"
rep_type = git
#rep_url = https://stage.build2.org/1
#rep_type = pkg
rfp = yes
+tests="tests: libxsd-tests == $ver"
+#\
+
+#\
+pkg = xsd
+ver = 4.2.0-b.4.20230320140030.aafc60b2e901
+rep_url = "https://git.codesynthesis.com/xsd/xsd.git#master"
+rep_type = git
+#rep_url = https://queue.stage.build2.org/1
+#rep_type = pkg
+rfp = yes
+requires='requires: host'
+tests="tests: * xsd-tests == $ver
+examples: * xsd-examples == $ver"
+host='host: true'
+#\
+#\
+package_config = "package-config:
+\\
+?sys:libxerces-c --sys-install --sys-yes
+{ config.xsd_tests.extras=true }+ xsd-tests
++bpkg.bindist.archive:--archive-build-meta=
+bbot.sys-install.tar.extract:--directory=$~
+bbot.sys-install.tar.extract:--strip-components=1
+bpkg.create:config.bin.rpath=[null]
+\\"
+config = "$config bpkg.create:config.install.root=\"'$~/usr/local'\""
++export LD_LIBRARY_PATH="$~/usr/local/lib:$getenv('LD_LIBRARY_PATH')"
+#\
+#\
+package_config = 'package-config:
+\
+?sys:libxerces-c --sys-install --sys-yes
++bpkg.bindist.fedora:
+bpkg.create:config.bin.rpath=[null]
+\'
+#\
+#package_config = 'package-config:
+# \
+#?libxerces-c +{ config.libxerces_c.network=true }
+#?libcurl/7.76.0
+#?sys:libz/*
+# \'
+
+#dependency_checksum = 'dependency-checksum: 40a0ad4546d836a3afc83a9e7da22f2b5d224af4e62996d88f7103eaee23e9e1'
+
+#\
+pkg = libxerces-c
+ver = 3.2.4
+rep_url = https://pkg.cppget.org/1/stable
+rep_type = pkg
+rfp = yes
+package_config = 'package-config:
+\
+config.libxerces_c.network=true
+"?libcurl ~7.76.0"
+sys:libz/*
+-bpkg.update:
+\'
+#\
+
+#\
+pkg = odb
+ver = 2.5.0-b.22.20220629083600.4a9af07ee566
+rep_url = "https://git.codesynthesis.com/odb/odb.git#master"
+rep_type = git
+rfp = yes
+requires='requires: host'
+host='host: true'
#\
#\
pkg = libcmark-gfm-extensions
-ver = 0.29.0-a.1+7
-rep_url = https://pkg.cppget.org/1/alpha
+ver = 0.29.0-a.4
+rep_url = https://stage.build2.org/1
rep_type = pkg
rfp = yes
+host='host: true'
#\
#\
pkg = non-existing
ver = 0.1.0
-rep_url = https://pkg.cppget.org/1/alpha
+rep_url = https://stage.build2.org/1
rep_type = pkg
rfp = yes
#\
-# Note that we also need to make sure that the installed package libraries are
-# properly imported when configuring and running tests, and that the installed
-# executables are runnable.
-#
-config = "\"config.install.root='$~/install'\" \
-bpkg:--fetch-timeout=60 \
-\"config.bin.rpath='$~/install/lib'\" \
-config.cc.coptions=-Wall \
-b.test-installed.configure:\"config.cc.loptions=-L'$~/install/lib'\" \
-bpkg.test-installed.create:\"config.cc.loptions=-L'$~/install/lib'\""
+#\
+pkg = fmt
+ver = 8.1.1
+rep_url = "https://github.com/build2-packaging/fmt.git"
+#rep_url = "git+file:/tmp/fmt#master"
+rep_type = git
+rfp = yes
+#\
-#interactive="interactive: bpkg.configure.build"
+#\
+pkg = libodb-sqlite
+ver = 2.5.0-b.26.20240131175206.1c7f67f47770
+rep_url = "https://git.codesynthesis.com/var/scm/odb/odb.git#multi-package"
+rep_type = git
+rfp = yes
+tests="tests: odb-tests == $ver"' ? (!$defined(config.odb_tests.database)) config.odb_tests.database=sqlite'
+#\
+#\
+package_config = 'package-config:
+\
+{ config.odb_tests.multi_database=true }+ odb-tests
+\'
+#\
+
+#\
+pkg = libodb-pgsql
+ver = 2.5.0-b.26.20240131175206.1c7f67f47770
+rep_url = "https://git.codesynthesis.com/var/scm/odb/odb.git#multi-package"
+rep_type = git
+rfp = yes
+tests="tests: odb-tests == $ver"' ? (!$defined(config.odb_tests.database)) config.odb_tests.database=pgsql'
+#\
+#\
+package_config = 'package-config:
+\
+{ config.odb_tests.database="sqlite pgsql" }+ odb-tests
+\'
+#\
+
+#\
+pkg = odb-tests
+ver = 2.5.0-b.26.20240131175206.1c7f67f47770
+rep_url = "https://git.codesynthesis.com/var/scm/odb/odb.git#multi-package"
+rep_type = git
+rfp = yes
+#\
+#\
+package_config = 'package-config:
+\
+config.odb_tests.database="sqlite pgsql"
+\'
+#\
+
+#\
+pkg = libodb-oracle
+ver = 2.5.0-b.26.20240201133448.3fa01c83a095
+rep_url = "https://git.codesynthesis.com/var/scm/odb/odb.git#multi-package"
+rep_type = git
+rfp = yes
+package_config = 'package-config:
+\
+config.cc.poptions+=-I/usr/include/oracle/12.2/client64 config.cc.loptions+=-L/usr/lib/oracle/12.2/client64/lib
+\'
+#\
+
+#\
+pkg = libodb-qt
+ver = 2.5.0-b.26.20240201180613.633ad7ccad39
+rep_url = "https://git.codesynthesis.com/var/scm/odb/odb.git#multi-package"
+rep_type = git
+rfp = yes
+#\
+
+#interactive="interactive: b.test-installed.configure"
#interactive="interactive: warning"
+#\
+aux_env = 'auxiliary-environment:
+\
+# x86_64-linux_debian_12-postgresql_15
+#
+DATABASE_HOST=10.0.213.126
+DATABASE_PORT=5432
+DATABASE_USER=test
+DATABASE_NAME=test
+\
+'
+#\
+cat <<"EOI" >=task
: 1
@@ -163,10 +492,17 @@ bpkg.test-installed.create:\"config.cc.loptions=-L'$~/install/lib'\""
repository-url: $rep_url
repository-type: $rep_type
trust: $rfp
+ $requires
+ $tests
machine: $machine
target: $target
- config: $config
+ $aux_env
+ target-config: $config
+ $package_config
$interactive
+ $host
+ worker-checksum: 1
+ $dependency_checksum
EOI
+if ("$environment" != "")
@@ -178,7 +514,7 @@ end
tftp = 127.0.0.1:55123
a = $0
-+ sed -e 's/-agent$/-worker/' <"$0" | set w
++sed -e 's/-agent$/-worker/' <"$0" | set w
: agent
:
@@ -209,9 +545,15 @@ a = $0
chmod ugo+x $env;
sleep $wait;
$w --verbose 3 --startup --tftp-host $tftp --environments $~ \
- &?build-module/*** &?build/*** \
+ &?build/*** &?build-host/*** &?build-module/*** &?build-install/*** \
&?build-installed/*** &?build-installed-bpkg/*** \
- &?dist/*** &?redist/*** \
+ &?build-installed-bpkg-module/*** &?build-installed-bpkg-host/*** \
+ &?dist/*** &?redist/*** &?bindist/*** \
+ &?dist-install/*** &?redist-install/*** \
&?dist-installed/*** &?redist-installed/*** \
- &task.manifest <| 2>|
+ &?../usr/*** &?upload/*** &?upload.tar \
+ &?../sys-install/*** \
+ &task.manifest <| 2>|;
+
+ sudo rm -rf ../sys-install/
}