diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-01-30 10:05:42 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-02-13 15:21:04 +0000 |
commit | 340063c6244058ec64fd77d8841b056d5a38e5a1 (patch) | |
tree | 4aaa172245b7f00a50a6ed1471e2f5a46f15baea /tests | |
parent | e03132f51796f1b882c3dfeda1bb869a99d6bf2a (diff) | |
download | qt-creator-340063c6244058ec64fd77d8841b056d5a38e5a1.tar.gz |
Clang: Use Utils::TemporaryDirectory
Task-number: QTCREATORBUG-17401
Change-Id: Ibf6007455ec92b1d9fcac17e1f3b5e2af21b7438
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/echoserver/echoserver.pro | 6 | ||||
-rw-r--r-- | tests/unit/unittest/clientserveroutsideprocess-test.cpp | 28 | ||||
-rw-r--r-- | tests/unit/unittest/unittests-main.cpp | 4 |
3 files changed, 29 insertions, 9 deletions
diff --git a/tests/unit/echoserver/echoserver.pro b/tests/unit/echoserver/echoserver.pro index 36c4f99b32..0f9ed76afa 100644 --- a/tests/unit/echoserver/echoserver.pro +++ b/tests/unit/echoserver/echoserver.pro @@ -8,6 +8,12 @@ TEMPLATE = app unix:LIBS += -ldl +# Set IDE_LIBEXEC_PATH and IDE_BIN_PATH to silence a warning about empty +# QTC_REL_TOOLS_PATH, which is not used by the tests. +IDE_LIBEXEC_PATH=$$PWD +IDE_BIN_PATH=$$PWD +include($$PWD/../../../src/libs/utils/utils-lib.pri) + include(../../../qtcreator.pri) include(../../../src/libs/clangbackendipc/clangbackendipc-lib.pri) include(../../../src/libs/sqlite/sqlite-lib.pri) diff --git a/tests/unit/unittest/clientserveroutsideprocess-test.cpp b/tests/unit/unittest/clientserveroutsideprocess-test.cpp index ed3391ddef..ded6b24a6d 100644 --- a/tests/unit/unittest/clientserveroutsideprocess-test.cpp +++ b/tests/unit/unittest/clientserveroutsideprocess-test.cpp @@ -51,6 +51,7 @@ #include <QString> #include <QVariant> +#include <memory> #include <vector> using namespace ClangBackEnd; @@ -58,6 +59,13 @@ using namespace ClangBackEnd; using ::testing::Eq; using ::testing::SizeIs; +struct Data { + Data() : client(&mockClangCodeModelClient) {} + + MockClangCodeModelClient mockClangCodeModelClient; + ClangBackEnd::ClangCodeModelConnectionClient client; +}; + class ClientServerOutsideProcess : public ::testing::Test { protected: @@ -67,16 +75,15 @@ protected: static void SetUpTestCase(); static void TearDownTestCase(); - static MockClangCodeModelClient mockClangCodeModelClient; - static ClangBackEnd::ClangCodeModelConnectionClient client; + static std::unique_ptr<Data> d; + MockClangCodeModelClient &mockClangCodeModelClient = d->mockClangCodeModelClient; + ClangBackEnd::ClangCodeModelConnectionClient &client = d->client; }; -MockClangCodeModelClient ClientServerOutsideProcess::mockClangCodeModelClient; -ClangBackEnd::ClangCodeModelConnectionClient ClientServerOutsideProcess::client(&ClientServerOutsideProcess::mockClangCodeModelClient); +std::unique_ptr<Data> ClientServerOutsideProcess::d; using ClientServerOutsideProcessSlowTest = ClientServerOutsideProcess; - TEST_F(ClientServerOutsideProcessSlowTest, RestartProcessAsynchronously) { QSignalSpy clientSpy(&client, &ConnectionClient::connectedToLocalSocket); @@ -176,10 +183,12 @@ TEST_F(ClientServerOutsideProcess, SendUnregisterProjectPartsForEditorMessage) void ClientServerOutsideProcess::SetUpTestCase() { - QSignalSpy clientSpy(&client, &ConnectionClient::connectedToLocalSocket); - client.setProcessPath(Utils::HostOsInfo::withExecutableSuffix(QStringLiteral(ECHOSERVER))); + d.reset(new Data); + + QSignalSpy clientSpy(&d->client, &ConnectionClient::connectedToLocalSocket); + d->client.setProcessPath(Utils::HostOsInfo::withExecutableSuffix(QStringLiteral(ECHOSERVER))); - client.startProcessAndConnectToServerAsynchronously(); + d->client.startProcessAndConnectToServerAsynchronously(); ASSERT_TRUE(clientSpy.wait(100000)); ASSERT_THAT(clientSpy, SizeIs(1)); @@ -187,7 +196,8 @@ void ClientServerOutsideProcess::SetUpTestCase() void ClientServerOutsideProcess::TearDownTestCase() { - client.finishProcess(); + d->client.finishProcess(); + d.reset(); } void ClientServerOutsideProcess::SetUp() { diff --git a/tests/unit/unittest/unittests-main.cpp b/tests/unit/unittest/unittests-main.cpp index 0e6d913165..18b428a39f 100644 --- a/tests/unit/unittest/unittests-main.cpp +++ b/tests/unit/unittest/unittests-main.cpp @@ -25,6 +25,8 @@ #include <sqliteglobal.h> +#include <utils/temporarydirectory.h> + #include <QCoreApplication> #include <QLoggingCategory> @@ -37,6 +39,8 @@ int main(int argc, char *argv[]) { + Utils::TemporaryDirectory::setMasterTemporaryDirectory(QDir::tempPath() + +"/QtCreator-UnitTests-XXXXXX"); Sqlite::registerTypes(); QCoreApplication application(argc, argv); |