forked from qt-creator/qt-creator
Clang: Use Utils::TemporaryDirectory
Task-number: QTCREATORBUG-17401 Change-Id: Ibf6007455ec92b1d9fcac17e1f3b5e2af21b7438 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
@@ -33,7 +33,6 @@
|
||||
#include <QCoreApplication>
|
||||
#include <QMetaMethod>
|
||||
#include <QProcess>
|
||||
#include <QTemporaryDir>
|
||||
#include <QThread>
|
||||
|
||||
namespace ClangBackEnd {
|
||||
@@ -221,8 +220,7 @@ void ConnectionClient::printStandardError()
|
||||
|
||||
void ConnectionClient::resetTemporaryDir()
|
||||
{
|
||||
const QString templatePath = QDir::tempPath() + QStringLiteral("/qtc-clang-XXXXXX");
|
||||
temporaryDirectory_.reset(new QTemporaryDir(templatePath));
|
||||
temporaryDirectory_ = std::make_unique<Utils::TemporaryDirectory>("clang-XXXXXX");
|
||||
}
|
||||
|
||||
void ConnectionClient::connectLocalSocketConnected()
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "clangcodemodelserverproxy.h"
|
||||
#include "lineprefixer.h"
|
||||
|
||||
#include <utils/temporarydirectory.h>
|
||||
|
||||
#include <QLocalSocket>
|
||||
#include <QProcessEnvironment>
|
||||
#include <QScopedPointer>
|
||||
@@ -124,7 +126,7 @@ private:
|
||||
|
||||
mutable std::unique_ptr<QProcess> process_;
|
||||
QLocalSocket localSocket;
|
||||
std::unique_ptr<QTemporaryDir> temporaryDirectory_;
|
||||
std::unique_ptr<Utils::TemporaryDirectory> temporaryDirectory_;
|
||||
QTimer processAliveTimer;
|
||||
QString processPath_;
|
||||
bool isAliveTimerResetted = false;
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
namespace ClangCodeModel {
|
||||
namespace Internal {
|
||||
|
||||
UiHeaderOnDiskManager::UiHeaderOnDiskManager() : m_temporaryDir("qtc-clang-uiheader-XXXXXX")
|
||||
UiHeaderOnDiskManager::UiHeaderOnDiskManager() : m_temporaryDir("clang-uiheader-XXXXXX")
|
||||
{
|
||||
QTC_CHECK(m_temporaryDir.isValid());
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
client.startProcessAndConnectToServerAsynchronously();
|
||||
QSignalSpy clientSpy(&d->client, &ConnectionClient::connectedToLocalSocket);
|
||||
d->client.setProcessPath(Utils::HostOsInfo::withExecutableSuffix(QStringLiteral(ECHOSERVER)));
|
||||
|
||||
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()
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user