From 4b49a7ab1f47c6bfedaf4cfc40a3af5151140ef4 Mon Sep 17 00:00:00 2001 From: Charles Yin Date: Wed, 9 Nov 2011 11:20:04 +1000 Subject: [PATCH] Fix qmltestrunner crash bug when report filename and line number The HandleScpe is not needed here. Also for each test file, the rootObj should reset its internal states properly, otherwise the following test cases are polluted by the previous tests. Task-number:QTBUG-22620 Change-Id: I1e4869070b8712e5a6c755461d52bd12d1f03160 Reviewed-by: Chris Adams --- src/imports/testlib/main.cpp | 21 --------------------- src/qmltest/quicktest.cpp | 3 ++- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/src/imports/testlib/main.cpp b/src/imports/testlib/main.cpp index b393c3d..c78a1c4 100644 --- a/src/imports/testlib/main.cpp +++ b/src/imports/testlib/main.cpp @@ -103,29 +103,9 @@ public Q_SLOTS: bool compare(const QVariant& act, const QVariant& exp) const { return act == exp; } -// QDeclarativeV8Handle toString(const QVariant& v) const -// { -// QString name(v.typeName()); - -// if (v.canConvert()) { -// QDeclarativeType *type = 0; -// const QMetaObject *mo = v.value()->metaObject(); -// while (!type && mo) { -// type = QDeclarativeMetaType::qmlType(mo); -// mo = mo->superClass(); -// } -// if (type) { -// name = type->qmlTypeName(); -// } -// } - -// return QDeclarativeV8Handle::fromHandle(v8::String::New(name.toUtf8())); -// } QDeclarativeV8Handle callerFile(int frameIndex = 0) const { - v8::HandleScope scope; - v8::Local stacks = v8::StackTrace::CurrentStackTrace(10, v8::StackTrace::kDetailed); int count = stacks->GetFrameCount(); if (count >= frameIndex + 2) { @@ -136,7 +116,6 @@ public Q_SLOTS: } int callerLine(int frameIndex = 0) const { - v8::HandleScope scope; v8::Local stacks = v8::StackTrace::CurrentStackTrace(10, v8::StackTrace::kDetailed); int count = stacks->GetFrameCount(); if (count >= frameIndex + 2) { diff --git a/src/qmltest/quicktest.cpp b/src/qmltest/quicktest.cpp index 989632c..976b4d6 100644 --- a/src/qmltest/quicktest.cpp +++ b/src/qmltest/quicktest.cpp @@ -213,7 +213,8 @@ int quick_test_main(int argc, char **argv, const char *name, quick_test_viewport continue; rootobj.setHasTestCase(false); - + rootobj.setWindowShown(false); + rootobj.hasQuit = false; QString path = fi.absoluteFilePath(); if (path.startsWith(QLatin1String(":/"))) view.setSource(QUrl(QLatin1String("qrc:") + path.mid(2))); -- 1.7.2.5