body common control
{
  bundlesequence => { "test", "check" };
}

bundle agent test
{
  meta:
      "description" -> { "CFE-3609" }
        string => "Make sure the class 'hpux_<major>' is defined on HP-UX";

  vars:
    DEBUG::
      "defined_classes" string => join("$(const.n)", classesmatching(".*"));
}

bundle agent check
{
  classes:
    # if 'hpux': make sure 'hpux_10' or 'hpux_11' is defined
    hpux::
      "passed" expression => "hpux_10|hpux_11";
    # if not 'hpux': make sure neither 'hpux_10' nor 'hpux_11' is defined
    !hpux::
      "passed" expression => "!(hpux_10|hpux_11)";

  reports:
    DEBUG&hpux&!passed::
      "No class containing OS- name & version major is defined on HP-UX.";
      "Here is a list of defined classes:";
      "$(test.defined_classes)";
    DEBUG&!hpux&!passed::
      "A class containing 'hpux_<major>' was defined on a non HP-UX system";
    passed::
      "$(this.promise_filename) Pass";
    !passed::
      "$(this.promise_filename) FAIL";
}
