diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-17 14:58:00 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-17 14:58:00 (GMT) |
commit | cb2980a09aefcc207eacb500d5a3c74f064859dd (patch) | |
tree | b119109514d04a7afa503ecd08a774483821c8d8 /tests/auto/qreadwritelock/tst_qreadwritelock.cpp | |
parent | 4109badc4321effeeb798dd101479be7dffdbe3d (diff) | |
parent | 5aa1cbcdacd19b2e526e358eddac1b7d55a994b5 (diff) | |
download | Qt-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.cpp | 29 |
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); } } |