From d878e9fca2d1f59da72e9e2acd2d2ecc4be04238 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 1 Mar 2024 09:06:29 +0200 Subject: Don't assign default value to config.odb_tests.multi_database --- odb-tests/build/root.build | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/odb-tests/build/root.build b/odb-tests/build/root.build index 6f9c144..22c053a 100644 --- a/odb-tests/build/root.build +++ b/odb-tests/build/root.build @@ -37,7 +37,7 @@ databases = ($defined(config.odb_tests.database) \ : ) assert ($skeleton || $size($databases) > 0) \ -'at least one database must be configured via config.odb_tests.database variable' + 'at least one database must be configured via config.odb_tests.database variable' mysql = false sqlite = false @@ -80,11 +80,20 @@ databases = ($mysql ? 'mysql' : ) \ # If true, then build and run the test drivers in the dynamic multi-database # mode. # -config [bool] config.odb_tests.multi_database ?= ($size($databases) > 1) -multi = $config.odb_tests.multi_database +# Note: do not assign the default value so that if it's not specified by the +# user, then it won't be saved into config.build. Failed that, if we need to +# reconfigure a single-database configuration into multi (or vise-versa), then +# we will have to (remember to) override the saved multi_database value +# explicitly. +# +config [bool, config.report.variable=multi] config.odb_tests.multi_database + +multi = ($defined(config.odb_tests.multi_database) \ + ? $config.odb_tests.multi_database \ + : $size($databases) > 1) -assert ($multi || $size($databases) < 2) \ -'only one database can be configured if config.odb_tests.multi_database value is false' +assert ($multi || $size($databases) == 1) \ + 'only one database can be configured if config.odb_tests.multi_database value is false' # Database connections. # -- cgit v1.1