kdelibs/threadweaver/Tests/JobTests.h
Ivailo Monev 6ad8959836 generic: fix some tests build after 1f34f5ad
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-05-03 01:14:03 +00:00

64 lines
1.3 KiB
C++

#ifndef JOBTESTS_H
#define JOBTESTS_H
#include <QtCore/QObject>
namespace ThreadWeaver{
class Job;
}
using ThreadWeaver::Job;
class JobTests : public QObject
{
Q_OBJECT
private Q_SLOTS:
// call finish() before leave a test to make sure the queue is empty
void WeaverLazyThreadCreationTest();
void SimpleJobTest();
void SimpleJobCollectionTest();
void EmptyJobCollectionTest();
void ShortJobSequenceTest();
void EmptyJobSequenceTest();
void QueueAndDequeueSequenceTest();
void RecursiveQueueAndDequeueSequenceTest();
void QueueAndDequeueAllSequenceTest();
void RecursiveQueueAndDequeueAllSequenceTest();
// This test is not the most efficient, as the mutex locking takes most of
// the execution time. Anyway, it will fail if the jobs are not executed
// in the right order, and the order is randomized.
void MassiveJobSequenceTest();
/* TODO: reenable
void SimpleRecursiveSequencesTest();
void SequenceOfSequencesTest();
void QueueAndStopTest();
*/
void ResourceRestrictionPolicyBasicsTest ();
void JobSignalsAreEmittedAsynchronouslyTest();
void DequeSuspendedSequence();
public Q_SLOTS: // slots used during tests that are not test cases
void jobStarted( ThreadWeaver::Job* );
void jobDone( ThreadWeaver::Job* );
};
#endif