qtmobility/tests/auto/databasemanager/tst_databasemanager_s60.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 11 06b8e2af4411
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    40 ****************************************************************************/
    40 ****************************************************************************/
    41 #include <QtTest/QtTest>
    41 #include <QtTest/QtTest>
    42 #include <QtCore>
    42 #include <QtCore>
    43 #define private public
    43 #define private public
    44 #include <qserviceinterfacedescriptor.h>
    44 #include <qserviceinterfacedescriptor.h>
    45 #include "../../../serviceframework/qserviceinterfacedescriptor_p.h"
    45 #include "qserviceinterfacedescriptor_p.h"
    46 #include <qservicefilter.h>
    46 #include <qservicefilter.h>
    47 #include "../qsfwtestutil.h"
    47 #include "../qsfwtestutil.h"
    48 #include "servicemetadata_p.h"
    48 #include "servicemetadata_p.h"
    49 #include "databasemanager_s60_p.h"
    49 #include "databasemanager_s60_p.h"
    50 
    50 
    87         QDir m_testdir;
    87         QDir m_testdir;
    88 };
    88 };
    89 
    89 
    90 void tst_DatabaseManager::initTestCase()
    90 void tst_DatabaseManager::initTestCase()
    91 {
    91 {
    92 #if defined(Q_OS_SYMBIAN) && !defined(__WINS__)
    92     // Wait a millisecond so that QServiceManagers are destroyed and release
       
    93     // the database file (otherwise QFile::remove will get a permission denied -->
       
    94     // in next case, the isEmpty() check fails).
       
    95     QTest::qWait(1);
       
    96     QSfwTestUtil::removeTempUserDb();
       
    97     QSfwTestUtil::removeTempSystemDb();
       
    98 #if !defined(__WINS__)
    93     QSfwTestUtil::removeDatabases();
    99     QSfwTestUtil::removeDatabases();
    94 #endif
   100 #endif
    95     m_dbm = new DatabaseManager;
   101     m_dbm = new DatabaseManager;
    96 }
   102 }
    97 
   103 
   114         QVERIFY(parser.extractMetadata());
   120         QVERIFY(parser.extractMetadata());
   115         ServiceMetaDataResults parseResults = parser.parseResults();
   121         ServiceMetaDataResults parseResults = parser.parseResults();
   116         QVERIFY(m_dbm->registerService(parseResults, DatabaseManager::UserScope));
   122         QVERIFY(m_dbm->registerService(parseResults, DatabaseManager::UserScope));
   117     }
   123     }
   118     
   124     
   119     QSKIP("There is no difference between user and system scope in symbian", SkipAll);   
   125     QSKIP("There is no difference between user and system scope in symbian", SkipAll);
   120     
   126     
   121     QStringList systemServiceFiles;
   127     QStringList systemServiceFiles;
   122     systemServiceFiles << "ServiceOmni.xml" << "ServiceWayneEnt.xml"
   128     systemServiceFiles << "ServiceOmni.xml" << "ServiceWayneEnt.xml"
   123                         << "ServiceDharma_Hydra.xml"
   129                         << "ServiceDharma_Hydra.xml"
   124                         << "ServiceDharma_Orchid.xml"
   130                         << "ServiceDharma_Orchid.xml"
   560     QList<QServiceInterfaceDescriptor> descriptors;
   566     QList<QServiceInterfaceDescriptor> descriptors;
   561     descriptors = m_dbm->getInterfaces(filter, DatabaseManager::UserScope);
   567     descriptors = m_dbm->getInterfaces(filter, DatabaseManager::UserScope);
   562     QVERIFY(compareDescriptor(descriptors[0], "com.nokia.ILocation", "TestService", 1,0));
   568     QVERIFY(compareDescriptor(descriptors[0], "com.nokia.ILocation", "TestService", 1,0));
   563     QVERIFY(compareDescriptor(descriptors[1], "com.nokia.ILocation", "TestService1", 1,1));
   569     QVERIFY(compareDescriptor(descriptors[1], "com.nokia.ILocation", "TestService1", 1,1));
   564     QVERIFY(compareDescriptor(descriptors[2], "com.nokia.ILocation", "TestService2", 1,2));
   570     QVERIFY(compareDescriptor(descriptors[2], "com.nokia.ILocation", "TestService2", 1,2));
   565    
   571 
   566 } 
   572 }
   567 
   573 
   568 void tst_DatabaseManager::modifyPermissionSet(QFile::Permissions &permsSet,
   574 void tst_DatabaseManager::modifyPermissionSet(QFile::Permissions &permsSet,
   569                                                     int perm)
   575                                                     int perm)
   570 {
   576 {
   571 
   577 
   611     }
   617     }
   612 }
   618 }
   613 
   619 
   614 void tst_DatabaseManager::cleanupTestCase()
   620 void tst_DatabaseManager::cleanupTestCase()
   615 {
   621 {
   616 #if defined(Q_OS_SYMBIAN) && !defined(__WINS__)
   622     QTest::qWait(100);
       
   623     QSfwTestUtil::removeTempUserDb();
       
   624     QSfwTestUtil::removeTempSystemDb();
       
   625 #if !defined(__WINS__)
   617     QSfwTestUtil::removeDatabases();
   626     QSfwTestUtil::removeDatabases();
   618 #endif
   627 #endif
   619 }
   628 }
   620 
   629 
   621 QTEST_MAIN(tst_DatabaseManager)
   630 QTEST_MAIN(tst_DatabaseManager)