summaryrefslogtreecommitdiffstats
path: root/tests/auto/qreadwritelock/tst_qreadwritelock.cpp
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-05-17 14:58:00 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-05-17 14:58:00 (GMT)
commitcb2980a09aefcc207eacb500d5a3c74f064859dd (patch)
treeb119109514d04a7afa503ecd08a774483821c8d8 /tests/auto/qreadwritelock/tst_qreadwritelock.cpp
parent4109badc4321effeeb798dd101479be7dffdbe3d (diff)
parent5aa1cbcdacd19b2e526e358eddac1b7d55a994b5 (diff)
downloadQt-cb2980a09aefcc207eacb500d5a3c74f064859dd.zip
Qt-cb2980a09aefcc207eacb500d5a3c74f064859dd.tar.gz
Qt-cb2980a09aefcc207eacb500d5a3c74f064859dd.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-qa-staging into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-qa-staging: (114 commits) Fixed license header. Ensure that recursive QMAKE_EXTRA_TARGETS use the correct makefile Remove Q_ASSERT's from qsharedmemory autotest Remove Q_ASSERT's from QNetworkReply autotest Remove Q_ASSERT's from qabstractxmlnodemodel test Remove Q_ASSERT from QXmlStream autotest Remove Q_ASSERT from qxmlquery autotest Remove Q_ASSERT's from QXmlStream autotest Remove Q_ASSERT from QItemModel autotest Remove Q_ASSERT's from qxmlquery autotest Remove Q_ASSERT from qxmlquery autotest Remove Q_ASSERT's from QXmlStream autotest Remove Q_ASSERT from qabstractxmlnodemodel test Remove Q_ASSERT from qscriptvaluegenerated test Remove Q_ASSERT from QVariant autotest Remove Q_ASSERT's from QTreeView autotest Remove Q_ASSERT from qtesselator autotest Remove unused function from qtessellator autotest Remove Q_ASSERT from qscriptvaluegenerated test Remove Q_ASSERT's from qscriptvaluegenerated test ...
Diffstat (limited to 'tests/auto/qreadwritelock/tst_qreadwritelock.cpp')
-rw-r--r--tests/auto/qreadwritelock/tst_qreadwritelock.cpp29
1 files changed, 21 insertions, 8 deletions
diff --git a/tests/auto/qreadwritelock/tst_qreadwritelock.cpp b/tests/auto/qreadwritelock/tst_qreadwritelock.cpp
index e0cc2fa..0d575a1 100644
--- a/tests/auto/qreadwritelock/tst_qreadwritelock.cpp
+++ b/tests/auto/qreadwritelock/tst_qreadwritelock.cpp
@@ -362,34 +362,45 @@ void tst_QReadWriteLock::tryWriteLock()
class Thread : public QThread
{
public:
+ Thread() : failureCount(0) { }
void run()
{
testsTurn.release();
threadsTurn.acquire();
- Q_ASSERT(!readWriteLock.tryLockForWrite());
+ if (readWriteLock.tryLockForWrite())
+ failureCount++;
testsTurn.release();
threadsTurn.acquire();
- Q_ASSERT(readWriteLock.tryLockForWrite());
- Q_ASSERT(lockCount.testAndSetRelaxed(0, 1));
- Q_ASSERT(lockCount.testAndSetRelaxed(1, 0));
+ if (!readWriteLock.tryLockForWrite())
+ failureCount++;
+ if (!lockCount.testAndSetRelaxed(0, 1))
+ failureCount++;
+ if (!lockCount.testAndSetRelaxed(1, 0))
+ failureCount++;
readWriteLock.unlock();
testsTurn.release();
threadsTurn.acquire();
- Q_ASSERT(!readWriteLock.tryLockForWrite(1000));
+ if (readWriteLock.tryLockForWrite(1000))
+ failureCount++;
testsTurn.release();
threadsTurn.acquire();
- Q_ASSERT(readWriteLock.tryLockForWrite(1000));
- Q_ASSERT(lockCount.testAndSetRelaxed(0, 1));
- Q_ASSERT(lockCount.testAndSetRelaxed(1, 0));
+ if (!readWriteLock.tryLockForWrite(1000))
+ failureCount++;
+ if (!lockCount.testAndSetRelaxed(0, 1))
+ failureCount++;
+ if (!lockCount.testAndSetRelaxed(1, 0))
+ failureCount++;
readWriteLock.unlock();
testsTurn.release();
threadsTurn.acquire();
}
+
+ int failureCount;
};
Thread thread;
@@ -419,6 +430,8 @@ void tst_QReadWriteLock::tryWriteLock()
testsTurn.acquire();
threadsTurn.release();
thread.wait();
+
+ QCOMPARE(thread.failureCount, 0);
}
}