hce-node application
1.4.3
HCE Hierarchical Cluster Engine node application
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
DRCETaskThreadingModeTest.hpp
Go to the documentation of this file.
1
14
#ifndef DRCE_TASK_THREADING_MODE_TEST_HPP
15
#define DRCE_TASK_THREADING_MODE_TEST_HPP
16
17
#include <functional>
18
#include "
DRCENodeOptions.hpp
"
19
#include "
DRCEFunctionalObject.hpp
"
20
#include "
DRCETaskRequestTerminate.hpp
"
21
#include "
DRCETaskRequestSetExecute.hpp
"
22
23
namespace
HCE
24
{
25
namespace
drce
26
{
27
namespace
tests
28
{
29
//-----------------------------------------------------------------------------
30
class
DRCETaskThreadingModeTest
31
{
32
public
:
33
static
DRCENodeOptions
getNodeOptions
(
const
std::string&
homeDir
=
""
);
34
static
bool
isExistTask
(
DRCEFunctionalObject
& fObj,
unsigned
int
requestId
);
35
public
:
36
static
void
testParallelAsyncExecution
(
DRCEFunctionalObject
& fObj,
37
unsigned
int
requestId,
38
unsigned
int
repeatCount=1);
39
40
static
void
testMaxThreadLimits
(
DRCEFunctionalObject
& fObj,
41
unsigned
int
requestId,
42
unsigned
int
maxAllowedThreadsCount,
43
unsigned
int
repeatCount);
44
45
static
void
testExecuteSyncRequest
(
DRCEFunctionalObject
& fObj,
46
unsigned
int
requestId);
47
48
static
void
testSetTaskToExecuteRequest
(
DRCEFunctionalObject
& fObj,
49
unsigned
int
requestId,
50
const
std::string&
requestData
=
""
);
51
52
static
void
testCheckTaskRequest
(
DRCEFunctionalObject
& fObj,
53
unsigned
int
requestId,
54
const
std::string&
requestData
=
""
);
55
56
static
void
testGetTaskDataRequest
(
DRCEFunctionalObject
& fObj,
57
unsigned
int
requestId);
58
59
static
void
testTerminateTaskRequest
(
DRCEFunctionalObject
& fObj,
60
unsigned
int
requestId,
61
DRCETaskRequestTerminate::AlgorithmType
algorithmType
,
62
DRCETaskRequestTerminate::CleanupFlag
cleanupFlag=DRCETaskRequestTerminate::CleanupFlag::cfNotDelete);
63
64
static
void
testDeleteTaskDataRequest
(
DRCEFunctionalObject
& fObj,
65
unsigned
int
requestId);
66
67
static
void
testExecuteNotification
(
DRCEFunctionalObject
& fObj,
68
unsigned
int
requestId);
69
70
static
void
testTerminateExpiredTaskAsync
(
DRCEFunctionalObject
& fObj,
71
unsigned
int
requestId);
72
73
static
void
testTerminateExpiredTaskSync
(
DRCEFunctionalObject
& fObj,
74
unsigned
int
requestId);
75
76
static
void
testTaskRequestTimeLimits
(
DRCEFunctionalObject
& fObj,
77
unsigned
int
requestId,
78
SessionOptions::ThreadMode
threadMode,
79
unsigned
int
timeMax
);
80
81
static
void
testTaskRequestExpiredTime
(
DRCEFunctionalObject
& fObj,
82
unsigned
int
requestId,
83
SessionOptions::ThreadMode
threadMode,
84
SessionOptions::CleanupFlag
cleanupFlag);
85
86
// functional test of cleanup
87
static
void
testRequestLocalShellAsyncCleanUp
(
void
);
88
static
void
testTerminateTaskRequestCleanUp
(
void
);
89
// functional test of shell request
90
static
void
testRequestLocalShellAsync
(
void
);
91
static
void
testStressMultipleRequestsShellHost
(
void
);
92
// functional test of resource monitor
93
static
void
testResourceMonitor
(
void
);
94
// functional test of getter current tasks queue
95
static
void
testCurrentTasksQueue
(
void
);
96
// functional test of getter list info all exist data about tasks
97
static
void
testListAllTasks
(
void
);
98
99
std::string
operator()
(
const
std::string&
data
)
100
{
101
return
data
;
102
}
103
void
setNotificationFunctor
(std::function<std::string(
const
std::string&)> notificationFunctor_) {notificationFunctor=notificationFunctor_;}
104
std::string
executeNotification
(
const
std::string&
data
)
105
{
106
std::string result;
107
if
(notificationFunctor)
108
result = notificationFunctor(data);
109
return
result;
110
}
111
private
:
112
std::function<std::string(const std::string&)> notificationFunctor;
113
};
114
//-----------------------------------------------------------------------------
115
//-----------------------------------------------------------------------------
116
}
// namespace tests
117
}
// namespace drce
118
}
// namespace HCE
119
120
#endif // DRCE_TASK_THREADING_MODE_TEST_HPP
sources
utils
DRCE
tests
DRCETaskThreadingModeTest.hpp
Generated on Tue Jun 30 2015 19:42:13 for hce-node application by
1.8.1.2