Browse Source

BUG: ctkDICOMBrowser: Fix test "testDefaults"

This commit fixes the following error reported when instantiating
a ctkDICOMBrowser.

Error:

```
202: ********* Start testing of ctkDICOMBrowserTester *********
202: Config: Using QTest library 4.8.7, Qt 4.8.7
202: PASS   : ctkDICOMBrowserTester::initTestCase()
202: QWARN  : ctkDICOMBrowserTester::testDefaults() QSqlQuery::exec: database not open
202: QDEBUG : ctkDICOMBrowserTester::testDefaults() SQL failed
202:  Bad SQL: SELECT Version from SchemaInfo;
202: QDEBUG : ctkDICOMBrowserTester::testDefaults() Error text:
202: QWARN  : ctkDICOMBrowserTester::testDefaults() QSqlQuery::exec: database not open
202: QDEBUG : ctkDICOMBrowserTester::testDefaults() SQL failed
202:  Bad SQL: CREATE TABLE IF NOT EXISTS main.Filenames_backup (Filename TEXT PRIMARY KEY NOT NULL )
202: QDEBUG : ctkDICOMBrowserTester::testDefaults() Error text:
202: QWARN  : ctkDICOMBrowserTester::testDefaults() QSqlQuery::exec: database not open
202: QDEBUG : ctkDICOMBrowserTester::testDefaults() SQL failed
202:  Bad SQL: INSERT INTO Filenames_backup SELECT Filename FROM Images;
202: QDEBUG : ctkDICOMBrowserTester::testDefaults() Error text:
202: QWARN  : ctkDICOMBrowserTester::testDefaults() QSqlQuery::exec: database not open
202: QDEBUG : ctkDICOMBrowserTester::testDefaults() SQL failed
202:  Bad SQL: DROP TABLE IF EXISTS 'SchemaInfo';
[...]
```
Jean-Christophe Fillion-Robin 7 years ago
parent
commit
291fd9f0de
1 changed files with 6 additions and 0 deletions
  1. 6 0
      Libs/DICOM/Widgets/ctkDICOMBrowser.cpp

+ 6 - 0
Libs/DICOM/Widgets/ctkDICOMBrowser.cpp

@@ -444,6 +444,12 @@ void ctkDICOMBrowser::setDatabaseDirectory(const QString& directory)
 {
   Q_D(ctkDICOMBrowser);
 
+  // If needed, create database directory
+  if (!QDir(directory).exists())
+    {
+    QDir().mkdir(directory);
+    }
+
   QSettings settings;
   settings.setValue("DatabaseDirectory", directory);
   settings.sync();