Skip to content

Commit 80d5ded

Browse files
committed
time_based_vars.cf: refactored acceptance test
Refactored test to print debug information when test failes. This will hopefully reveal why the test fails every now and then. Ticket: ENT-13540 Signed-off-by: Lars Erik Wik <[email protected]>
1 parent 358eea4 commit 80d5ded

File tree

1 file changed

+71
-25
lines changed

1 file changed

+71
-25
lines changed
Lines changed: 71 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,83 @@
11
body common control
22
{
3-
bundlesequence => { "test" };
3+
inputs => { "../../default.cf.sub" };
4+
bundlesequence => { default("$(this.promise_filename)") };
5+
version => "1.0";
46
}
57

8+
bundle agent init
9+
{
10+
files:
11+
"$(G.testfile)" delete => tidy;
12+
}
13+
14+
bundle agent test_variable(name, regex)
15+
{
16+
classes:
17+
"defined" expression => isvariable("$(name)");
18+
"match" expression => regcmp("$(regex)", "$($(name))");
19+
20+
reports:
21+
"FAIL: '$(name)' is not defined" unless => "defined";
22+
"FAIL: '$(name) => $($(name))' did not match '$(regex)'" unless => "match";
23+
24+
files:
25+
"$(G.testfile)"
26+
create => "true",
27+
unless => "defined&match";
28+
}
629

730
bundle agent test
831
{
932
vars:
10-
"time_based_var_names" slist => variablesmatching(".*sys.time_based.*");
11-
"time_based_vars" slist => maplist("$($(this))", "@(time_based_var_names)");
33+
"variables"
34+
data => '{
35+
"dom": "^Day([1-9]|[1-2][0-9]|3[0-1])$",
36+
"dow": "^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)$",
37+
"hr": "^Hr([1-9]|1[0-9]|2[0-4])$",
38+
"hr_2": "^Hr(0[1-9]|1[0-9]|2[0-4])$",
39+
"hr_qoh": "^Hr(0[1-9]|1[0-9]|2[0-4])_Q[1-4]$",
40+
"lcycle": "^Lcycle_[0-3]$",
41+
"min": "^Min([0-5][0-9]|60)$",
42+
"min_span_5": "^Min(00_05|05_10|10_15|15_20|20_25|25_30|30_35|35_40|40_45|45_50|50_55|55_00)$",
43+
"month": "^(January|February|March|April|May|June|July|August|September|October|November|December)$",
44+
"pod": "^(Night|Morning|Afternoon|Evening)$",
45+
"qoh": "^Q[1-4]$",
46+
"yr": "^Yr\d{4}$",
1247

13-
classes:
14-
"year_ok" expression => reglist("@(time_based_vars)", "^Yr\d{4}$");
15-
"month_ok" expression => reglist("@(time_based_vars)", "^(January|February|March|April|May|June|July|August|September|October|November|December)$");
16-
"day_ok" expression => reglist("@(time_based_vars)", "^Day([1-9]|[1-2][0-9]|3[0-1])$");
17-
"weekday_ok" expression => reglist("@(time_based_vars)", "^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)$");
18-
"shift_ok" expression => reglist("@(time_based_vars)", "^(Night|Morning|Afternoon|Evening)$");
19-
"hour_2_ok" expression => reglist("@(time_based_vars)", "^Hr(0[1-9]|1[0-9]|2[0-4])$");
20-
"hour_ok" expression => reglist("@(time_based_vars)", "^Hr([1-9]|1[0-9]|2[0-4])$");
21-
"quarter_ok" expression => reglist("@(time_based_vars)", "^Q[1-4]$");
22-
"minute_ok" expression => reglist("@(time_based_vars)", "^Min([0-5][0-9]|60)$");
23-
"minute_span_5_ok" expression => reglist("@(time_based_vars)", "^Min([0-5][0-9]|60)_(05|[0-5][05]|60)$");
24-
"hour_2_quarter_ok" expression => reglist("@(time_based_vars)", "^Hr(0[1-9]|1[0-9]|2[0-4])_Q[1-4]$");
25-
26-
# Testing for one GMT
27-
"hour_2_gmt_ok" expression => reglist("@(time_based_vars)", "^GMT_Hr(0[1-9]|1[0-9]|2[0-4])$");
28-
29-
"ok" expression => and("year_ok", "month_ok", "day_ok", "weekday_ok", "shift_ok", "hour_2_ok", "hour_ok",
30-
"quarter_ok", "minute_ok", "minute_span_5_ok", "hour_2_quarter_ok", "hour_2_gmt_ok");
48+
"gmt_dom": "^GMT_Day([1-9]|[1-2][0-9]|3[0-1])$",
49+
"gmt_dow": "^GMT_(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)$",
50+
"gmt_hr": "^GMT_Hr([1-9]|1[0-9]|2[0-4])$",
51+
"gmt_hr_2": "^GMT_Hr(0[1-9]|1[0-9]|2[0-4])$",
52+
"gmt_hr_qoh": "^GMT_Hr(0[1-9]|1[0-9]|2[0-4])_Q[1-4]$",
53+
"gmt_lcycle": "^GMT_Lcycle_[0-3]$",
54+
"gmt_min": "^GMT_Min([0-5][0-9]|60)$",
55+
"gmt_min_span_5": "^GMT_Min(00_05|05_10|10_15|15_20|20_25|25_30|30_35|35_40|40_45|45_50|50_55|55_00)$",
56+
"gmt_month": "^GMT_(January|February|March|April|May|June|July|August|September|October|November|December)$",
57+
"gmt_pod": "^GMT_(Night|Morning|Afternoon|Evening)$",
58+
"gmt_qoh": "^GMT_Q[1-4]$",
59+
"gmt_yr": "^GMT_Yr\d{4}$"
60+
}';
61+
62+
"names"
63+
slist => getindices("variables");
64+
65+
methods:
66+
"any"
67+
usebundle => test_variable("default:sys.time_based_$(names)", "$(variables[$(names)])");
68+
}
3169

70+
bundle agent check
71+
{
3272
reports:
33-
ok::
34-
"$(this.promise_filename) Pass";
35-
!ok::
36-
"$(this.promise_filename) FAIL";
73+
"$(this.promise_filename) Pass"
74+
unless => fileexists("$(G.testfile)");
75+
"$(this.promise_filename) FAIL"
76+
if => fileexists("$(G.testfile)");
77+
}
78+
79+
bundle agent destroy
80+
{
81+
methods:
82+
"init";
3783
}

0 commit comments

Comments
 (0)