diff options
Diffstat (limited to 'tests/integration/testscript')
-rw-r--r-- | tests/integration/testscript | 408 |
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/ } |