File: makerule.cf

package info (click to toggle)
cfengine3 3.24.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 37,552 kB
  • sloc: ansic: 163,161; sh: 10,296; python: 2,950; makefile: 1,744; lex: 784; yacc: 633; perl: 211; pascal: 157; xml: 21; sed: 13
file content (88 lines) | stat: -rw-r--r-- 2,306 bytes parent folder | download | duplicates (6)
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 makerule()
#
#######################################################

body common control
{
      inputs => { "../../default.cf.sub" };
      bundlesequence  => { default("$(this.promise_filename)") };
      version => "1.0";
}

bundle agent init
{
  vars:
      "dummy" string => "dummy";
}

#######################################################

bundle agent test
{
  vars:
      "lold" slist => { "$(G.etc_passwd)", "$(G.etc_group)" };
      "lnew" slist => { "$(G.etc_passwd)", "$(G.testfile)" };
      "lnon" slist => { "$(G.etc_passwd)", "/etc/NoFriggin'WayThisExi5ts" };

 files:

   "$(G.testfile)"
        create => "true";

   "$(G.testfile).nosuchfile"

         delete => tidy;
}

#######################################################

bundle agent check
{
  classes:

      # A new file does not need to be rebuilt from an older file (fails)
      "ok1" expression => makerule("$(G.testfile)", "$(G.etc_passwd)");

      # An older file does need to be rebuilt from a newer file
      "ok2" expression => makerule("$(G.etc_passwd)", "$(G.testfile)");

      # An older file cannot be rebuilt from a non existent file (fails)
      "ok3" expression => makerule("$(G.etc_passwd)", "$(G.testfile).nosuchfile");

      # An non existent file does need to be rebuilt from a source file
      "ok4" expression => makerule("$(G.testfile).nosuchfile", "$(G.etc_passwd)");

      # A new file does not need to be rebuilt from an older file (fails)
      "ok5" expression => makerule("$(G.testfile)", "test.lold");

      # An old file does need to be rebuilt from an newer file in a list
      "ok6" expression => makerule("$(G.etc_passwd)", "test.lnew");

      # An old file does not need to be rebuilt from sources with a missing file (fails)
      "ok7" expression => makerule("$(G.etc_passwd)", "test.lnon");

      "ok" and => { "!ok1", "ok2", "!ok3", "ok4", "!ok5", "ok6", "!ok7" };

  reports:
    DEBUG.ok1::
      "1. pass";
    DEBUG.ok2::
      "2. pass";
    DEBUG.ok3::
      "3. pass";
    DEBUG.ok4::
      "4. pass";
    DEBUG.ok5::
      "5. pass";
    DEBUG.ok6::
      "6. pass";
    DEBUG.ok7::
      "7. pass";

    ok::
      "$(this.promise_filename) Pass";
    !ok::
      "$(this.promise_filename) FAIL";
}