mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 13:18:38 +02:00
Slight cleanup of tests, use friend class to avoid exposing test functions
This commit is contained in:
parent
d9468f33aa
commit
0896807ca5
4 changed files with 17 additions and 14 deletions
|
@ -127,7 +127,7 @@ namespace Setting {
|
||||||
*/
|
*/
|
||||||
void Manager::forceSave() {
|
void Manager::forceSave() {
|
||||||
withWriteLock([&] {
|
withWriteLock([&] {
|
||||||
_qSettings.sync();
|
_qSettings->sync();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
|
|
||||||
// This is for the testing system.
|
// This is for the testing system.
|
||||||
class SettingsTests;
|
class SettingsTests;
|
||||||
|
class SettingsTestsWorker;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,7 +51,6 @@ namespace Setting {
|
||||||
void setArrayIndex(int i);
|
void setArrayIndex(int i);
|
||||||
void setValue(const QString &key, const QVariant &value);
|
void setValue(const QString &key, const QVariant &value);
|
||||||
QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const;
|
QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const;
|
||||||
void forceSave();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
~Manager();
|
~Manager();
|
||||||
|
@ -59,6 +59,7 @@ namespace Setting {
|
||||||
|
|
||||||
void loadSetting(Interface* handle);
|
void loadSetting(Interface* handle);
|
||||||
void saveSetting(Interface* handle);
|
void saveSetting(Interface* handle);
|
||||||
|
void forceSave();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void startTimer();
|
void startTimer();
|
||||||
|
@ -73,7 +74,8 @@ namespace Setting {
|
||||||
QHash<QString, QVariant> _pendingChanges;
|
QHash<QString, QVariant> _pendingChanges;
|
||||||
|
|
||||||
friend class Interface;
|
friend class Interface;
|
||||||
friend class SettingsTests;
|
friend class ::SettingsTests;
|
||||||
|
friend class ::SettingsTestsWorker;
|
||||||
|
|
||||||
friend void cleanupSettingsSaveThread();
|
friend void cleanupSettingsSaveThread();
|
||||||
friend void setupSettingsSaveThread();
|
friend void setupSettingsSaveThread();
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
QTEST_MAIN(SettingsTests)
|
QTEST_MAIN(SettingsTests)
|
||||||
|
|
||||||
void SettingsTestThread::saveSettings() {
|
void SettingsTestsWorker::saveSettings() {
|
||||||
auto sm = DependencyManager::get<Setting::Manager>();
|
auto sm = DependencyManager::get<Setting::Manager>();
|
||||||
QThread *thread = QThread::currentThread();
|
QThread *thread = QThread::currentThread();
|
||||||
|
|
||||||
|
@ -75,7 +75,6 @@ void SettingsTests::benchmarkSetValue() {
|
||||||
sm->setValue("BenchmarkSetValue", ++i);
|
sm->setValue("BenchmarkSetValue", ++i);
|
||||||
}
|
}
|
||||||
|
|
||||||
sm->forceSave();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,7 +83,7 @@ void SettingsTests::benchmarkSaveSettings() {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
QBENCHMARK {
|
QBENCHMARK {
|
||||||
sm->setValue("Benchmark", ++i);
|
sm->setValue("BenchmarkSave", ++i);
|
||||||
sm->forceSave();
|
sm->forceSave();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,22 +95,22 @@ void SettingsTests::benchmarkSetValueConcurrent() {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
_settingsThread = new QThread(qApp);
|
_settingsThread = new QThread(qApp);
|
||||||
_settingsThreadObj = new SettingsTestThread;
|
_testWorker = new SettingsTestsWorker();
|
||||||
|
|
||||||
_settingsThread->setObjectName("Save thread");
|
_settingsThread->setObjectName("Save thread");
|
||||||
_settingsThreadObj->moveToThread(_settingsThread);
|
_testWorker->moveToThread(_settingsThread);
|
||||||
|
|
||||||
QObject::connect(_settingsThread, &QThread::started, _settingsThreadObj, &SettingsTestThread::saveSettings, Qt::QueuedConnection );
|
QObject::connect(_settingsThread, &QThread::started, _testWorker, &SettingsTestsWorker::saveSettings, Qt::QueuedConnection );
|
||||||
|
|
||||||
_settingsThread->start();
|
_settingsThread->start();
|
||||||
QBENCHMARK {
|
QBENCHMARK {
|
||||||
sm->setValue("BenchmarkSetValue", ++i);
|
sm->setValue("BenchmarkSetValueConcurrent", ++i);
|
||||||
}
|
}
|
||||||
|
|
||||||
_settingsThread->requestInterruption();
|
_settingsThread->requestInterruption();
|
||||||
_settingsThread->wait();
|
_settingsThread->wait();
|
||||||
|
|
||||||
delete _settingsThreadObj;
|
delete _testWorker;
|
||||||
delete _settingsThread;
|
delete _settingsThread;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,16 +12,18 @@
|
||||||
#include <QtCore/QObject>
|
#include <QtCore/QObject>
|
||||||
|
|
||||||
|
|
||||||
class SettingsTestThread : public QObject {
|
|
||||||
|
|
||||||
|
class SettingsTestsWorker : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void saveSettings();
|
void saveSettings();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class SettingsTests : public QObject {
|
class SettingsTests : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void initTestCase();
|
void initTestCase();
|
||||||
void loadSettings();
|
void loadSettings();
|
||||||
|
@ -35,7 +37,7 @@ private slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QThread *_settingsThread = nullptr;
|
QThread *_settingsThread = nullptr;
|
||||||
SettingsTestThread *_settingsThreadObj = nullptr;
|
SettingsTestsWorker *_testWorker = nullptr;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue