GNOME Bugzilla – Bug 654196
"make check" fails when built with --enable-dbi but without sqlite DBD installed
Last modified: 2018-06-29 22:59:48 UTC
Hi, I was just building the current 2.4 branch and noticed that "make check" fails if you don't have the sqlite dbd driver installed. You get the following output from make check. I believe that if dbi is enabled configure should check for the sqlite driver and at least WARN (if not ERROR) if it doesn't exist. make check-TESTS make[6]: Entering directory `/home/warlord/src/gnucash/gnucash-2.4/build/src/backend/dbi/test' * 17:10:14 WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No DBD drivers found Using filename: /tmp/test-grPpmZ Testing sqlite3 * 17:10:14 WARN <gnc.backend.dbi> Session Error: 1, failed to load 'file' using access_method FAILURE First DB Session Creation Failed test-dbi-stuff.c:181 Testing safe save sqlite3 * 17:10:14 WARN <gnc.backend.dbi> Session Error: 1, failed to load 'file' using access_method FAILURE DB Session Creation Failed test-dbi-stuff.c:241 Testing safe save sqlite3 * 17:10:14 WARN <gnc.backend.dbi> Session Error: 1, failed to load 'file' using access_method FAILURE DB Session Creation Failed test-dbi-stuff.c:305 * 17:10:14 CRIT <gnc.backend.sql> gnc_sql_set_table_version: assertion `be != NULL' failed TEST_MYSQL_URL='' TEST_PGSQL_URL='' Executed 3 tests. There were 3 failures. FAIL: test-dbi-basic * 17:10:14 WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No DBD drivers found Using filename: /tmp/test-9nuWW8 Testing sqlite3 * 17:10:14 WARN <gnc.backend.dbi> Session Error: 1, failed to load 'file' using access_method FAILURE First DB Session Creation Failed test-dbi-stuff.c:181 TEST_MYSQL_URL='' TEST_PGSQL_URL='' Executed 1 test. There was 1 failure. FAIL: test-dbi * 17:10:14 WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No DBD drivers found Using filename: /tmp/test-GceCCi Testing sqlite3 FAILURE TaxTable lists match test-dbi-stuff.c:55 FAILURE Customer lists match test-dbi-stuff.c:55 FAILURE Employee lists match test-dbi-stuff.c:55 You may ignore the warning about the lock file having no entries: We had to ignore locking to run two sessions on the same database Executed 7 tests. There were 3 failures. FAIL: test-dbi-business * 17:10:14 WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No DBD drivers found Executed 1 test. All tests passed. PASS: test-load-backend ========================================== 3 of 4 tests failed Please report to gnucash-devel@gnucash.org ========================================== make[6]: *** [check-TESTS] Error 1
I don't see any reason at this point that the SQLite3 backend should be privileged. In r23180 I check for each backend before adding its test-suite so that only the backends for which the developer has installed a dbd for will be tested. Perhaps configure should check that at least one of the backends is available, though even that won't ensure that the tests will run and pass.
(In reply to comment #1) > Perhaps configure should check that at least one of the backends is available, > though even that won't ensure that the tests will run and pass. Which r23186 does.
Reassign version to 2.4.x so that individual 2.4 versions can be retired.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=654196. Please update any external references or bookmarks.