diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2021-09-08 16:34:19 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2021-09-10 22:19:45 +0200 |
commit | b8191f41c65a908d0529d235b0200e6de99c34fb (patch) | |
tree | 59d750687ba5896cd4638780bb32193a5f563961 /src/testlib/qjunittestlogger_p.h | |
parent | 4e0082a9cacfdfd0c43e6105274bc0d41dd18801 (diff) |
testlib: Replace custom QTestCoreList with std::vector
The custom linked list implementation was implemented using
recursion, and as a result didn't handle long lists of test
cases, exhausting the stack on e.g. Windows where the default
stack is only 1MB. This was the case with e.g. the tst_QChar
test that produces 20K test cases.
Replacing with a std::vector should do nicely for our use-case.
No attempt has been made at further reducing the complexity
of QTestElement/QTestCoreElement/QTestElementAttribute.
Pick-to: 6.2
Change-Id: Ie295f7cf937ec6abdc4606b6120818551ad285c7
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/testlib/qjunittestlogger_p.h')
-rw-r--r-- | src/testlib/qjunittestlogger_p.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/testlib/qjunittestlogger_p.h b/src/testlib/qjunittestlogger_p.h index 91d2774144..abed9b1b44 100644 --- a/src/testlib/qjunittestlogger_p.h +++ b/src/testlib/qjunittestlogger_p.h @@ -51,9 +51,13 @@ // We mean it. // +#include <QtTest/qttestglobal.h> + #include <QtTest/private/qabstracttestlogger_p.h> #include <QtTest/private/qtestelementattribute_p.h> +#include <vector> + QT_BEGIN_NAMESPACE class QTestJUnitStreamer; @@ -88,7 +92,7 @@ class QJUnitTestLogger : public QAbstractTestLogger const char *failureType, const QString &failureDescription); QTestElement *currentTestSuite = nullptr; - QTestElement *listOfTestcases = nullptr; + std::vector<QTestElement*> listOfTestcases; QTestElement *currentTestCase = nullptr; QTestElement *systemOutputElement = nullptr; QTestElement *systemErrorElement = nullptr; |