From 66bee9596905eaf91e60da6c65078c27aab779fc Mon Sep 17 00:00:00 2001 From: Andras Mantia Date: Wed, 10 Jul 2013 14:18:51 +0300 Subject: [PATCH] Make the sql user name and password for unit tests configurable --- tests/CMakeLists.txt | 13 ++++++++++++- tests/testbase.cpp | 12 ++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index f72578a..51180d5 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -10,6 +10,15 @@ if (NOT SQLATE_DATABASE_HOST) set(SQLATE_DATABASE_HOST "sqlate-postgres") endif() +if (NOT SQLATE_DATABASE_USER) + set(SQLATE_DATABASE_USER "sqlate.user") +endif() + +if (NOT SQLATE_DATABASE_PASSWORD) + set(SQLATE_DATABASE_PASSWORD "sql123456") +endif() + + set(testcommon_srcs testbase.cpp testschema.cpp ) add_library(testcommon STATIC ${testcommon_srcs}) @@ -29,7 +38,9 @@ macro(add_sql_unittest_testbase _source) add_executable(${_name} ${_source}) add_test(NAME sql-${_name} COMMAND ${_name}) - set_tests_properties(sql-${_name} PROPERTIES ENVIRONMENT "SQLATE_DATABASE_HOST=${SQLATE_DATABASE_HOST};SQLATE_DATABASE_NAME=sqlate_test_${HOSTNAME}") + set_tests_properties(sql-${_name} PROPERTIES ENVIRONMENT + "SQLATE_DATABASE_HOST=${SQLATE_DATABASE_HOST};SQLATE_DATABASE_NAME=sqlate_test_${HOSTNAME};SQLATE_DATABASE_USER=${SQLATE_DATABASE_USER};SQLATE_DATABASE_PASSWORD=${SQLATE_DATABASE_PASSWORD}" + ) target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTSQL_LIBRARY} sqlate testcommon) endmacro() diff --git a/tests/testbase.cpp b/tests/testbase.cpp index ba02dc3..e761e8f 100644 --- a/tests/testbase.cpp +++ b/tests/testbase.cpp @@ -38,8 +38,16 @@ void TestBase::openDbTest() dbHost = QLatin1String("127.0.0.1"); } - QString dbUser = QLatin1String( "sqlate.user" ); - QString dbPassword = QLatin1String("sql123456" ); + QString dbUser = QLatin1String( qgetenv("SQLATE_DATABASE_USER").constData() ); + if (dbUser.isEmpty()) { + dbUser = QLatin1String( "sqlate.user" ); + } + + QString dbPassword = QLatin1String( qgetenv("SQLATE_DATABASE_PASSWORD").constData() ); + if (dbPassword.isEmpty()) { + dbPassword = QLatin1String( "sql123456" ); + } + int dbPort = getDbPort(); qDebug() << "Using database: " << dbName << " on host " << dbHost << " port: " << dbPort; db.setHostName( dbHost );