You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reason for failure:
The output_strictly_contains check ensures that the expected output (read from a file) is contained in the actual Falco's output by using simple string inclusion comparison (if expected not in actual: self.fail(...)). As such, the test is fragile and can fail if even a single character in the actual output breaks the pattern of the expected string.
Since merging #1451, alerts are written on the outputs by an additional worker thread. While running integration tests, it may happen that the main thread terminates before the last alert has been emitted by the working thread. As such, Falco's termination message Events detected: ... Rule counts by severity: ... may be written on stdout before the last alert.
In this specific scenario, output_strictly_contains fails because the termination message appears in the middle of the output, thus not matching the expected string. This only happens while checking the stdout output. This is not deterministically reproducible, and happens in execution environments with poor computation resources.
Anything else we need to know:
The tests/integration-static job occasionally fails on CircleCI. Failures related to this issue have an error message like the following:
Output 'stdout' does not strictly contains the expected content 'output_files/single_rule_with_cat_write.json'
Which jobs are failing:
tests/integration-static
Which test(s) are failing:
stdout_output_strict
,stdout_output_json_strict
Test link:
falco/test/falco_tests.yaml
Line 675 in 2a8c0e8
falco/test/falco_tests.yaml
Line 686 in 2a8c0e8
Reason for failure:
The
output_strictly_contains
check ensures that the expected output (read from a file) is contained in the actual Falco's output by using simple string inclusion comparison (if expected not in actual: self.fail(...)
). As such, the test is fragile and can fail if even a single character in the actual output breaks the pattern of the expected string.Since merging #1451, alerts are written on the outputs by an additional worker thread. While running integration tests, it may happen that the main thread terminates before the last alert has been emitted by the working thread. As such, Falco's termination message
Events detected: ... Rule counts by severity: ...
may be written on stdout before the last alert.In this specific scenario,
output_strictly_contains
fails because the termination message appears in the middle of the output, thus not matching the expected string. This only happens while checking the stdout output. This is not deterministically reproducible, and happens in execution environments with poor computation resources.Anything else we need to know:
The
tests/integration-static
job occasionally fails on CircleCI. Failures related to this issue have an error message like the following:An example of this failure is visible in one of the currently open PRs: https://app.circleci.com/pipelines/github/Spartan-65/falco/3/workflows/44b81732-5123-47f5-9642-d56708092bd2/jobs/37/parallel-runs/0/steps/0-103
The log lines containing the corrupted output, and the error, are reported below:
The text was updated successfully, but these errors were encountered: