mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-24 10:52:49 +00:00
66 lines
1.4 KiB
C++
66 lines
1.4 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:
|
|
|
|
void initTestCase ();
|
|
|
|
// 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
|