| #!/usr/bin/env bash | |
| # Copyright lowRISC contributors. | |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
| # SPDX-License-Identifier: Apache-2.0 | |
| # this script checks for test pass/fail signatures at the end of the test | |
| usage="Error: usage: $0 [path-to-run-log] [path-to-pass-patterns] [path-to-fail-patterns]"; | |
| # need exactly 1 args (path to the run.log) | |
| if [[ $# -ne 3 || ! -f $1 || ! -f $2 || ! -f $3 ]]; then | |
| echo $usage | |
| exit 1; | |
| fi | |
| # none of the fail patterns should be present | |
| while ifs= read -r fail_pattern; do | |
| grep_cmd="grep -c -m 1 -E '$fail_pattern' $1"; | |
| fail_pattern_found=$(eval $grep_cmd); | |
| if [[ $fail_pattern_found -ne 0 ]]; then | |
| echo "Fail pattern '$fail_pattern' found" | |
| exit 1 | |
| fi | |
| done < $3 | |
| # all pass patterns should be present | |
| while ifs= read -r pass_pattern; do | |
| grep_cmd="grep -c -m 1 -E '$pass_pattern' $1"; | |
| pass_pattern_found=$(eval $grep_cmd); | |
| if [[ $pass_pattern_found -eq 0 ]]; then | |
| echo "Pass pattern '$pass_pattern' not found" | |
| exit 1 | |
| fi | |
| done < $2 |