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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
#######################################################
#
# Test islink()
#
#######################################################
body common control
{
inputs => { "../../default.cf.sub" };
bundlesequence => { default("$(this.promise_filename)") };
version => "1.0";
}
bundle common g
{
vars:
"testfile" string => "/tmp/TEST.cfengine";
}
#######################################################
bundle agent init
{
files:
"$(G.testfile)"
create => "true";
"$(G.testfile).dir/."
create => "true";
"$(G.testfile).link"
link_from => test_link("$(G.testfile)");
}
body link_from test_link(original)
{
source => "$(original)";
link_type => "symlink";
}
#######################################################
bundle agent test
{
meta:
"test_suppress_fail" string => "windows",
meta => { "redmine4608" };
vars:
"dummy" string => "dummy";
}
#######################################################
bundle agent check
{
classes:
"good" and => {
islink("$(G.testfile).link"),
};
"bad" or => {
islink("$(G.testfile).dir"),
islink("$(G.testfile).dir/"),
islink("$(G.testfile)"),
islink("$(G.testfile).does-not-exist"),
};
"ok" expression => "good&!bad";
reports:
DEBUG.good::
"As expected, $(G.testfile).link is a symlink to $(G.testfile)";
DEBUG.bad::
"One of these is detected as a symlink: $(G.testfile).dir, $(G.testfile), $(G.testfile).does-not-exist";
ok::
"$(this.promise_filename) Pass";
!ok::
"$(this.promise_filename) FAIL";
}
#######################################################
bundle agent fini
{
methods:
"any" usebundle => dcs_fini("$(G.testfile)");
}
|