summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJanne Anttila <janne.anttila@digia.com>2009-09-09 10:16:17 (GMT)
committerJanne Anttila <janne.anttila@digia.com>2009-09-09 10:16:17 (GMT)
commitd78717e7294f4b181c2f84f495bdda777069f6c2 (patch)
tree8b628a595da4cca2161cbd6781d40fd882de7725 /tests
parent22105c9952630b45fd6b50b0e3349880940a83f5 (diff)
downloadQt-d78717e7294f4b181c2f84f495bdda777069f6c2.zip
Qt-d78717e7294f4b181c2f84f495bdda777069f6c2.tar.gz
Qt-d78717e7294f4b181c2f84f495bdda777069f6c2.tar.bz2
Fix for E32User-Cbase 69 panic, when runnign QtNetwork autotests
Reviewed-by: Janne Koskinen
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/network-settings.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/tests/auto/network-settings.h b/tests/auto/network-settings.h
index 1281d74..3a5bed7 100644
--- a/tests/auto/network-settings.h
+++ b/tests/auto/network-settings.h
@@ -46,6 +46,7 @@
#ifdef Q_OS_SYMBIAN
+#include <e32base.h>
#include <sys/socket.h>
#include <net/if.h>
#include <QSharedPointer>
@@ -333,13 +334,21 @@ QByteArray QtNetworkSettings::imapExpectedReplySsl;
class QtNetworkSettingsInitializerCode {
public:
QtNetworkSettingsInitializerCode() {
- QHostInfo testServerResult = QHostInfo::fromName(QtNetworkSettings::serverName());
- if (testServerResult.error() != QHostInfo::NoError) {
- qWarning() << "Could not lookup" << QtNetworkSettings::serverName();
- qWarning() << "Please configure the test environment!";
- qWarning() << "See /etc/hosts or network-settings.h";
- qFatal("Exiting");
- }
+ // We have a non-trivial constructor in global static.
+ // The QtNetworkSettings::serverName() uses native API which assumes
+ // Cleanup-stack to exist. That's why we create it here and install
+ // top level TRAP harness.
+ CTrapCleanup *cleanupStack = q_check_ptr(CTrapCleanup::New());
+ TRAPD(err,
+ QHostInfo testServerResult = QHostInfo::fromName(QtNetworkSettings::serverName());
+ if (testServerResult.error() != QHostInfo::NoError) {
+ qWarning() << "Could not lookup" << QtNetworkSettings::serverName();
+ qWarning() << "Please configure the test environment!";
+ qWarning() << "See /etc/hosts or network-settings.h";
+ qFatal("Exiting");
+ }
+ )
+ delete cleanupStack;
}
};
QtNetworkSettingsInitializerCode qtNetworkSettingsInitializer;