pacemaker  2.1.2-ada5c3b36
Scalable High-Availability cluster resource manager
pcmk_stonith_param_test.c
Go to the documentation of this file.
1 /*
2  * Copyright 2020-2021 the Pacemaker project contributors
3  *
4  * The version control history for this file may have further details.
5  *
6  * This source code is licensed under the GNU Lesser General Public License
7  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8  */
9 
10 #include <crm_internal.h>
11 #include <crm/common/agents.h>
12 
13 #include <stdarg.h>
14 #include <stddef.h>
15 #include <stdint.h>
16 #include <setjmp.h>
17 #include <cmocka.h>
18 
19 static void
20 is_stonith_param(void **state)
21 {
22  assert_false(pcmk_stonith_param(NULL));
23  assert_false(pcmk_stonith_param(""));
24  assert_false(pcmk_stonith_param("unrecognized"));
25  assert_false(pcmk_stonith_param("pcmk_unrecognized"));
28 
38 }
39 
40 static void
41 is_stonith_action_param(void **state)
42 {
43  /* Currently, the function accepts any string not containing underbars as
44  * the action name, so we do not need to verify particular action names.
45  */
46  assert_false(pcmk_stonith_param("pcmk_on_unrecognized"));
47  assert_true(pcmk_stonith_param("pcmk_on_action"));
48  assert_true(pcmk_stonith_param("pcmk_on_timeout"));
49  assert_true(pcmk_stonith_param("pcmk_on_retries"));
50 }
51 
52 int
53 main(int argc, char **argv)
54 {
55  const struct CMUnitTest tests[] = {
56  cmocka_unit_test(is_stonith_param),
57  cmocka_unit_test(is_stonith_action_param),
58  };
59 
60  cmocka_set_message_output(CM_OUTPUT_TAP);
61  return cmocka_run_group_tests(tests, NULL, NULL);
62 }
API related to resource agents.
#define PCMK_STONITH_HOST_CHECK
Definition: agents.h:33
#define PCMK_STONITH_PROVIDES
Definition: agents.h:36
#define PCMK_STONITH_HOST_MAP
Definition: agents.h:35
bool pcmk_stonith_param(const char *param)
Check whether a given stonith parameter is handled by Pacemaker.
Definition: agents.c:170
int main(int argc, char **argv)
#define PCMK_STONITH_STONITH_TIMEOUT
Definition: agents.h:37
#define PCMK_STONITH_HOST_LIST
Definition: agents.h:34
#define PCMK_STONITH_ACTION_LIMIT
Definition: agents.h:29
#define PCMK_STONITH_HOST_ARGUMENT
Definition: agents.h:32
#define PCMK_STONITH_DELAY_BASE
Definition: agents.h:30
#define PCMK_STONITH_DELAY_MAX
Definition: agents.h:31