summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2024-03-01 09:06:29 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2024-03-01 10:27:07 +0200
commitd878e9fca2d1f59da72e9e2acd2d2ecc4be04238 (patch)
tree3da30a84d71683ae11ba619a412b207523d32030
parente93af92d53e7bc291a56d5c24a72d5743befaee8 (diff)
Don't assign default value to config.odb_tests.multi_database
-rw-r--r--odb-tests/build/root.build19
1 files 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.
#