hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 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"
22 
23 namespace HCE
24 {
25 namespace drce
26 {
27 namespace tests
28 {
29 //-----------------------------------------------------------------------------
31 {
32 public:
33  static DRCENodeOptions getNodeOptions(const std::string& homeDir="");
34  static bool isExistTask(DRCEFunctionalObject& fObj, unsigned int requestId);
35 public:
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 
46  unsigned int requestId);
47 
49  unsigned int requestId,
50  const std::string& requestData="");
51 
53  unsigned int requestId,
54  const std::string& requestData="");
55 
57  unsigned int requestId);
58 
60  unsigned int requestId,
62  DRCETaskRequestTerminate::CleanupFlag cleanupFlag=DRCETaskRequestTerminate::CleanupFlag::cfNotDelete);
63 
65  unsigned int requestId);
66 
68  unsigned int requestId);
69 
71  unsigned int requestId);
72 
74  unsigned int requestId);
75 
77  unsigned int requestId,
78  SessionOptions::ThreadMode threadMode,
79  unsigned int timeMax);
80 
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