diff options
author | hjk <[email protected]> | 2024-01-19 17:37:27 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2024-01-19 17:00:02 +0000 |
commit | cd4f62ebf8583de0873f67fe6c166132c5953322 (patch) | |
tree | 750c25f616037f71659d9806a12620f82793a0ec /src/plugins/valgrind/valgrindtestrunnertest.cpp | |
parent | eea8f42ea4ccce7195afa03733e46185339cec2a (diff) |
Valgrind: Move test object creation closer to tested code
Change-Id: I896c7f7c1d99a62bc869f3511c036123a78afc29
Reviewed-by: Jarek Kobus <[email protected]>
Diffstat (limited to 'src/plugins/valgrind/valgrindtestrunnertest.cpp')
-rw-r--r-- | src/plugins/valgrind/valgrindtestrunnertest.cpp | 55 |
1 files changed, 51 insertions, 4 deletions
diff --git a/src/plugins/valgrind/valgrindtestrunnertest.cpp b/src/plugins/valgrind/valgrindtestrunnertest.cpp index 73371e09164..7d53efca33d 100644 --- a/src/plugins/valgrind/valgrindtestrunnertest.cpp +++ b/src/plugins/valgrind/valgrindtestrunnertest.cpp @@ -4,6 +4,7 @@ #include "valgrindtestrunnertest.h" #include "valgrindprocess.h" +#include "xmlprotocol/error.h" #include "xmlprotocol/frame.h" #include "xmlprotocol/stack.h" @@ -12,6 +13,7 @@ #include <QDebug> #include <QDir> +#include <QStringList> #include <QTest> #define HEADER_LENGTH 3 @@ -19,9 +21,7 @@ using namespace Valgrind::XmlProtocol; using namespace Utils; -namespace Valgrind::Test { - -//BEGIN Test Helpers and boilerplate code +namespace Valgrind::Internal { static const QString appSrcDir(TESTRUNNER_SRC_DIR); static const QString appBinDir(TESTRUNNER_APP_DIR); @@ -36,6 +36,46 @@ static QString srcDirForApp(const QString &app) return QDir::cleanPath(appSrcDir + '/' + app); } +class ValgrindTestRunnerTest : public QObject +{ + Q_OBJECT + +public: + explicit ValgrindTestRunnerTest(QObject *parent = nullptr); + +private slots: + void init(); + void cleanup(); + + void testLeak1(); + void testLeak2(); + void testLeak3(); + void testLeak4(); + + void testUninit1(); + void testUninit2(); + void testUninit3(); + + void testFree1(); + void testFree2(); + + void testInvalidjump(); + void testSyscall(); + void testOverlap(); + + void logMessageReceived(const QByteArray &message); + void internalError(const QString &error); + void error(const Valgrind::XmlProtocol::Error &error); + +private: + QString runTestBinary(const QString &binary, const QStringList &vArgs = QStringList()); + + ValgrindProcess *m_runner = nullptr; + QList<QByteArray> m_logMessages; + QList<XmlProtocol::Error> m_errors; + bool m_expectCrash = false; +}; + ValgrindTestRunnerTest::ValgrindTestRunnerTest(QObject *parent) : QObject(parent) { @@ -749,4 +789,11 @@ void ValgrindTestRunnerTest::testOverlap() } } -} // namespace Valgrind::Test +QObject *createValgrindTestRunnerTest() +{ + return new ValgrindTestRunnerTest; +} + +} // namespace Valgrind::Internal + +#include "valgrindtestrunnertest.moc" |