mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
rtems-test-check: Ignore tests which require real ISR based clock tick
BSPs for simulators which do not include a clock tick interrupt source are incapable of running some tests successfully. This is a common characteristic of some BSPs and a fixed set of tests. There is no point in duplicating this list of tests in those BSPs test configuration. Read testsuites/testdata/require-tick-isr.tcfg for details. Conflicts: testsuites/automake/test-subdirs.am tools/build/rtems-test-check
This commit is contained in:
committed by
Joel Sherrill
parent
c1d7c5fa6e
commit
b9d871f9e1
@@ -2,12 +2,12 @@
|
|||||||
AC_DEFUN([RTEMS_CHECK_BSPDIR],
|
AC_DEFUN([RTEMS_CHECK_BSPDIR],
|
||||||
[
|
[
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
TLL6527M )
|
||||||
|
AC_CONFIG_SUBDIRS([TLL6527M]);;
|
||||||
bf537Stamp )
|
bf537Stamp )
|
||||||
AC_CONFIG_SUBDIRS([bf537Stamp]);;
|
AC_CONFIG_SUBDIRS([bf537Stamp]);;
|
||||||
eZKit533 )
|
eZKit533 )
|
||||||
AC_CONFIG_SUBDIRS([eZKit533]);;
|
AC_CONFIG_SUBDIRS([eZKit533]);;
|
||||||
TLL6527M )
|
|
||||||
AC_CONFIG_SUBDIRS([TLL6527M]);;
|
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([Invalid BSP]);;
|
AC_MSG_ERROR([Invalid BSP]);;
|
||||||
esac
|
esac
|
||||||
|
|||||||
72
testsuites/testdata/require-tick-isr.tcfg
vendored
Normal file
72
testsuites/testdata/require-tick-isr.tcfg
vendored
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
#
|
||||||
|
# These tests require that the BSP have a real clock tick ISR. Some
|
||||||
|
# simulator BSPs do not have any interrupt sources and use the file
|
||||||
|
# libbsp/shared/clock_driver_simidle.c.
|
||||||
|
#
|
||||||
|
# Tests which do not work with this clock driver tend to have the
|
||||||
|
# one of the following characteristics:
|
||||||
|
#
|
||||||
|
# + Assume that a clock tick will occur while a task is running
|
||||||
|
# continuously can be
|
||||||
|
# + Assume that a timer service routine will execute in an ISR
|
||||||
|
# while a task is running continously.
|
||||||
|
# + Has a busy spin loop waiting to start the test on a tick boundary
|
||||||
|
# does this.
|
||||||
|
#
|
||||||
|
# Eventually there should be a way to note that a BSP has a list
|
||||||
|
# of expected test failures which are specific to it AND a set of
|
||||||
|
# characteristics that make running classes of test appropriate or
|
||||||
|
# inappropriate. At that point, this would be one characteristic.
|
||||||
|
#
|
||||||
|
# NOTE: Each test in this list should be reviewed to ensure that it
|
||||||
|
# has a legitimate reason to not run on a BSP with the simulator
|
||||||
|
# clock idle task. It may need to be broken into multiple tests
|
||||||
|
# if not executing it misses other paths.
|
||||||
|
#
|
||||||
|
cpuuse
|
||||||
|
psx07
|
||||||
|
psx09
|
||||||
|
psx10
|
||||||
|
psx11
|
||||||
|
psxcancel01
|
||||||
|
psxgetrusage01
|
||||||
|
psxintrcritical01
|
||||||
|
psxsignal01
|
||||||
|
psxsignal02
|
||||||
|
psxspin01
|
||||||
|
psxtime
|
||||||
|
psxtimes01
|
||||||
|
sp04
|
||||||
|
sp14
|
||||||
|
sp19
|
||||||
|
sp35
|
||||||
|
sp38
|
||||||
|
sp44
|
||||||
|
sp69
|
||||||
|
spcbssched02
|
||||||
|
spcbssched03
|
||||||
|
spcontext01
|
||||||
|
spcpucounter01
|
||||||
|
spedfsched03
|
||||||
|
spintrcritical01
|
||||||
|
spintrcritical02
|
||||||
|
spintrcritical03
|
||||||
|
spintrcritical04
|
||||||
|
spintrcritical05
|
||||||
|
spintrcritical06
|
||||||
|
spintrcritical07
|
||||||
|
spintrcritical08
|
||||||
|
spintrcritical09
|
||||||
|
spintrcritical10
|
||||||
|
spintrcritical11
|
||||||
|
spintrcritical12
|
||||||
|
spintrcritical13
|
||||||
|
spintrcritical14
|
||||||
|
spintrcritical15
|
||||||
|
spintrcritical16
|
||||||
|
spintrcritical17
|
||||||
|
spintrcritical18
|
||||||
|
spintrcritical19
|
||||||
|
spintrcritical20
|
||||||
|
spnsext01
|
||||||
|
spqreslib
|
||||||
76
tools/build/rtems-test-check
Executable file
76
tools/build/rtems-test-check
Executable file
@@ -0,0 +1,76 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
#
|
||||||
|
# Copyright 2014 Chris Johns <chrisj@rtems.org>
|
||||||
|
# All rights reserved
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# usage: rtems-test-check <bsp-test-database> <includes> <bsp> <tests..>
|
||||||
|
#
|
||||||
|
|
||||||
|
if test $# -lt 3; then
|
||||||
|
echo "error: invalid command line" >&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
testdata="$1"
|
||||||
|
shift
|
||||||
|
includepath="$1"
|
||||||
|
shift
|
||||||
|
bsp="$1"
|
||||||
|
shift
|
||||||
|
tests="$*"
|
||||||
|
bsp_tests=${tests}
|
||||||
|
|
||||||
|
#
|
||||||
|
# If there is no testdata all tests are valid.
|
||||||
|
#
|
||||||
|
|
||||||
|
if test -f $testdata; then
|
||||||
|
disabled_tests=""
|
||||||
|
while [ ! -z $testdata ];
|
||||||
|
do
|
||||||
|
for td in $testdata;
|
||||||
|
do
|
||||||
|
ntd=""
|
||||||
|
exec 3<& 0
|
||||||
|
exec 0<$td
|
||||||
|
while read line
|
||||||
|
do
|
||||||
|
line=$(echo $line | sed -e 's/#.*$//' -e '/^$/d')
|
||||||
|
if [ ! -z "$line" ]; then
|
||||||
|
include=$(echo $line | sed -e "s/include:.*/yes/g")
|
||||||
|
if [ "$include" = "yes" ]; then
|
||||||
|
inf=$(echo $line | sed -e "s/include://g" -e 's/^[ \t]//;s/[ \t]$//')
|
||||||
|
if test -f $includepath/$inf; then
|
||||||
|
ntd="$includepath/$inf $ntd"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
disabled_tests="${disabled_tests} $line"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
testdata=$ntd
|
||||||
|
done
|
||||||
|
|
||||||
|
bsp_tests=""
|
||||||
|
for t in ${tests};
|
||||||
|
do
|
||||||
|
allow="yes"
|
||||||
|
for dt in ${disabled_tests};
|
||||||
|
do
|
||||||
|
if test ${t} = ${dt}; then
|
||||||
|
allow="no"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test ${allow} = yes; then
|
||||||
|
bsp_tests="${bsp_tests} ${t}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ${bsp_tests}
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
Reference in New Issue
Block a user