diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-03-15 15:16:19 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-03-15 15:19:41 +0100 |
commit | b576f6b17e17083257763d5bcb6bf2b64dd200c3 (patch) | |
tree | b83e1e98b0b40e1f75c4a35736486e6e73b6e46d | |
parent | 5dab398f76b2d2c6dfdce9ee068c226c9ab20e5b (diff) | |
download | sink-b576f6b17e17083257763d5bcb6bf2b64dd200c3.tar.gz sink-b576f6b17e17083257763d5bcb6bf2b64dd200c3.zip |
A test helper to avoid writing to the data directory.
-rw-r--r-- | common/CMakeLists.txt | 2 | ||||
-rw-r--r-- | common/test.cpp | 42 | ||||
-rw-r--r-- | common/test.h | 35 |
3 files changed, 79 insertions, 0 deletions
diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 0d61d90..4cb9e91 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt | |||
@@ -63,6 +63,7 @@ set(command_SRCS | |||
63 | domain/event.cpp | 63 | domain/event.cpp |
64 | domain/mail.cpp | 64 | domain/mail.cpp |
65 | domain/folder.cpp | 65 | domain/folder.cpp |
66 | test.cpp | ||
66 | ${storage_SRCS}) | 67 | ${storage_SRCS}) |
67 | 68 | ||
68 | add_library(${PROJECT_NAME} SHARED ${command_SRCS}) | 69 | add_library(${PROJECT_NAME} SHARED ${command_SRCS}) |
@@ -113,6 +114,7 @@ install(FILES | |||
113 | inspection.h | 114 | inspection.h |
114 | notification.h | 115 | notification.h |
115 | bufferadaptor.h | 116 | bufferadaptor.h |
117 | test.h | ||
116 | ${CMAKE_CURRENT_BINARY_DIR}/sink_export.h | 118 | ${CMAKE_CURRENT_BINARY_DIR}/sink_export.h |
117 | DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME} COMPONENT Devel | 119 | DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME} COMPONENT Devel |
118 | ) | 120 | ) |
diff --git a/common/test.cpp b/common/test.cpp new file mode 100644 index 0000000..0864f1a --- /dev/null +++ b/common/test.cpp | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Christian Mollekopf <chrigi_1@fastmail.fm> | ||
3 | * | ||
4 | * This library is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU Lesser General Public | ||
6 | * License as published by the Free Software Foundation; either | ||
7 | * version 2.1 of the License, or (at your option) version 3, or any | ||
8 | * later version accepted by the membership of KDE e.V. (or its | ||
9 | * successor approved by the membership of KDE e.V.), which shall | ||
10 | * act as a proxy defined in Section 6 of version 3 of the license. | ||
11 | * | ||
12 | * This library is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * Lesser General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU Lesser General Public | ||
18 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. | ||
19 | */ | ||
20 | |||
21 | #include "test.h" | ||
22 | |||
23 | #include <QStandardPaths> | ||
24 | #include <QDir> | ||
25 | #include <QDebug> | ||
26 | |||
27 | void Sink::Test::initTest() | ||
28 | { | ||
29 | QStandardPaths::setTestModeEnabled(true); | ||
30 | // qDebug() << "Removing " << QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); | ||
31 | QDir(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)).removeRecursively(); | ||
32 | // qDebug() << "Removing " << QStandardPaths::writableLocation(QStandardPaths::DataLocation); | ||
33 | QDir(QStandardPaths::writableLocation(QStandardPaths::DataLocation)).removeRecursively(); | ||
34 | // qDebug() << "Removing " << QStandardPaths::writableLocation(QStandardPaths::ConfigLocation); | ||
35 | QDir(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation)).removeRecursively(); | ||
36 | // qDebug() << "Removing " << QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation); | ||
37 | QDir(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation)).removeRecursively(); | ||
38 | // qDebug() << "Removing " << QStandardPaths::writableLocation(QStandardPaths::CacheLocation); | ||
39 | QDir(QStandardPaths::writableLocation(QStandardPaths::CacheLocation)).removeRecursively(); | ||
40 | // qDebug() << "Removing " << QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation); | ||
41 | QDir(QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation)).removeRecursively(); | ||
42 | } | ||
diff --git a/common/test.h b/common/test.h new file mode 100644 index 0000000..146b4ac --- /dev/null +++ b/common/test.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Christian Mollekopf <chrigi_1@fastmail.fm> | ||
3 | * | ||
4 | * This library is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU Lesser General Public | ||
6 | * License as published by the Free Software Foundation; either | ||
7 | * version 2.1 of the License, or (at your option) version 3, or any | ||
8 | * later version accepted by the membership of KDE e.V. (or its | ||
9 | * successor approved by the membership of KDE e.V.), which shall | ||
10 | * act as a proxy defined in Section 6 of version 3 of the license. | ||
11 | * | ||
12 | * This library is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * Lesser General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU Lesser General Public | ||
18 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. | ||
19 | */ | ||
20 | |||
21 | #pragma once | ||
22 | |||
23 | #include "sink_export.h" | ||
24 | |||
25 | namespace Sink { | ||
26 | namespace Test { | ||
27 | /** | ||
28 | * Initialize the test environment. | ||
29 | * | ||
30 | * This makes use of QStandardPaths::setTestModeEnabled to avoid writing to the user directory, | ||
31 | * and clears all data directories. | ||
32 | */ | ||
33 | void SINK_EXPORT initTest(); | ||
34 | } | ||
35 | } | ||