[RISU,v5,13/13] new: run_risu.sh script

Message ID 20170619104655.31104-14-alex.bennee@linaro.org
State Superseded
Headers show
Series
  • RISU record/replay patches
Related show

Commit Message

Alex Bennée June 19, 2017, 10:46 a.m.
A simple script to work through running all of a bunch of files with
record/playback traces. Dumps a summary and the number of failed tests
at the end.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>


---
v5
  - author, license, usage header
v3
  - tweak to allow specifying RISU binary
---
 run_risu.sh | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)
 create mode 100755 run_risu.sh

-- 
2.13.0

Comments

Peter Maydell June 20, 2017, 2:11 p.m. | #1
On 19 June 2017 at 11:46, Alex Bennée <alex.bennee@linaro.org> wrote:
> A simple script to work through running all of a bunch of files with

> record/playback traces. Dumps a summary and the number of failed tests

> at the end.

>

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>

> ---

> v5

>   - author, license, usage header

> v3

>   - tweak to allow specifying RISU binary

> ---

>  run_risu.sh | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

>  1 file changed, 66 insertions(+)

>  create mode 100755 run_risu.sh

>

> diff --git a/run_risu.sh b/run_risu.sh


I think this should go into contrib/.

thanks
-- PMM
Alex Bennée June 20, 2017, 2:57 p.m. | #2
Peter Maydell <peter.maydell@linaro.org> writes:

> On 19 June 2017 at 11:46, Alex Bennée <alex.bennee@linaro.org> wrote:

>> A simple script to work through running all of a bunch of files with

>> record/playback traces. Dumps a summary and the number of failed tests

>> at the end.

>>

>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>>

>> ---

>> v5

>>   - author, license, usage header

>> v3

>>   - tweak to allow specifying RISU binary

>> ---

>>  run_risu.sh | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

>>  1 file changed, 66 insertions(+)

>>  create mode 100755 run_risu.sh

>>

>> diff --git a/run_risu.sh b/run_risu.sh

>

> I think this should go into contrib/.


OK will do.

>

> thanks

> -- PMM



--
Alex Bennée

Patch hide | download patch | download mbox

diff --git a/run_risu.sh b/run_risu.sh
new file mode 100755
index 0000000..439cd36
--- /dev/null
+++ b/run_risu.sh
@@ -0,0 +1,66 @@ 
+#!/bin/bash
+#
+# Run risu against a set of binaries + trace files
+#
+# Copyright (c) 2017 Linaro Limited
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Alex Bennée <alex.bennee@linaro.org> - initial implementation
+#
+# Usage:
+#   (optional) export QEMU=/path/to/qemu
+#   (optional) export RISU=/path/to/risu
+#   ./run_risu.sh  ./testcases.aarch64/*.bin
+
+set -e
+
+passed=()
+failed=()
+missing=()
+
+if test -z "$RISU"; then
+    script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)
+    RISU=${script_dir}/risu
+fi
+
+for f in $@; do
+    t="$f.trace"
+    echo "Running $f against $t"
+    if [ -e $t ]; then
+        ${QEMU} ${RISU} $f -t $t
+        if [ $? == 0 ]; then
+            passed=( "${passed[@]}" $f )
+        else
+            failed=( "${failed[@]}" $f )
+        fi
+    else
+        missing=( "${missing[@]}" $f )
+    fi
+done
+
+if test ${#missing[@]} -gt 0; then
+    echo "Tests missing ${#missing[@]} trace files:"
+    for m in "${missing[@]}"; do
+        echo "$m"
+    done
+fi
+
+if test ${#passed[@]} -gt 0; then
+    echo "Passed ${#passed[@]} tests:"
+    for p in "${passed[@]}"; do
+        echo "$p"
+    done
+fi
+
+if test ${#failed[@]} -gt 0; then
+    echo "Failed ${#failed[@]} tests:"
+    for f in "${failed[@]}"; do
+        echo "$f"
+    done
+fi
+
+exit ${#failed[@]}