tools: dumpimage: Clarify help
[oweals/u-boot.git] / test / trace / test-trace.sh
index 696a39675b20e197e671689a616a7810f20cb6b1..5130b2bf017762d7936903ebfa9bdc1a1d26ab29 100755 (executable)
@@ -1,56 +1,29 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0+
 # Copyright (c) 2013 The Chromium OS Authors.
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
 
 # Simple test script for tracing with sandbox
 
-OUTPUT_DIR=sandbox
 TRACE_OPT="FTRACE=1"
 
-fail() {
-       echo "Test failed: $1"
-       if [ -n ${tmp} ]; then
-               rm ${tmp}
-       fi
-       exit 1
-}
-
-build_uboot() {
-       echo "Build sandbox"
-       OPTS="O=${OUTPUT_DIR} ${TRACE_OPT}"
-       NUM_CPUS=$(grep -c processor /proc/cpuinfo)
-       make ${OPTS} sandbox_config
-       make ${OPTS} -s -j${NUM_CPUS}
-}
+BASE="$(dirname $0)/.."
+. $BASE/common.sh
 
 run_trace() {
        echo "Run trace"
        ./${OUTPUT_DIR}/u-boot <<END
-       trace stats
-       hash sha256 0 10000
-       trace pause
-       trace stats
-       hash sha256 0 10000
-       trace stats
-       trace resume
-       hash sha256 0 10000
-       trace pause
-       trace stats
-       reset
+trace stats
+hash sha256 0 10000
+trace pause
+trace stats
+hash sha256 0 10000
+trace stats
+trace resume
+hash sha256 0 10000
+trace pause
+trace stats
+reset
 END
 }
 
@@ -72,7 +45,9 @@ check_results() {
        # between calls 2 and 3, where tracing is paused.
        # This code gets the sign of the difference between each number and
        # its predecessor.
-       counts="$(tr -d , <${tmp} | awk '/traced function calls/ { diff = $1 - upto; upto = $1; printf "%d ", diff < 0 ? -1 : (diff > 0 ? 1 : 0)}')"
+       counts="$(tr -d ',\r' <${tmp} | awk \
+               '/traced function calls/ { diff = $1 - upto; upto = $1; \
+               printf "%d ", diff < 0 ? -1 : (diff > 0 ? 1 : 0)}')"
 
        if [ "${counts}" != "1 1 0 1 " ]; then
                fail "trace collection error: ${counts}"
@@ -82,7 +57,7 @@ check_results() {
 echo "Simple trace test / sanity check using sandbox"
 echo
 tmp="$(tempfile)"
-build_uboot
+build_uboot "${TRACE_OPT}"
 run_trace >${tmp}
 check_results ${tmp}
 rm ${tmp}