1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
##############################################################################
#
# Redmine #3573: establish message for missing target file with a template
#
##############################################################################
body common control
{
inputs => { "../../default.cf.sub" };
bundlesequence => { default("$(this.promise_filename)") };
version => "1.0";
}
#######################################################
bundle agent init
{
}
#######################################################
bundle agent test
{
vars:
any::
# Run subtests. Need to be in verbose mode to see the output.
# The full verbose output is too big for variable assignment here.
# So extract (grep) only potentially interesting lines.
"subout" string => execresult("$(sys.cf_agent) -KIv -b run -f $(this.promise_filename).sub 2>&1 | $(G.grep) '/no/such/file'", "useshell");
}
#######################################################
bundle agent check
{
vars:
"must_have" string => ".*Cannot render file '/no/such/file': file does not exist.*";
"cant_have" string => ".*no longer access file.*";
classes:
"ok_1" not => regcmp($(cant_have), "$(test.subout)");
"ok_2" expression => regcmp($(must_have), "$(test.subout)");
reports:
DEBUG::
"Attempted subtest '$(this.promise_filename).sub'";
"Significant output was '$(test.subout)'.";
DEBUG.!ok_1::
"failing: can't have pattern '$(cant_have)' in subtest";
DEBUG.!ok_2::
"failing: must have pattern '$(must_have)' in subtest";
ok_1.ok_2::
"$(this.promise_filename) Pass";
!(ok_1.ok_2)::
"$(this.promise_filename) FAIL";
}
|