summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/gui/kernel
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2010-05-10 15:45:05 (GMT)
committerShane Kearns <shane.kearns@accenture.com>2010-05-10 15:56:39 (GMT)
commita21d6927e58a72ac5123d2479cbcc06bd764dfa4 (patch)
treeb1304a415d70597f2fffb369cffc504b8b30b6a4 /tests/benchmarks/gui/kernel
parent48acfd970f5fab740fd16ecdc31656c56ec2356b (diff)
downloadQt-a21d6927e58a72ac5123d2479cbcc06bd764dfa4.zip
Qt-a21d6927e58a72ac5123d2479cbcc06bd764dfa4.tar.gz
Qt-a21d6927e58a72ac5123d2479cbcc06bd764dfa4.tar.bz2
Remove test cases which cause stack overflow
These test cases are not considered reasonable for a small screen device (625 widgets). Patching the QWidget code to use iteration rather than recursion is considered too risky, as the code is performance critical. Task-number: QTBUG-8512 Reviewed-by: Bjoern Erik Nilsen
Diffstat (limited to 'tests/benchmarks/gui/kernel')
-rw-r--r--tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
index 8c30be4..7015bd1 100644
--- a/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
@@ -159,12 +159,17 @@ void tst_QWidget::update_data()
QTest::newRow("10x10x1 opaque") << 10 << 10 << 1 << true;
QTest::newRow("10x10x10 opaque") << 10 << 10 << 10 << true;
QTest::newRow("10x10x100 opaque") << 10 << 10 << 100 << true;
+#ifndef Q_OS_SYMBIAN
+ //These test cases cause stack overflow in QWidgetPrivate::paintSiblingsRecursive
+ //see http://bugreports.qt.nokia.com/browse/QTBUG-8512
+ //Symbian threads have a hard limit of 80kB user stack
QTest::newRow("25x25x1 transparent ") << 25 << 25 << 1 << false;
QTest::newRow("25x25x10 transparent") << 25 << 25 << 10 << false;
QTest::newRow("25x25x100 transparent") << 25 << 25 << 100 << false;
QTest::newRow("25x25x1 opaque") << 25 << 25 << 1 << true;
QTest::newRow("25x25x10 opaque") << 25 << 25 << 10 << true;
QTest::newRow("25x25x100 opaque") << 25 << 25 << 100 << true;
+#endif
}
void tst_QWidget::update()