| #!/bin/bash | |
| # Copyright (C) 2017-2020 The Project X-Ray Authors. | |
| # | |
| # Use of this source code is governed by a ISC-style | |
| # license that can be found in the LICENSE file or at | |
| # https://opensource.org/licenses/ISC | |
| # | |
| # SPDX-License-Identifier: ISC | |
| function display_help() { | |
| echo "This is a utility script that helps displaying the total" | |
| echo "amount of unknown bits in the various minitest." | |
| echo "" | |
| echo "The minitest must contain a Makefile which flow ends in the" | |
| echo "generation of a FASM file." | |
| echo "" | |
| echo "Arguments:" | |
| echo " -m|--minitests: list of minitest directories from which the FASM files are" | |
| echo " generated and parsed to get the total amount of missing" | |
| } | |
| MINITEST_DIRS=() | |
| MINITEST=0 | |
| for arg in $@; do | |
| case "$arg" in | |
| -m|--minitests) | |
| MINITEST=1 | |
| ;; | |
| *) | |
| if [ $MINITEST -eq 1 ]; then | |
| MINITEST_DIRS+=($arg) | |
| else | |
| display_help | |
| exit 1 | |
| fi | |
| ;; | |
| esac | |
| done | |
| if [ $# -eq 0 ]; then | |
| display_help | |
| exit 1 | |
| fi | |
| for MINITEST in ${MINITEST_DIRS[*]} | |
| do | |
| echo "-----------------------------" | |
| echo "$MINITEST" | |
| echo "-----------------------------" | |
| make -q -C $MINITEST all | |
| FASM_FILE=`find $MINITEST -name "*.fasm"` | |
| MISSING_BITS=`grep "unknown_bit" $FASM_FILE | wc -l` | |
| MISSING_FRAMES=`grep "In frame" $FASM_FILE | wc -l` | |
| echo "Total of unknown bits: $MISSING_BITS" | |
| echo "Total of unknown frames: $MISSING_FRAMES" | |
| echo "" | |
| done |