summaryrefslogtreecommitdiff
path: root/tools/perf/pmu-events/jevents-test.sh
blob: 9ae8522925766efbd7717bd41ffa98dc67d90db0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
# Validate that the legacy jevents and jevents.py produce identical output.
set -e

JEVENTS="$1"
JEVENTS_PY="$2"
ARCH_PATH="$3"
JEVENTS_C_GENERATED=$(mktemp /tmp/jevents_c.XXXXX.c)
JEVENTS_PY_GENERATED=$(mktemp /tmp/jevents_py.XXXXX.c)

cleanup() {
  rm "$JEVENTS_C_GENERATED" "$JEVENTS_PY_GENERATED"
  trap - exit term int
}
trap cleanup exit term int

for path in "$ARCH_PATH"/*
do
  arch=$(basename $path)
  if [ "$arch" = "test" ]
  then
    continue
  fi
  echo "Checking architecture: $arch"
  echo "Generating using jevents.c"
  "$JEVENTS" "$arch" "$ARCH_PATH" "$JEVENTS_C_GENERATED"
  echo "Generating using jevents.py"
  "$JEVENTS_PY" "$arch" "$ARCH_PATH" "$JEVENTS_PY_GENERATED"
  echo "Diffing"
  diff -u "$JEVENTS_C_GENERATED" "$JEVENTS_PY_GENERATED"
done
cleanup