summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@theqtcompany.com>2015-05-13 19:17:32 +0200
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-05-21 11:34:56 +0000
commit45996a9f354800a428502685bbb615830d9e2e1e (patch)
tree1cc0a3acd482ebac8ac75f201afb29231e5adabf
parent3c399e722cbe49410dd25354bf59cae6042f2354 (diff)
downloadqt-creator-45996a9f354800a428502685bbb615830d9e2e1e.tar.gz
Sleep in test to check if timer is advanced
It can be happen that there is no time difference. Change-Id: I30e30e0f4dd92d4063340021070f86cf5a96b83a Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-rw-r--r--src/tools/codemodelbackend/ipcsource/projectpart.cpp6
-rw-r--r--src/tools/codemodelbackend/ipcsource/projectpart.h4
-rw-r--r--src/tools/codemodelbackend/ipcsource/translationunit.cpp8
-rw-r--r--src/tools/codemodelbackend/ipcsource/translationunit.h4
-rw-r--r--src/tools/codemodelbackend/ipcsource/unsavedfiles.cpp6
-rw-r--r--src/tools/codemodelbackend/ipcsource/unsavedfiles.h4
-rw-r--r--tests/unit/codemodelbackend/unittest/projecttest.cpp4
-rw-r--r--tests/unit/codemodelbackend/unittest/translationunittest.cpp6
8 files changed, 24 insertions, 18 deletions
diff --git a/src/tools/codemodelbackend/ipcsource/projectpart.cpp b/src/tools/codemodelbackend/ipcsource/projectpart.cpp
index 61b2c85a51..fedbd3026f 100644
--- a/src/tools/codemodelbackend/ipcsource/projectpart.cpp
+++ b/src/tools/codemodelbackend/ipcsource/projectpart.cpp
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
@@ -49,7 +49,7 @@ public:
};
ProjectPartData::ProjectPartData(const Utf8String &projectPartId)
- : lastChangeTimePoint(std::chrono::high_resolution_clock::now()),
+ : lastChangeTimePoint(std::chrono::steady_clock::now()),
projectPartId(projectPartId)
{
}
@@ -129,7 +129,7 @@ const time_point &ProjectPart::lastChangeTimePoint() const
void ProjectPart::updateLastChangeTimePoint()
{
- d->lastChangeTimePoint = std::chrono::high_resolution_clock::now();
+ d->lastChangeTimePoint = std::chrono::steady_clock::now();
}
bool operator ==(const ProjectPart &first, const ProjectPart &second)
diff --git a/src/tools/codemodelbackend/ipcsource/projectpart.h b/src/tools/codemodelbackend/ipcsource/projectpart.h
index 199dbe3ab6..7a98f20859 100644
--- a/src/tools/codemodelbackend/ipcsource/projectpart.h
+++ b/src/tools/codemodelbackend/ipcsource/projectpart.h
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
@@ -43,7 +43,7 @@ namespace CodeModelBackEnd {
class ProjectPartContainer;
class ProjectPartData;
-using time_point = std::chrono::high_resolution_clock::time_point;
+using time_point = std::chrono::steady_clock::time_point;
class ProjectPart
{
diff --git a/src/tools/codemodelbackend/ipcsource/translationunit.cpp b/src/tools/codemodelbackend/ipcsource/translationunit.cpp
index 7a5f734a4d..da2c29f140 100644
--- a/src/tools/codemodelbackend/ipcsource/translationunit.cpp
+++ b/src/tools/codemodelbackend/ipcsource/translationunit.cpp
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing
@@ -64,7 +64,7 @@ public:
TranslationUnitData::TranslationUnitData(const Utf8String &filePath,
const UnsavedFiles &unsavedFiles,
const ProjectPart &projectPart)
- : lastChangeTimePoint(std::chrono::high_resolution_clock::now()),
+ : lastChangeTimePoint(std::chrono::steady_clock::now()),
projectPart(projectPart),
filePath(filePath),
unsavedFiles(unsavedFiles)
@@ -149,12 +149,12 @@ void TranslationUnit::checkIfFileExists() const
void TranslationUnit::updateLastChangeTimePoint() const
{
- d->lastChangeTimePoint = std::chrono::high_resolution_clock::now();
+ d->lastChangeTimePoint = std::chrono::steady_clock::now();
}
void TranslationUnit::removeOutdatedTranslationUnit() const
{
- if (d->projectPart.lastChangeTimePoint() > d->lastChangeTimePoint) {
+ if (d->projectPart.lastChangeTimePoint() >= d->lastChangeTimePoint) {
clang_disposeTranslationUnit(d->translationUnit);
d->translationUnit = nullptr;
}
diff --git a/src/tools/codemodelbackend/ipcsource/translationunit.h b/src/tools/codemodelbackend/ipcsource/translationunit.h
index ca038c1cc9..3dfc3fe83b 100644
--- a/src/tools/codemodelbackend/ipcsource/translationunit.h
+++ b/src/tools/codemodelbackend/ipcsource/translationunit.h
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing
@@ -47,7 +47,7 @@ class CodeCompleter;
class UnsavedFiles;
class ProjectPart;
-using time_point = std::chrono::high_resolution_clock::time_point;
+using time_point = std::chrono::steady_clock::time_point;
class TranslationUnit
{
diff --git a/src/tools/codemodelbackend/ipcsource/unsavedfiles.cpp b/src/tools/codemodelbackend/ipcsource/unsavedfiles.cpp
index d6bbc0a94e..855a736fa9 100644
--- a/src/tools/codemodelbackend/ipcsource/unsavedfiles.cpp
+++ b/src/tools/codemodelbackend/ipcsource/unsavedfiles.cpp
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
@@ -47,7 +47,7 @@ public:
};
UnsavedFilesData::UnsavedFilesData()
- : lastChangeTimePoint(std::chrono::high_resolution_clock::now())
+ : lastChangeTimePoint(std::chrono::steady_clock::now())
{
}
@@ -179,7 +179,7 @@ void UnsavedFiles::addOrUpdateCXUnsavedFile(const FileContainer &fileContainer)
void UnsavedFiles::updateLastChangeTimePoint()
{
- d->lastChangeTimePoint = std::chrono::high_resolution_clock::now();
+ d->lastChangeTimePoint = std::chrono::steady_clock::now();
}
diff --git a/src/tools/codemodelbackend/ipcsource/unsavedfiles.h b/src/tools/codemodelbackend/ipcsource/unsavedfiles.h
index d59dbbaf98..6a35656a8e 100644
--- a/src/tools/codemodelbackend/ipcsource/unsavedfiles.h
+++ b/src/tools/codemodelbackend/ipcsource/unsavedfiles.h
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
@@ -43,7 +43,7 @@
namespace CodeModelBackEnd {
-using time_point = std::chrono::high_resolution_clock::time_point;
+using time_point = std::chrono::steady_clock::time_point;
class UnsavedFilesData;
diff --git a/tests/unit/codemodelbackend/unittest/projecttest.cpp b/tests/unit/codemodelbackend/unittest/projecttest.cpp
index da62d9d352..31e761312f 100644
--- a/tests/unit/codemodelbackend/unittest/projecttest.cpp
+++ b/tests/unit/codemodelbackend/unittest/projecttest.cpp
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
@@ -39,6 +39,7 @@
#include <projectpartsdonotexistexception.h>
#include <chrono>
+#include <thread>
using testing::ElementsAre;
using testing::StrEq;
@@ -90,6 +91,7 @@ TEST(ProjectPart, TimeStampIsUpdatedAsArgumentChanged)
{
CodeModelBackEnd::ProjectPart project(Utf8StringLiteral("/tmp/blah.pro"));
auto lastChangeTimePoint = project.lastChangeTimePoint();
+ std::this_thread::sleep_for(std::chrono::steady_clock::duration(1));
project.setArguments(Utf8StringVector({Utf8StringLiteral("-O"), Utf8StringLiteral("-fast")}));
diff --git a/tests/unit/codemodelbackend/unittest/translationunittest.cpp b/tests/unit/codemodelbackend/unittest/translationunittest.cpp
index 3aa4d749d1..26314bc060 100644
--- a/tests/unit/codemodelbackend/unittest/translationunittest.cpp
+++ b/tests/unit/codemodelbackend/unittest/translationunittest.cpp
@@ -1,4 +1,4 @@
-/****************************************************************************
+/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
@@ -46,6 +46,9 @@
#include <translationunitfilenotexitexception.h>
#include <translationunitparseerrorexception.h>
+#include <chrono>
+#include <thread>
+
using CodeModelBackEnd::TranslationUnit;
using CodeModelBackEnd::UnsavedFiles;
using CodeModelBackEnd::ProjectPart;
@@ -125,6 +128,7 @@ TEST(TranslationUnit, TimeStampIsUpdatedAsNewCxTranslationUnitIsGenerated)
{
TranslationUnit translationUnit(Utf8StringLiteral(TESTDATA_DIR"/complete_testfile_1.cpp"), UnsavedFiles(), ProjectPart(Utf8StringLiteral("/path/to/projectfile")));
auto lastChangeTimePoint = translationUnit.lastChangeTimePoint();
+ std::this_thread::sleep_for(std::chrono::steady_clock::duration(1));
translationUnit.cxTranslationUnit();