xref: /aosp_15_r20/external/toolchain-utils/afdo_tools/bisection/e2e_external.sh (revision 760c253c1ed00ce9abd48f8546f08516e57485fe)
1#!/bin/bash -eu
2
3GOOD_STATUS=0
4BAD_STATUS=1
5SKIP_STATUS=125
6PROBLEM_STATUS=127
7
8tmp_file=$(mktemp)
9trap "rm -f '${tmp_file}'" EXIT
10grep -v '^ ' "$1" > "${tmp_file}"
11
12if grep -q bad "${tmp_file}"; then
13  exit $BAD_STATUS
14fi
15
16# func_a containing '2' in its top line is BAD
17if grep -q 'func_a.*2' "${tmp_file}"; then
18  exit $BAD_STATUS
19fi
20
21# func_b, func_c, and func_d with even values are bad in conjunction
22if grep -q 'func_b.*4' "${tmp_file}" && \
23  grep -q 'func_c.*6' "${tmp_file}" && \
24  grep -q 'func_d.*8' "${tmp_file}"; then
25  exit $BAD_STATUS
26fi
27
28# If none of the BADness conditions are met
29exit $GOOD_STATUS
30