summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp')
-rw-r--r--tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp b/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp
index a3d90c2dc1..9e33f56a34 100644
--- a/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp
+++ b/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp
@@ -65,6 +65,7 @@ private slots:
void basicacquire();
void complexacquire();
+ void release();
#ifndef QT_NO_PROCESS
void basicProcesses();
@@ -163,6 +164,24 @@ void tst_QSystemSemaphore::complexacquire()
QCOMPARE(sem.errorString(), QString());
}
+void tst_QSystemSemaphore::release()
+{
+ QSystemSemaphore sem("QSystemSemaphore_release", 0, QSystemSemaphore::Create);
+ QVERIFY(sem.release());
+ QCOMPARE(sem.error(), QSystemSemaphore::NoError);
+ QVERIFY(sem.release());
+ QCOMPARE(sem.error(), QSystemSemaphore::NoError);
+ QVERIFY(sem.acquire());
+ QCOMPARE(sem.error(), QSystemSemaphore::NoError);
+ QVERIFY(sem.acquire());
+ QCOMPARE(sem.error(), QSystemSemaphore::NoError);
+ QVERIFY(sem.release());
+ QCOMPARE(sem.error(), QSystemSemaphore::NoError);
+ QVERIFY(sem.release());
+ QCOMPARE(sem.error(), QSystemSemaphore::NoError);
+ QCOMPARE(sem.errorString(), QString());
+}
+
#ifndef QT_NO_PROCESS
void tst_QSystemSemaphore::basicProcesses()
{