From 50d3067bcd7f7bbec139daa27ab8160ed44fceb1 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Wed, 10 Jun 2020 13:50:35 +0200 Subject: [PATCH] UnitTests: Refactor printing Move standard printing functions to extra header. Change-Id: Ib032047235297dfe3ac0bcdbd39c353493f3ae0d Reviewed-by: Tim Jenssen --- tests/unit/unittest/CMakeLists.txt | 1 + tests/unit/unittest/googletest.h | 3 +- tests/unit/unittest/gtest-clang-printing.cpp | 1 + .../unit/unittest/gtest-creator-printing.cpp | 1 + tests/unit/unittest/gtest-creator-printing.h | 20 --------- tests/unit/unittest/gtest-llvm-printing.cpp | 3 ++ tests/unit/unittest/gtest-std-printing.h | 41 +++++++++++++++++++ tests/unit/unittest/unittest.pro | 1 + 8 files changed, 50 insertions(+), 21 deletions(-) create mode 100644 tests/unit/unittest/gtest-std-printing.h diff --git a/tests/unit/unittest/CMakeLists.txt b/tests/unit/unittest/CMakeLists.txt index aa2eeddb39d..d42337155d8 100644 --- a/tests/unit/unittest/CMakeLists.txt +++ b/tests/unit/unittest/CMakeLists.txt @@ -62,6 +62,7 @@ add_qtc_test(unittest GTEST gtest-creator-printing.cpp gtest-creator-printing.h gtest-llvm-printing.h gtest-qt-printing.cpp gtest-qt-printing.h + gtest-std-printing.h headerpathfilter-test.cpp highlightingresultreporter-test.cpp lineprefixer-test.cpp diff --git a/tests/unit/unittest/googletest.h b/tests/unit/unittest/googletest.h index 0b9bf2d2fa1..4c917a45b32 100644 --- a/tests/unit/unittest/googletest.h +++ b/tests/unit/unittest/googletest.h @@ -38,9 +38,10 @@ #include "compare-operators.h" #include "conditionally-disabled-tests.h" -#include "gtest-qt-printing.h" #include "gtest-creator-printing.h" #include "gtest-llvm-printing.h" +#include "gtest-qt-printing.h" +#include "gtest-std-printing.h" #ifdef CLANG_UNIT_TESTS # include "gtest-clang-printing.h" #endif diff --git a/tests/unit/unittest/gtest-clang-printing.cpp b/tests/unit/unittest/gtest-clang-printing.cpp index 4c10958f52d..727273d2bfe 100644 --- a/tests/unit/unittest/gtest-clang-printing.cpp +++ b/tests/unit/unittest/gtest-clang-printing.cpp @@ -24,6 +24,7 @@ ****************************************************************************/ #include "gtest-creator-printing.h" +#include "gtest-std-printing.h" #ifdef CLANG_UNIT_TESTS #include diff --git a/tests/unit/unittest/gtest-creator-printing.cpp b/tests/unit/unittest/gtest-creator-printing.cpp index 039e01bb875..326058d7a9d 100644 --- a/tests/unit/unittest/gtest-creator-printing.cpp +++ b/tests/unit/unittest/gtest-creator-printing.cpp @@ -24,6 +24,7 @@ ****************************************************************************/ #include "gtest-creator-printing.h" +#include "gtest-std-printing.h" #include "gtest-qt-printing.h" diff --git a/tests/unit/unittest/gtest-creator-printing.h b/tests/unit/unittest/gtest-creator-printing.h index c791290ae2d..e0cb55315f4 100644 --- a/tests/unit/unittest/gtest-creator-printing.h +++ b/tests/unit/unittest/gtest-creator-printing.h @@ -350,24 +350,4 @@ std::ostream &operator<<(std::ostream &out, const Diagnostic &diag); } // namespace Internal } // namespace CppTools -namespace std { -template -ostream &operator<<(ostream &out, const vector &vector) -{ - out << "["; - - for (auto current = vector.begin(); current != vector.end(); ++current) { - out << *current; - - if (std::next(current) != vector.end()) - out << ", "; - } - - out << "]"; - - return out; -} - -} // namespace std - void setFilePathCache(ClangBackEnd::FilePathCaching *filePathCache); diff --git a/tests/unit/unittest/gtest-llvm-printing.cpp b/tests/unit/unittest/gtest-llvm-printing.cpp index c78b4f9eea5..f3b1befde7d 100644 --- a/tests/unit/unittest/gtest-llvm-printing.cpp +++ b/tests/unit/unittest/gtest-llvm-printing.cpp @@ -23,6 +23,9 @@ ** ****************************************************************************/ +#include "gtest-llvm-printing.h" +#include "gtest-std-printing.h" + #include #include diff --git a/tests/unit/unittest/gtest-std-printing.h b/tests/unit/unittest/gtest-std-printing.h new file mode 100644 index 00000000000..874f8c41c62 --- /dev/null +++ b/tests/unit/unittest/gtest-std-printing.h @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +****************************************************************************/ + +#pragma once + +#include +#include + +namespace std { +template +ostream &operator<<(ostream &out, const vector &vector) +{ + out << "["; + + for (auto current = vector.begin(); current != vector.end(); ++current) { + out << *current; + + if (std::next(current) != vector.end()) + out << ", "; + } + + out << "]"; + + return out; +} + +} // namespace std diff --git a/tests/unit/unittest/unittest.pro b/tests/unit/unittest/unittest.pro index 73df83e4717..e9a96ace5f0 100644 --- a/tests/unit/unittest/unittest.pro +++ b/tests/unit/unittest/unittest.pro @@ -230,6 +230,7 @@ HEADERS += \ gtest-creator-printing.h \ gtest-llvm-printing.h \ gtest-qt-printing.h \ + gtest-std-printing.h \ mimedatabase-utilities.h \ mockclangcodemodelclient.h \ mockclangcodemodelserver.h \