void ParserTests::testRealValgrind() { QString executable = QProcessEnvironment::systemEnvironment().value("VALGRIND_TEST_BIN", fakeValgrindExecutable()); qDebug() << "running exe:" << executable << " HINT: set VALGRIND_TEST_BIN to change this"; ThreadedParser parser; Valgrind::Memcheck::MemcheckRunner runner; runner.setValgrindExecutable(QLatin1String("valgrind")); runner.setDebuggeeExecutable(executable); runner.setParser(&parser); RunnerDumper dumper(&runner, &parser); runner.start(); runner.waitForFinished(); }
void ParserTests::testValgrindStartError() { QFETCH(QString, valgrindExe); QFETCH(QStringList, valgrindArgs); QFETCH(QString, debuggee); QFETCH(QString, debuggeeArgs); ThreadedParser parser; Valgrind::Memcheck::MemcheckRunner runner; runner.setParser(&parser); runner.setValgrindExecutable(valgrindExe); runner.setValgrindArguments(valgrindArgs); runner.setDebuggeeExecutable(debuggee); runner.setDebuggeeArguments(debuggeeArgs); RunnerDumper dumper(&runner, &parser); runner.start(); runner.waitForFinished(); QVERIFY(dumper.m_errorReceived); // just finish without deadlock and we are fine }