20#define MONTHS_TO_SECONDS "months=\"2\" weeks=\"3\" days=\"-1\" " \
21 "hours=\"1\" minutes=\"1\" seconds=\"1\" />"
23#define ALL_VALID "<duration id=\"duration1\" years=\"1\" " MONTHS_TO_SECONDS
25#define NO_ID "<duration years=\"1\" " MONTHS_TO_SECONDS
27#define YEARS_INVALID "<duration id=\"duration1\" years=\"not-a-number\" " \
31null_invalid(
void **state)
50nonnull_end_invalid(
void **state)
79years_invalid(
void **state)
94all_valid(
void **state)
111 cmocka_unit_test(null_invalid),
112 cmocka_unit_test(nonnull_end_invalid),
113 cmocka_unit_test(no_id),
114 cmocka_unit_test(years_invalid),
115 cmocka_unit_test(all_valid))
G_GNUC_INTERNAL int pcmk__unpack_duration(const xmlNode *duration, const crm_time_t *start, crm_time_t **end)
void crm_time_free(crm_time_t *dt)
crm_time_t * crm_time_new(const char *string)
struct crm_time_s crm_time_t
int crm_time_compare(const crm_time_t *a, const crm_time_t *b)
int pcmk__xml_test_teardown_group(void **state)
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)
int pcmk__xml_test_setup_group(void **state)
Wrappers for and extensions to libxml2.
void pcmk__xml_free(xmlNode *xml)
xmlNode * pcmk__xml_parse(const char *input)