File indexing completed on 2024-04-28 15:34:47
0001 /* -*- C++ -*- 0002 This file contains a testsuite for the memory management in ThreadWeaver. 0003 0004 SPDX-FileCopyrightText: 2005-2013 Mirko Boehm <mirko@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef DELETETEST_H 0010 #define DELETETEST_H 0011 0012 #include <QAtomicInt> 0013 #include <QObject> 0014 #include <QTest> 0015 0016 #include <ThreadWeaver/JobPointer> 0017 0018 namespace ThreadWeaver 0019 { 0020 class Job; 0021 } 0022 0023 using namespace ThreadWeaver; 0024 0025 class DeleteTest : public QObject 0026 { 0027 Q_OBJECT 0028 public: 0029 DeleteTest(); 0030 0031 private Q_SLOTS: 0032 void DeleteJobsTest(); 0033 void MutexLockingAssertsTest(); 0034 void DeleteCollectionTest(); 0035 void DeleteDecoratedCollectionTest(); 0036 void DeleteSequenceTest(); 0037 0038 public Q_SLOTS: // not a test! 0039 void deleteSequence(ThreadWeaver::JobPointer job); 0040 void countCompletedDecoratedCollection(ThreadWeaver::JobPointer job); 0041 0042 Q_SIGNALS: 0043 void deleteSequenceTestCompleted(); 0044 void deleteDecoratedCollectionTestCompleted(); 0045 0046 private: 0047 QAtomicInt m_finishCount; 0048 }; 0049 0050 #endif