diff options
author | Marco Bubke <marco.bubke@theqtcompany.com> | 2015-05-13 19:17:32 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-05-21 11:34:56 +0000 |
commit | 45996a9f354800a428502685bbb615830d9e2e1e (patch) | |
tree | 1cc0a3acd482ebac8ac75f201afb29231e5adabf | |
parent | 3c399e722cbe49410dd25354bf59cae6042f2354 (diff) | |
download | qt-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>
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(); |