summaryrefslogtreecommitdiffstats
path: root/tests/auto/symbian
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/symbian')
-rw-r--r--tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp b/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp
index af065ae..f29e12a 100644
--- a/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp
+++ b/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp
@@ -163,6 +163,7 @@ private slots:
void leave();
void testTranslateBadAlloc();
void testTranslateBigAlloc();
+ void testExceptionFromAO();
void testRoundTrip();
void testTrap();
void testPropagation();
@@ -327,6 +328,15 @@ void tst_qmainexceptions::testTranslateBigAlloc()
TestSchedulerCatchesError(&TranslateBigAllocL, KErrNoMemory);
}
+void tst_qmainexceptions::testExceptionFromAO()
+{
+ CTestActive *act = new(ELeave) CTestActive(&ThrowBadAlloc, true);
+ act->Test();
+ QCOMPARE(act->error, KErrNoMemory);
+ QVERIFY(act->cleanedUp);
+ delete act;
+}
+
void tst_qmainexceptions::TestSymbianRoundTrip(int leave, int trap)
{
// check that leave converted to exception, converted to error gives expected error code