diff --git a/test/falco_tests.yaml b/test/falco_tests.yaml index f8dedc0c..6e209c21 100644 --- a/test/falco_tests.yaml +++ b/test/falco_tests.yaml @@ -358,6 +358,16 @@ trace_files: !mux validate_rules_file: - rules/invalid_macro_without_condition.yaml trace_file: trace_files/cat_write.scap + + invalid_macro_loop: + exit_status: 1 + validate_errors: + - item_type: macro + item_name: macro_a + code: LOAD_ERR_VALIDATE + message_contains: "reference loop in macro" + validate_rules_file: + - rules/invalid_macro_loop.yaml invalid_rule_without_output: exit_status: 1 @@ -403,6 +413,16 @@ trace_files: !mux - rules/list_append_failure.yaml trace_file: trace_files/cat_write.scap + invalid_list_loop: + exit_status: 1 + validate_errors: + - item_type: rule + item_name: sample rule + code: LOAD_ERR_COMPILE_CONDITION + message: "unknown event type list_a" + validate_rules_file: + - rules/invalid_list_loop.yaml + invalid_rule_append_dangling: exit_status: 1 validate_errors: diff --git a/test/rules/invalid_list_loop.yaml b/test/rules/invalid_list_loop.yaml new file mode 100644 index 00000000..bb8fc493 --- /dev/null +++ b/test/rules/invalid_list_loop.yaml @@ -0,0 +1,17 @@ +- list: list_a + items: [open] + +- list: list_b + items: [list_a] + +- list: list_a + items: [list_b] + +- macro: macro_a + condition: evt.type in (list_a) + +- rule: sample rule + priority: WARNING + output: test + desc: testdesc + condition: macro_a \ No newline at end of file diff --git a/test/rules/invalid_macro_loop.yaml b/test/rules/invalid_macro_loop.yaml new file mode 100644 index 00000000..38ed41c7 --- /dev/null +++ b/test/rules/invalid_macro_loop.yaml @@ -0,0 +1,8 @@ +- macro: macro_a + condition: evt.type=open + +- macro: macro_b + condition: macro_a + +- macro: macro_a + condition: macro_b