LeechCraft 0.6.70-18808-g3467692359
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
corotasktest.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#pragma once
10
11#include <QObject>
12
13namespace LC::Util
14{
15 class CoroTaskTest : public QObject
16 {
17 Q_OBJECT
18 private slots:
19 void testReturn ();
20 void testMoveOnlyReturn ();
21 void testWait ();
22 void testTaskDestr ();
23
24 void testNetworkReplyGoodNoWait ();
25 void testNetworkReplyGoodWait ();
26 void testNetworkReplyBadNoWait ();
27 void testNetworkReplyBadWait ();
28
29 void testFutureAwaiter ();
30
31 void testWaitMany ();
32 void testWaitManyTuple ();
33 void testWaitManyInvoking ();
34 void testSharedTaskManyAwaiters ();
35 void testSharedTaskAwaiterRemovedOnOuterDestruction ();
36 void testSharedTaskExceptionManyAwaiters ();
37 void testSharedTaskLastCopyDestroyedByAwaiter ();
38 void testSharedTaskNonTriviallyMovableReturn ();
39
40 void testSharedContextTaskManyAwaitersContextAlive ();
41 void testSharedContextTaskContextDeadFansOutToAll ();
42 void testSharedContextTaskBodyExceptionFansOut ();
43 void testSharedContextTaskContextDeadDoesntWaitLong ();
44 void testSharedContextTaskMixedAwaitersOwnContextDies ();
45
46 void testEither ();
47 void testEitherIgnoreLeft ();
48
49 void testThrottleSameCoro ();
50 void testThrottleSameCoroSlow ();
51 void testThrottleSameCoroVerySlow ();
52 void testThrottleManyCoros ();
53
54 void testContextDestrBeforeFinish ();
55 void testContextDestrAfterFinish ();
56 void testContextDestrAwaitedSubtask ();
57 void testContextDestrDoesntWaitTimer ();
58 void testContextDestrDoesntWaitNetwork ();
59 void testContextDestrDoesntWaitProcess ();
60 void testContextDestrDoesntWaitFuture ();
61
62#ifdef QT_DBUS_LIB
63 void testDBus ();
64#endif
65
66 void cleanupTestCase ();
67 };
68}