diff options
author | Samuel Gaist <samuel.gaist@edeltech.ch> | 2017-12-07 09:46:30 +0100 |
---|---|---|
committer | Samuel Gaist <samuel.gaist@edeltech.ch> | 2018-06-03 20:26:38 +0000 |
commit | 04b180f7f25d73d002df31085cf1c352e075d4e5 (patch) | |
tree | 63b20b4fb53704192e231b1fa208885698066c23 /src/testlib/qtestcase.cpp | |
parent | 9998654eacfa07a567e25ac5f2e557f61091145d (diff) |
Improve std::tuple handling in tests
Currently when doing comparison with std::tuple the fallback toString
method is called which returns a Q_NULLPTR thus not allowing proper
diagnostic of the values that triggered an error. This patch
adds support for std::tuple to improve the tests output readability.
[ChangeLog][QtTest][QCOMPARE] Now outputs contents of std::tuple on
failure.
Change-Id: I046a55e2ce44c3f7728d51e4745120d38aa5e007
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/testlib/qtestcase.cpp')
-rw-r--r-- | src/testlib/qtestcase.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 0866176b6b..469c423109 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -1147,6 +1147,31 @@ void *fetchData(QTestData *data, const char *tagName, int typeId) } /*! + * \internal + */ +char *formatString(const char *prefix, const char *suffix, size_t numArguments, ...) +{ + va_list ap; + va_start(ap, numArguments); + + QByteArray arguments; + arguments += prefix; + + if (numArguments > 0) { + arguments += va_arg(ap, const char *); + + for (size_t i = 1; i < numArguments; ++i) { + arguments += ", "; + arguments += va_arg(ap, const char *); + } + } + + va_end(ap); + arguments += suffix; + return qstrdup(arguments.constData()); +} + +/*! \fn char* QTest::toHexRepresentation(const char *ba, int length) Returns a pointer to a string that is the string \a ba represented |