#!/bin/bash shellfu import jat shellfu import jat_dump shellfu import preupg shellfu import preupg_fupath shellfu import xcase xcase__enum() { # # Enumerate use case ids # echo one echo two echo all } xcase__setup() { # # Setup and collect data # local regex case $(xcase__id) in one) regex="pass" ;; two) regex="needs_" ;; all) regex="." ;; *) xcase__id_error ;; esac preupg_fupath \ RHEL6_7 \ @pass \ @informational \ @fixed \ @needs_action \ @needs_inspection PREUPG__UPATH="$PWD/RHEL6_7/all-xccdf.xml" \ PREUPG__RULE_REGEX="$regex" \ preupg__run1 } xcase__test() { # # Setup and collect data # local r_rnum # result: rule number local o_rnum # oracle: rule number r_rnum=$(preupg__lsrules_ast | wc -l) case $(xcase__id) in one) o_rnum=1 ;; two) o_rnum=2 ;; all) o_rnum=5 ;; *) xcase__id_error ;; esac jat__cmp -h "number of ran rules is as expected" \ "$r_rnum" eq "$o_rnum" } xcase__diag() { preupg__lsrules_ast | jat_dump__pipe LSRULES_AST } xcase__cleanup() { preupg__rmresult } xcase__run -c /root preupg__Cleanup