#include #include #include #include #include class tst_DeferredDelete: public QObject { Q_OBJECT private slots: void deferredDeletion(); }; void tst_DeferredDelete::deferredDeletion() { QObject *obj = new QObject; QPointer ptr = obj; QVERIFY(!ptr.isNull()); obj->deleteLater(); QVERIFY(!ptr.isNull()); QEventLoop loop; QTimer::singleShot(100, &loop, SLOT(quit())); loop.exec(); QVERIFY(!ptr.isNull()); } QTEST_MAIN(tst_DeferredDelete) #include "tst_deferreddelete.moc" $ ./deferredtest ********* Start testing of tst_DeferredDelete ********* Config: Using QTest library 4.4.0, Qt 4.4.0 PASS : tst_DeferredDelete::initTestCase() FAIL! : tst_DeferredDelete::deferredDeletion() '!ptr.isNull()' returned FALSE. () Loc: [/tmp/deferredtest/tst_deferreddelete.cpp(27)] PASS : tst_DeferredDelete::cleanupTestCase() Totals: 2 passed, 1 failed, 0 skipped ********* Finished testing of tst_DeferredDelete *********