forked from qt-creator/qt-creator
Valgrind: Introduce Frame::filePath().
Change-Id: I40d1b7f739ea905bbcca1a388bada3e077b7c137 Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
@@ -83,9 +83,9 @@ static QString makeFrameName(const Frame &frame, const QString &relativeTo,
|
|||||||
bool link = true, const QString &linkAttr = QString())
|
bool link = true, const QString &linkAttr = QString())
|
||||||
{
|
{
|
||||||
const QString d = frame.directory();
|
const QString d = frame.directory();
|
||||||
const QString f = frame.file();
|
const QString f = frame.fileName();
|
||||||
const QString fn = frame.functionName();
|
const QString fn = frame.functionName();
|
||||||
const QString fullPath = d + QLatin1Char('/') + f;
|
const QString fullPath = frame.filePath();
|
||||||
|
|
||||||
QString path;
|
QString path;
|
||||||
if (!d.isEmpty() && !f.isEmpty())
|
if (!d.isEmpty() && !f.isEmpty())
|
||||||
|
@@ -299,11 +299,11 @@ public:
|
|||||||
//find the first frame belonging to the project
|
//find the first frame belonging to the project
|
||||||
if (!m_projectFiles.isEmpty()) {
|
if (!m_projectFiles.isEmpty()) {
|
||||||
foreach (const Frame &frame, frames) {
|
foreach (const Frame &frame, frames) {
|
||||||
if (frame.directory().isEmpty() || frame.file().isEmpty())
|
if (frame.directory().isEmpty() || frame.fileName().isEmpty())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//filepaths can contain "..", clean them:
|
//filepaths can contain "..", clean them:
|
||||||
const QString f = QFileInfo(frame.directory() + QLatin1Char('/') + frame.file()).absoluteFilePath();
|
const QString f = QFileInfo(frame.filePath()).absoluteFilePath();
|
||||||
if (m_projectFiles.contains(f))
|
if (m_projectFiles.contains(f))
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
@@ -238,8 +238,8 @@ QString Error::toXml() const
|
|||||||
stream << " <fn>" << frame.functionName() << "</fn>\n";
|
stream << " <fn>" << frame.functionName() << "</fn>\n";
|
||||||
if (!frame.directory().isEmpty())
|
if (!frame.directory().isEmpty())
|
||||||
stream << " <dir>" << frame.directory() << "</dir>\n";
|
stream << " <dir>" << frame.directory() << "</dir>\n";
|
||||||
if (!frame.file().isEmpty())
|
if (!frame.fileName().isEmpty())
|
||||||
stream << " <file>" << frame.file() << "</file>\n";
|
stream << " <file>" << frame.fileName() << "</file>\n";
|
||||||
if (frame.line() != -1)
|
if (frame.line() != -1)
|
||||||
stream << " <line>" << frame.line() << "</line>";
|
stream << " <line>" << frame.line() << "</line>";
|
||||||
stream << " </frame>\n";
|
stream << " </frame>\n";
|
||||||
|
@@ -111,16 +111,13 @@ Frame ErrorListModel::Private::findRelevantFrame(const Error &error) const
|
|||||||
|
|
||||||
QString ErrorListModel::Private::formatAbsoluteFilePath(const Error &error) const
|
QString ErrorListModel::Private::formatAbsoluteFilePath(const Error &error) const
|
||||||
{
|
{
|
||||||
const Frame f = findRelevantFrame(error);
|
return findRelevantFrame(error).filePath();
|
||||||
if (!f.directory().isEmpty() && !f.file().isEmpty())
|
|
||||||
return f.directory() + QLatin1Char('/') + f.file();
|
|
||||||
return QString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ErrorListModel::Private::formatLocation(const Error &error) const
|
QString ErrorListModel::Private::formatLocation(const Error &error) const
|
||||||
{
|
{
|
||||||
const Frame frame = findRelevantFrame(error);
|
const Frame frame = findRelevantFrame(error);
|
||||||
const QString file = frame.file();
|
const QString file = frame.fileName();
|
||||||
if (!frame.functionName().isEmpty())
|
if (!frame.functionName().isEmpty())
|
||||||
return frame.functionName();
|
return frame.functionName();
|
||||||
if (!file.isEmpty()) {
|
if (!file.isEmpty()) {
|
||||||
@@ -185,7 +182,7 @@ QVariant ErrorListModel::Private::errorData(int row, int column, int role) const
|
|||||||
case AbsoluteFilePathRole:
|
case AbsoluteFilePathRole:
|
||||||
return formatAbsoluteFilePath(error);
|
return formatAbsoluteFilePath(error);
|
||||||
case FileRole:
|
case FileRole:
|
||||||
return findRelevantFrame(error).file();
|
return findRelevantFrame(error).fileName();
|
||||||
case LineRole: {
|
case LineRole: {
|
||||||
const qint64 line = findRelevantFrame(error).line();
|
const qint64 line = findRelevantFrame(error).line();
|
||||||
return line > 0 ? line : QVariant();
|
return line > 0 ? line : QVariant();
|
||||||
|
@@ -48,7 +48,7 @@ public:
|
|||||||
return ip == other.ip
|
return ip == other.ip
|
||||||
&& object == other.object
|
&& object == other.object
|
||||||
&& functionName == other.functionName
|
&& functionName == other.functionName
|
||||||
&& file == other.file
|
&& fileName == other.fileName
|
||||||
&& directory == other.directory
|
&& directory == other.directory
|
||||||
&& line == other.line;
|
&& line == other.line;
|
||||||
}
|
}
|
||||||
@@ -56,7 +56,7 @@ public:
|
|||||||
quint64 ip;
|
quint64 ip;
|
||||||
QString object;
|
QString object;
|
||||||
QString functionName;
|
QString functionName;
|
||||||
QString file;
|
QString fileName;
|
||||||
QString directory;
|
QString directory;
|
||||||
int line;
|
int line;
|
||||||
};
|
};
|
||||||
@@ -126,14 +126,14 @@ void Frame::setFunctionName(const QString &functionName)
|
|||||||
d->functionName = functionName;
|
d->functionName = functionName;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Frame::file() const
|
QString Frame::fileName() const
|
||||||
{
|
{
|
||||||
return d->file;
|
return d->fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Frame::setFile(const QString &file)
|
void Frame::setFileName(const QString &file)
|
||||||
{
|
{
|
||||||
d->file = file;
|
d->fileName = file;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Frame::directory() const
|
QString Frame::directory() const
|
||||||
@@ -146,6 +146,14 @@ void Frame::setDirectory(const QString &directory)
|
|||||||
d->directory = directory;
|
d->directory = directory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Frame::filePath() const
|
||||||
|
{
|
||||||
|
QString f;
|
||||||
|
if (!directory().isEmpty())
|
||||||
|
f.append(directory()).append(QLatin1Char('/'));
|
||||||
|
return f.append(fileName());
|
||||||
|
}
|
||||||
|
|
||||||
int Frame::line() const
|
int Frame::line() const
|
||||||
{
|
{
|
||||||
return d->line;
|
return d->line;
|
||||||
|
@@ -59,12 +59,14 @@ public:
|
|||||||
QString functionName() const;
|
QString functionName() const;
|
||||||
void setFunctionName(const QString &functionName);
|
void setFunctionName(const QString &functionName);
|
||||||
|
|
||||||
QString file() const;
|
QString fileName() const;
|
||||||
void setFile(const QString &file);
|
void setFileName(const QString &fileName);
|
||||||
|
|
||||||
QString directory() const;
|
QString directory() const;
|
||||||
void setDirectory(const QString &directory);
|
void setDirectory(const QString &directory);
|
||||||
|
|
||||||
|
QString filePath() const;
|
||||||
|
|
||||||
int line() const;
|
int line() const;
|
||||||
void setLine(int line);
|
void setLine(int line);
|
||||||
|
|
||||||
|
@@ -43,8 +43,8 @@ namespace XmlProtocol {
|
|||||||
QString toolTipForFrame(const Frame &frame)
|
QString toolTipForFrame(const Frame &frame)
|
||||||
{
|
{
|
||||||
QString location;
|
QString location;
|
||||||
if (!frame.file().isEmpty()) {
|
if (!frame.fileName().isEmpty()) {
|
||||||
location = frame.directory() + QLatin1Char('/') + frame.file();
|
location = frame.filePath();
|
||||||
if (frame.line() > 0)
|
if (frame.line() > 0)
|
||||||
location += QLatin1Char(':') + QString::number(frame.line());
|
location += QLatin1Char(':') + QString::number(frame.line());
|
||||||
}
|
}
|
||||||
|
@@ -517,7 +517,7 @@ Frame Parser::Private::parseFrame()
|
|||||||
else if (name == QLatin1String("dir"))
|
else if (name == QLatin1String("dir"))
|
||||||
frame.setDirectory(blockingReadElementText());
|
frame.setDirectory(blockingReadElementText());
|
||||||
else if (name == QLatin1String("file"))
|
else if (name == QLatin1String("file"))
|
||||||
frame.setFile( blockingReadElementText());
|
frame.setFileName(blockingReadElementText());
|
||||||
else if (name == QLatin1String("line"))
|
else if (name == QLatin1String("line"))
|
||||||
frame.setLine(parseInt64(blockingReadElementText(), QLatin1String("error/frame/line")));
|
frame.setLine(parseInt64(blockingReadElementText(), QLatin1String("error/frame/line")));
|
||||||
else if (reader.isStartElement())
|
else if (reader.isStartElement())
|
||||||
|
@@ -60,7 +60,7 @@ public:
|
|||||||
static QString makeName(const Frame &frame)
|
static QString makeName(const Frame &frame)
|
||||||
{
|
{
|
||||||
const QString d = frame.directory();
|
const QString d = frame.directory();
|
||||||
const QString f = frame.file();
|
const QString f = frame.fileName();
|
||||||
const QString fn = frame.functionName();
|
const QString fn = frame.functionName();
|
||||||
if (!fn.isEmpty())
|
if (!fn.isEmpty())
|
||||||
return fn;
|
return fn;
|
||||||
@@ -123,7 +123,7 @@ QVariant StackModel::data(const QModelIndex &index, int role) const
|
|||||||
case DirectoryColumn:
|
case DirectoryColumn:
|
||||||
return frame.directory();
|
return frame.directory();
|
||||||
case FileColumn:
|
case FileColumn:
|
||||||
return frame.file();
|
return frame.fileName();
|
||||||
case LineColumn:
|
case LineColumn:
|
||||||
if (frame.line() > 0)
|
if (frame.line() > 0)
|
||||||
return frame.line();
|
return frame.line();
|
||||||
@@ -139,7 +139,7 @@ QVariant StackModel::data(const QModelIndex &index, int role) const
|
|||||||
case FunctionNameRole:
|
case FunctionNameRole:
|
||||||
return frame.functionName();
|
return frame.functionName();
|
||||||
case FileRole:
|
case FileRole:
|
||||||
return frame.file();
|
return frame.fileName();
|
||||||
case DirectoryRole:
|
case DirectoryRole:
|
||||||
return frame.directory();
|
return frame.directory();
|
||||||
case LineRole:
|
case LineRole:
|
||||||
|
@@ -70,7 +70,7 @@ QT_END_NAMESPACE
|
|||||||
|
|
||||||
void dumpFrame(const Frame &f)
|
void dumpFrame(const Frame &f)
|
||||||
{
|
{
|
||||||
qDebug() << f.instructionPointer() << f.directory() << f.file() << f.functionName()
|
qDebug() << f.instructionPointer() << f.directory() << f.fileName() << f.functionName()
|
||||||
<< f.line() << f.object();
|
<< f.line() << f.object();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -168,14 +168,14 @@ void ParserTests::testHelgrindSample1()
|
|||||||
frame11.setObject(QLatin1String("/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so"));
|
frame11.setObject(QLatin1String("/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so"));
|
||||||
frame11.setFunctionName(QLatin1String("QMutex::lock()"));
|
frame11.setFunctionName(QLatin1String("QMutex::lock()"));
|
||||||
frame11.setDirectory(QLatin1String("/build/buildd/valgrind-3.6.0~svn20100212/helgrind"));
|
frame11.setDirectory(QLatin1String("/build/buildd/valgrind-3.6.0~svn20100212/helgrind"));
|
||||||
frame11.setFile(QLatin1String("hg_intercepts.c"));
|
frame11.setFileName(QLatin1String("hg_intercepts.c"));
|
||||||
frame11.setLine(1988);
|
frame11.setLine(1988);
|
||||||
Frame frame12;
|
Frame frame12;
|
||||||
frame12.setInstructionPointer(0x72E57EE);
|
frame12.setInstructionPointer(0x72E57EE);
|
||||||
frame12.setObject(QLatin1String("/home/frank/local/qt4-4.6.3-shared-debug/lib/libQtCore.so.4.6.3"));
|
frame12.setObject(QLatin1String("/home/frank/local/qt4-4.6.3-shared-debug/lib/libQtCore.so.4.6.3"));
|
||||||
frame12.setFunctionName(QLatin1String("QMutexLocker::relock()"));
|
frame12.setFunctionName(QLatin1String("QMutexLocker::relock()"));
|
||||||
frame12.setDirectory(QLatin1String("/home/frank/source/tarballs/qt-4.6.3-build/src/corelib/../../include/QtCore/../../src/corelib/thread"));
|
frame12.setDirectory(QLatin1String("/home/frank/source/tarballs/qt-4.6.3-build/src/corelib/../../include/QtCore/../../src/corelib/thread"));
|
||||||
frame12.setFile(QLatin1String("qmutex.h"));
|
frame12.setFileName(QLatin1String("qmutex.h"));
|
||||||
frame12.setLine(120);
|
frame12.setLine(120);
|
||||||
stack1.setFrames(QVector<Frame>() << frame11 << frame12);
|
stack1.setFrames(QVector<Frame>() << frame11 << frame12);
|
||||||
|
|
||||||
@@ -186,14 +186,14 @@ void ParserTests::testHelgrindSample1()
|
|||||||
frame21.setObject(QLatin1String("/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so"));
|
frame21.setObject(QLatin1String("/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so"));
|
||||||
frame21.setFunctionName(QLatin1String("QMutex::lock()"));
|
frame21.setFunctionName(QLatin1String("QMutex::lock()"));
|
||||||
frame21.setDirectory(QLatin1String("/build/buildd/valgrind-3.6.0~svn20100212/helgrind"));
|
frame21.setDirectory(QLatin1String("/build/buildd/valgrind-3.6.0~svn20100212/helgrind"));
|
||||||
frame21.setFile(QLatin1String("hg_intercepts.c"));
|
frame21.setFileName(QLatin1String("hg_intercepts.c"));
|
||||||
frame21.setLine(1989);
|
frame21.setLine(1989);
|
||||||
Frame frame22;
|
Frame frame22;
|
||||||
frame22.setInstructionPointer(0x72E57EE);
|
frame22.setInstructionPointer(0x72E57EE);
|
||||||
frame22.setObject(QLatin1String("/home/frank/local/qt4-4.6.3-shared-debug/lib/libQtCore.so.4.6.3"));
|
frame22.setObject(QLatin1String("/home/frank/local/qt4-4.6.3-shared-debug/lib/libQtCore.so.4.6.3"));
|
||||||
frame22.setFunctionName(QLatin1String("QMutexLocker::relock()"));
|
frame22.setFunctionName(QLatin1String("QMutexLocker::relock()"));
|
||||||
frame22.setDirectory(QLatin1String("/home/frank/source/tarballs/qt-4.6.3-build/src/corelib/../../include/QtCore/../../src/corelib/thread"));
|
frame22.setDirectory(QLatin1String("/home/frank/source/tarballs/qt-4.6.3-build/src/corelib/../../include/QtCore/../../src/corelib/thread"));
|
||||||
frame22.setFile(QLatin1String("qmutex.h"));
|
frame22.setFileName(QLatin1String("qmutex.h"));
|
||||||
frame22.setLine(121);
|
frame22.setLine(121);
|
||||||
stack2.setFrames(QVector<Frame>() << frame21 << frame22);
|
stack2.setFrames(QVector<Frame>() << frame21 << frame22);
|
||||||
|
|
||||||
@@ -204,14 +204,14 @@ void ParserTests::testHelgrindSample1()
|
|||||||
frame31.setObject(QLatin1String("/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so"));
|
frame31.setObject(QLatin1String("/usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so"));
|
||||||
frame31.setFunctionName(QLatin1String("QMutex::lock()"));
|
frame31.setFunctionName(QLatin1String("QMutex::lock()"));
|
||||||
frame31.setDirectory(QLatin1String("/build/buildd/valgrind-3.6.0~svn20100212/helgrind"));
|
frame31.setDirectory(QLatin1String("/build/buildd/valgrind-3.6.0~svn20100212/helgrind"));
|
||||||
frame31.setFile(QLatin1String("hg_intercepts.c"));
|
frame31.setFileName(QLatin1String("hg_intercepts.c"));
|
||||||
frame31.setLine(1990);
|
frame31.setLine(1990);
|
||||||
Frame frame32;
|
Frame frame32;
|
||||||
frame32.setInstructionPointer(0x72E57EE);
|
frame32.setInstructionPointer(0x72E57EE);
|
||||||
frame32.setObject(QLatin1String("/home/frank/local/qt4-4.6.3-shared-debug/lib/libQtCore.so.4.6.3"));
|
frame32.setObject(QLatin1String("/home/frank/local/qt4-4.6.3-shared-debug/lib/libQtCore.so.4.6.3"));
|
||||||
frame32.setFunctionName(QLatin1String("QMutexLocker::relock()"));
|
frame32.setFunctionName(QLatin1String("QMutexLocker::relock()"));
|
||||||
frame32.setDirectory(QLatin1String("/home/frank/source/tarballs/qt-4.6.3-build/src/corelib/../../include/QtCore/../../src/corelib/thread"));
|
frame32.setDirectory(QLatin1String("/home/frank/source/tarballs/qt-4.6.3-build/src/corelib/../../include/QtCore/../../src/corelib/thread"));
|
||||||
frame32.setFile(QLatin1String("qmutex.h"));
|
frame32.setFileName(QLatin1String("qmutex.h"));
|
||||||
frame32.setLine(122);
|
frame32.setLine(122);
|
||||||
|
|
||||||
stack3.setFrames(QVector<Frame>() << frame31 << frame32);
|
stack3.setFrames(QVector<Frame>() << frame31 << frame32);
|
||||||
@@ -260,7 +260,7 @@ void ParserTests::testMemcheckSample1()
|
|||||||
f1.setObject(QLatin1String("/usr/lib/libQtGui.so.4.7.0"));
|
f1.setObject(QLatin1String("/usr/lib/libQtGui.so.4.7.0"));
|
||||||
f1.setFunctionName(QLatin1String("QFrame::frameStyle() const"));
|
f1.setFunctionName(QLatin1String("QFrame::frameStyle() const"));
|
||||||
f1.setDirectory(QLatin1String("/build/buildd/qt4-x11-4.7.0/src/gui/widgets"));
|
f1.setDirectory(QLatin1String("/build/buildd/qt4-x11-4.7.0/src/gui/widgets"));
|
||||||
f1.setFile(QLatin1String("qframe.cpp"));
|
f1.setFileName(QLatin1String("qframe.cpp"));
|
||||||
f1.setLine(252);
|
f1.setLine(252);
|
||||||
Frame f2;
|
Frame f2;
|
||||||
f2.setInstructionPointer(0x118F2AF7);
|
f2.setInstructionPointer(0x118F2AF7);
|
||||||
@@ -270,13 +270,13 @@ void ParserTests::testMemcheckSample1()
|
|||||||
f3.setObject(QLatin1String("/usr/lib/libQtGui.so.4.7.0"));
|
f3.setObject(QLatin1String("/usr/lib/libQtGui.so.4.7.0"));
|
||||||
f3.setFunctionName(QLatin1String("QWidget::event(QEvent*)"));
|
f3.setFunctionName(QLatin1String("QWidget::event(QEvent*)"));
|
||||||
f3.setDirectory(QLatin1String("/build/buildd/qt4-x11-4.7.0/src/gui/kernel"));
|
f3.setDirectory(QLatin1String("/build/buildd/qt4-x11-4.7.0/src/gui/kernel"));
|
||||||
f3.setFile(QLatin1String("qwidget.cpp"));
|
f3.setFileName(QLatin1String("qwidget.cpp"));
|
||||||
f3.setLine(8273);
|
f3.setLine(8273);
|
||||||
Frame f4;
|
Frame f4;
|
||||||
f4.setInstructionPointer(0x6A2B6EB);
|
f4.setInstructionPointer(0x6A2B6EB);
|
||||||
f4.setObject(QLatin1String("/usr/lib/libQtGui.so.4.7.0"));
|
f4.setObject(QLatin1String("/usr/lib/libQtGui.so.4.7.0"));
|
||||||
f4.setDirectory(QLatin1String("/build/buildd/qt4-x11-4.7.0/src/gui/kernel"));
|
f4.setDirectory(QLatin1String("/build/buildd/qt4-x11-4.7.0/src/gui/kernel"));
|
||||||
f4.setFile(QLatin1String("qapplication.cpp"));
|
f4.setFileName(QLatin1String("qapplication.cpp"));
|
||||||
f4.setFunctionName(QLatin1String("QApplicationPrivate::notify_helper(QObject*, QEvent*)"));
|
f4.setFunctionName(QLatin1String("QApplicationPrivate::notify_helper(QObject*, QEvent*)"));
|
||||||
f4.setLine(4396);
|
f4.setLine(4396);
|
||||||
Stack s1;
|
Stack s1;
|
||||||
|
@@ -180,7 +180,7 @@ void TestRunner::testLeak1()
|
|||||||
QCOMPARE(frame.line(), 5 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 5 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDirForApp("leak1"));
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDirForApp("leak1"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -214,7 +214,7 @@ void TestRunner::testLeak2()
|
|||||||
QCOMPARE(frame.line(), 7 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 7 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDirForApp("leak2"));
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDirForApp("leak2"));
|
||||||
} else {
|
} else {
|
||||||
QCOMPARE(frame.functionName(), QLatin1String("(below main)"));
|
QCOMPARE(frame.functionName(), QLatin1String("(below main)"));
|
||||||
@@ -252,7 +252,7 @@ void TestRunner::testLeak3()
|
|||||||
QCOMPARE(frame.line(), 7 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 7 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDirForApp("leak3"));
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDirForApp("leak3"));
|
||||||
} else {
|
} else {
|
||||||
QCOMPARE(frame.functionName(), QLatin1String("(below main)"));
|
QCOMPARE(frame.functionName(), QLatin1String("(below main)"));
|
||||||
@@ -293,7 +293,7 @@ void TestRunner::testLeak4()
|
|||||||
QCOMPARE(frame.line(), 6 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 6 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@@ -302,7 +302,7 @@ void TestRunner::testLeak4()
|
|||||||
QCOMPARE(frame.line(), 14 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 14 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -332,7 +332,7 @@ void TestRunner::testLeak4()
|
|||||||
QCOMPARE(frame.line(), 14 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 14 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -361,7 +361,7 @@ void TestRunner::uninit1()
|
|||||||
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
//BEGIN second stack
|
//BEGIN second stack
|
||||||
@@ -375,7 +375,7 @@ void TestRunner::uninit1()
|
|||||||
QCOMPARE(frame.line(), 2 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 2 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -406,7 +406,7 @@ void TestRunner::uninit2()
|
|||||||
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
//BEGIN second stack
|
//BEGIN second stack
|
||||||
@@ -420,7 +420,7 @@ void TestRunner::uninit2()
|
|||||||
QCOMPARE(frame.line(), 2 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 2 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -439,7 +439,7 @@ void TestRunner::uninit2()
|
|||||||
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -470,7 +470,7 @@ void TestRunner::uninit3()
|
|||||||
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
//BEGIN second stack
|
//BEGIN second stack
|
||||||
@@ -484,7 +484,7 @@ void TestRunner::uninit3()
|
|||||||
QCOMPARE(frame.line(), 2 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 2 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -503,7 +503,7 @@ void TestRunner::uninit3()
|
|||||||
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 4 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -562,7 +562,7 @@ void TestRunner::syscall()
|
|||||||
QCOMPARE(frame.line(), 2 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 2 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -595,7 +595,7 @@ void TestRunner::free1()
|
|||||||
QCOMPARE(frame.line(), 7 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 7 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -615,7 +615,7 @@ void TestRunner::free1()
|
|||||||
QCOMPARE(frame.line(), 6 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 6 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -649,7 +649,7 @@ void TestRunner::free2()
|
|||||||
QCOMPARE(frame.line(), 6 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 6 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -673,7 +673,7 @@ void TestRunner::free2()
|
|||||||
QCOMPARE(frame.line(), 5 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 5 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -733,7 +733,7 @@ void TestRunner::overlap()
|
|||||||
QCOMPARE(frame.line(), 6 + HEADER_LENGTH);
|
QCOMPARE(frame.line(), 6 + HEADER_LENGTH);
|
||||||
|
|
||||||
QCOMPARE(frame.object(), binary);
|
QCOMPARE(frame.object(), binary);
|
||||||
QCOMPARE(frame.file(), QLatin1String("main.cpp"));
|
QCOMPARE(frame.fileName(), QLatin1String("main.cpp"));
|
||||||
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
QCOMPARE(QDir::cleanPath(frame.directory()), srcDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user