|  | #!/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 |