21 run_one_test(
const char *t,
const char *x,
int expected)
33 null_invalid(
void **state)
49 spec_id_missing(
void **state)
51 run_one_test(
"2020-01-01",
"<date_spec years='2020'/>",
56 invalid_range(
void **state)
58 run_one_test(
"2020-01-01",
"<date_spec years='not-a-year' months='1'/>",
63 time_satisfies_year_spec(
void **state)
65 run_one_test(
"2020-01-01",
66 "<date_spec " PCMK_XA_ID "='spec' years='2020'/>",
71 time_after_year_spec(
void **state)
73 run_one_test(
"2020-01-01",
81 time_satisfies_year_range(
void **state)
83 run_one_test(
"2020-01-01",
91 time_before_year_range(
void **state)
93 run_one_test(
"2000-01-01",
101 time_after_year_range(
void **state)
103 run_one_test(
"2020-01-01",
111 range_without_start_year_passes(
void **state)
113 run_one_test(
"2010-01-01",
121 range_without_end_year_passes(
void **state)
123 run_one_test(
"2010-01-01",
128 run_one_test(
"2000-10-01",
136 yeardays_satisfies(
void **state)
138 run_one_test(
"2020-01-30",
146 time_after_yeardays_spec(
void **state)
148 run_one_test(
"2020-02-15",
156 yeardays_feb_29_satisfies(
void **state)
158 run_one_test(
"2016-02-29",
166 exact_ymd_satisfies(
void **state)
168 run_one_test(
"2001-12-31",
178 range_in_month_satisfies(
void **state)
180 run_one_test(
"2001-06-10",
190 exact_ymd_after_range(
void **state)
192 run_one_test(
"2001-12-31",
202 time_after_monthdays_range(
void **state)
204 run_one_test(
"2001-06-10",
214 cmocka_unit_test(null_invalid),
215 cmocka_unit_test(spec_id_missing),
216 cmocka_unit_test(invalid_range),
217 cmocka_unit_test(time_satisfies_year_spec),
218 cmocka_unit_test(time_after_year_spec),
219 cmocka_unit_test(time_satisfies_year_range),
220 cmocka_unit_test(time_before_year_range),
221 cmocka_unit_test(time_after_year_range),
222 cmocka_unit_test(range_without_start_year_passes),
223 cmocka_unit_test(range_without_end_year_passes),
224 cmocka_unit_test(yeardays_satisfies),
225 cmocka_unit_test(time_after_yeardays_spec),
226 cmocka_unit_test(yeardays_feb_29_satisfies),
227 cmocka_unit_test(exact_ymd_satisfies),
228 cmocka_unit_test(range_in_month_satisfies),
229 cmocka_unit_test(exact_ymd_after_range),
230 cmocka_unit_test(time_after_monthdays_range))
G_GNUC_INTERNAL int pcmk__evaluate_date_spec(const xmlNode *date_spec, const crm_time_t *now)
struct crm_time_s crm_time_t
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)
void pcmk__xml_free(xmlNode *xml)
#define PCMK_XE_DATE_SPEC
int pcmk__xml_test_setup_group(void **state)
Wrappers for and extensions to libxml2.
int pcmk__xml_test_teardown_group(void **state)
xmlNode * pcmk__xml_parse(const char *input)
#define PCMK_XA_MONTHDAYS
crm_time_t * crm_time_new(const char *string)
void crm_time_free(crm_time_t *dt)