From 419d1e91a2413a2eb7564b34a781b2f6016dba43 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 25 Apr 2018 16:06:34 +0200 Subject: bsp/mcf5206elite: Do not install runtest script Provide the runtest script only as a part of the sources. This simplifies the build system. Test support should be included in the RTEMS Tester. --- bsps/m68k/mcf5206elite/runtest | 351 +++++++++++++++++++++ c/src/lib/libbsp/m68k/mcf5206elite/Makefile.am | 5 - c/src/lib/libbsp/m68k/mcf5206elite/configure.ac | 2 - .../lib/libbsp/m68k/mcf5206elite/tools/Makefile.am | 22 -- .../libbsp/m68k/mcf5206elite/tools/configure.ac | 19 -- c/src/lib/libbsp/m68k/mcf5206elite/tools/runtest | 351 --------------------- 6 files changed, 351 insertions(+), 399 deletions(-) create mode 100644 bsps/m68k/mcf5206elite/runtest delete mode 100644 c/src/lib/libbsp/m68k/mcf5206elite/tools/Makefile.am delete mode 100644 c/src/lib/libbsp/m68k/mcf5206elite/tools/configure.ac delete mode 100644 c/src/lib/libbsp/m68k/mcf5206elite/tools/runtest diff --git a/bsps/m68k/mcf5206elite/runtest b/bsps/m68k/mcf5206elite/runtest new file mode 100644 index 0000000000..0e814b2c1b --- /dev/null +++ b/bsps/m68k/mcf5206elite/runtest @@ -0,0 +1,351 @@ +#! /bin/sh -p +# +# Run rtems tests on the Motorola MCF5206eLITE Coldfire Evaluation board +# using gdb configured with P&E Micro Background Debug Mode debugging +# interface. +# +# This program generates a gdb script to run each test, intercept +# serial port output and put log into output file. +# +# Author: Victor V. Vengerov +# Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia +# +# Partially based on runtest script for powerpc psim. +# +# COPYRIGHT (c) 1989-1999. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.org/license/LICENSE. +# + +# progname=`basename $0` +progname=${0##*/} # fast basename hack for ksh, bash + +USAGE=\ +"usage: $progname [ -opts ] test [ test ... ] + -s ttydevice -- specify serial device to be used to capture test + output + -r baud -- set serial port baud rate (19200 by default) + -b bdmdevice -- specify BDM device to be used to control the target + -g gdbname -- specify name of gdb program to be used + -v -- verbose output + -d -- don't remove temporary files (for debugging only) + -i -- use interrupt driven console I/O when test is running + (many tests failed when interrupt driven console + input/output is used due undetermenistic tests + behaviour) + -p -- use termios poll console I/O + -l logdir -- specify log directory (default is 'logdir') + + Specify test as 'test' or 'test.exe'. + All multiprocessing tests *must* be specified simply as 'mp01', etc. +" + +# export everything +set -a + +# log an error to stderr +prerr() +{ + echo "$*" >&2 +} + +fatal() { + [ "$1" ] && prerr $* + prerr "$USAGE" + exit 1 +} + +warn() { + [ "$1" ] && prerr $* +} + +# run at normal and signalled exit +test_exit() +{ + exit_code=$1 + + rm -f ${logfile}.tmp* + [ "$gdb_pid" ] && kill -9 $gdb_pid + [ "$serial_pid" ] && kill -9 $serial_pid + + exit $exit_code +} + +# +# process the options +# +# defaults for getopt vars +# +# max_run_time is defaulted to 5 minutes +# + +verbose="" +serial_device=/dev/ttyS0 +bdm_device=/dev/bdmcf0 +gdbprog=true +for i in rtems bdm-rtems bdm bdm-elf bdm-coff ; do + if m68k-$i-gdb --version > /dev/null 2>&1 ; then + gdbprog=m68k-$i-gdb ; + break ; + fi +done +logdir=log +max_run_time=$((5 * 60)) +sizeof_ram=$((1 * 1024 * 1024)) +debugging="no" +baudrate="19200" +console_mode=0 + +while getopts vdips:r:b:l: OPT +do + case "$OPT" in + v) + verbose="yes";; + d) + debugging="yes";; + s) + serial_device="$OPTARG";; + r) + baudrate="$OPTARG";; + b) + bdm_device="$OPTARG";; + l) + logdir="$OPTARG";; + s) + gdbprog="$OPTARG";; + p) + console_mode=1;; + i) + console_mode=2;; + *) + fatal;; + esac +done + +let $((shiftcount = $OPTIND - 1)) +shift $shiftcount + +args=$* + +# +# Run the tests +# + +tests="$args" +if [ ! "$tests" ] +then + set -- `echo *.exe` + tests="$*" +fi + +[ -d $logdir ] || + mkdir $logdir || fatal "could not create log directory ($logdir)" + +# where the tmp files go +trap "test_exit" 1 2 3 13 14 15 + +for tfile in $tests +do + + tname=`basename $tfile .exe` + cpus="1" + TEST_TYPE="single" + + case "$tname" in + # size is no longer interactive. + capture* | monitor* | termios* | fileio* | pppd*) + warn "Skipping $tname; it is interactive" + continue + ;; + *-node2*) + warn "Skipping $tname; 'runtest' runs both nodes when for *-node1" + continue + ;; + *-node1*) + warn "Running both nodes associated with $tname" + tname=`echo $tname | sed 's/-node.*//'` + TEST_TYPE="mp" + ;; + minimum*|stackchk*|*fatal*|malloctest*) + continue + ;; + esac + + if [ "$TEST_TYPE" = "mp" ] ; then + fatal "MP tests not supported for this board" + fi + + if [ $TEST_TYPE = "single" ] ; then + logfile=$logdir/${tname} + infofile=${logfile}.info + scriptfile=${logfile}.ss + gdblogfile=${logfile}.gdb + + rm -f ${logfile}.tmp* + + date=`date` + echo "Starting $tname at $date" + + # Set serial port parameters + if ! stty -F ${serial_device} raw cs8 -cstopb cread crtscts \ + ispeed ${baudrate} ospeed ${baudrate} \ + > /dev/null 2> /dev/null ; then + fatal "Serial port couldn't be configured" + fi + + # Flush serial port + cat ${serial_device} > /dev/null & + serial_pid=$! + sleep 1s + kill ${serial_pid} + + # Capture serial port + cat ${serial_device} > $logfile & + serial_pid=$! + + cat > "${scriptfile}" < "${gdblogfile}" 2>&1 & + gdb_pid=$! + { + time_run=0 + while [ $time_run -lt $max_run_time ] ; do + sleep 10s + if kill -0 $gdb_pid 2> /dev/null ; then + time_run=$((time_run+10)) ; + else + exit 0 + fi + done + kill -2 $serial_pid 2> /dev/null + kill -2 $gdb_pid 2> /dev/null + { + sleep 5s ; + if kill -0 $gdb_pid 2> /dev/null ; then + kill -9 $gdb_pid 2> /dev/null ; + fi + if kill -0 $serial_pid 2> /dev/null ; then + kill -9 $serial_pid 2> /dev/null ; + fi + } & + } & + wait $gdb_pid + gdb_status=$? + { + if kill -0 $serial_pid 2> /dev/null ; then + kill $serial_pid 2> /dev/null ; + fi + sleep 5s ; + if kill -0 $serial_pid 2> /dev/null ; then + kill -9 $serial_pid 2> /dev/null ; + fi + } & + if [ $gdb_status -ge 128 ] ; then + ran_too_long="yes" ; + else + ran_too_long="no" + fi + if [ $gdb_status -ne 0 ] ; then + test_failed="yes" ; + else + test_failed="no" + fi + gdb_pid="" + serial_pid="" + fi + + # Create the info files + { + echo "$date" + echo "Test run on: `uname -n`" + echo "Host Information:" + echo `uname -a` + echo + echo "Serial port: ${serial_device}" + echo "Baud rate: ${baudrate}" + echo "BDM port: ${bdm_device}" + echo "gdb: `type -path ${gdbprog}`" + + cat ${logfile} + + if [ "$test_failed" = "yes" ] ; then + echo -e "\\n\\nTest did not finish normally" + if [ "$ran_too_long" = "yes" ] ; then + echo "Test killed after $max_run_time seconds" + fi + fi + + echo + date; + } > ${infofile} + if [ "${debugging}" = "no" ] ; then + rm -f ${scriptfile} + rm -f ${gdblogfile} + fi +done + +echo "Tests completed at " `date` +test_exit 0 diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/Makefile.am b/c/src/lib/libbsp/m68k/mcf5206elite/Makefile.am index 4148b28366..8c31be6604 100644 --- a/c/src/lib/libbsp/m68k/mcf5206elite/Makefile.am +++ b/c/src/lib/libbsp/m68k/mcf5206elite/Makefile.am @@ -5,11 +5,6 @@ include $(top_srcdir)/../../bsp.am dist_project_lib_DATA = ../../../../../../bsps/m68k/mcf5206elite/start/bsp_specs - -_SUBDIRS = . tools - - - start.$(OBJEXT): ../../../../../../bsps/m68k/mcf5206elite/start/start.S $(CPPASCOMPILE) -o $@ -c $< project_lib_DATA = start.$(OBJEXT) diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/configure.ac b/c/src/lib/libbsp/m68k/mcf5206elite/configure.ac index d735b281f7..24453b4008 100644 --- a/c/src/lib/libbsp/m68k/mcf5206elite/configure.ac +++ b/c/src/lib/libbsp/m68k/mcf5206elite/configure.ac @@ -15,8 +15,6 @@ RTEMS_BSP_CONFIGURE RTEMS_BSP_CLEANUP_OPTIONS -AC_CONFIG_SUBDIRS(tools) - # Explicitly list all Makefiles here AC_CONFIG_FILES([Makefile]) AC_OUTPUT diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/tools/Makefile.am b/c/src/lib/libbsp/m68k/mcf5206elite/tools/Makefile.am deleted file mode 100644 index 189a991ede..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5206elite/tools/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -ACLOCAL_AMFLAGS = -I ../../../../../aclocal - -transform = -bsptools_bindir = ${exec_prefix}/@RTEMS_BSP@/tests -bsptools_bin_SCRIPTS = runtest - -all-local: $(TMPINSTALL_FILES) - -TMPINSTALL_FILES = - -$(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp): - @$(MKDIR_P) $(PROJECT_ROOT)/@RTEMS_BSP@/tests - @: > $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp) -TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp) - -$(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest: runtest $(PROJECT_ROOT)/@RTEMS_BSP@/tests/$(dirstamp) - $(INSTALL_SCRIPT) $< $(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest -TMPINSTALL_FILES += $(PROJECT_ROOT)/@RTEMS_BSP@/tests/runtest - -CLEANFILES = $(TMPINSTALL_FILES) - -include $(top_srcdir)/../../../../../automake/host.am diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/tools/configure.ac b/c/src/lib/libbsp/m68k/mcf5206elite/tools/configure.ac deleted file mode 100644 index 61c7848ede..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5206elite/tools/configure.ac +++ /dev/null @@ -1,19 +0,0 @@ -## Process this file with autoconf to produce a configure script. - -AC_PREREQ([2.69]) -AC_INIT([rtems-c-src-lib-libbsp-m68k-mcf5206elite-tools],[_RTEMS_VERSION],[https://devel.rtems.org/newticket]) -RTEMS_TOP(../../../../../../..) -RTEMS_SOURCE_TOP -RTEMS_BUILD_TOP - -AM_INIT_AUTOMAKE([no-define foreign subdir-objects 1.12.2]) -AM_MAINTAINER_MODE - -RTEMS_ENV_RTEMSBSP - -RTEMS_PROJECT_ROOT -RTEMS_TOOLPATHS - -# Explicitly list all Makefiles here -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/tools/runtest b/c/src/lib/libbsp/m68k/mcf5206elite/tools/runtest deleted file mode 100644 index 0e814b2c1b..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5206elite/tools/runtest +++ /dev/null @@ -1,351 +0,0 @@ -#! /bin/sh -p -# -# Run rtems tests on the Motorola MCF5206eLITE Coldfire Evaluation board -# using gdb configured with P&E Micro Background Debug Mode debugging -# interface. -# -# This program generates a gdb script to run each test, intercept -# serial port output and put log into output file. -# -# Author: Victor V. Vengerov -# Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia -# -# Partially based on runtest script for powerpc psim. -# -# COPYRIGHT (c) 1989-1999. -# On-Line Applications Research Corporation (OAR). -# -# The license and distribution terms for this file may be -# found in the file LICENSE in this distribution or at -# http://www.rtems.org/license/LICENSE. -# - -# progname=`basename $0` -progname=${0##*/} # fast basename hack for ksh, bash - -USAGE=\ -"usage: $progname [ -opts ] test [ test ... ] - -s ttydevice -- specify serial device to be used to capture test - output - -r baud -- set serial port baud rate (19200 by default) - -b bdmdevice -- specify BDM device to be used to control the target - -g gdbname -- specify name of gdb program to be used - -v -- verbose output - -d -- don't remove temporary files (for debugging only) - -i -- use interrupt driven console I/O when test is running - (many tests failed when interrupt driven console - input/output is used due undetermenistic tests - behaviour) - -p -- use termios poll console I/O - -l logdir -- specify log directory (default is 'logdir') - - Specify test as 'test' or 'test.exe'. - All multiprocessing tests *must* be specified simply as 'mp01', etc. -" - -# export everything -set -a - -# log an error to stderr -prerr() -{ - echo "$*" >&2 -} - -fatal() { - [ "$1" ] && prerr $* - prerr "$USAGE" - exit 1 -} - -warn() { - [ "$1" ] && prerr $* -} - -# run at normal and signalled exit -test_exit() -{ - exit_code=$1 - - rm -f ${logfile}.tmp* - [ "$gdb_pid" ] && kill -9 $gdb_pid - [ "$serial_pid" ] && kill -9 $serial_pid - - exit $exit_code -} - -# -# process the options -# -# defaults for getopt vars -# -# max_run_time is defaulted to 5 minutes -# - -verbose="" -serial_device=/dev/ttyS0 -bdm_device=/dev/bdmcf0 -gdbprog=true -for i in rtems bdm-rtems bdm bdm-elf bdm-coff ; do - if m68k-$i-gdb --version > /dev/null 2>&1 ; then - gdbprog=m68k-$i-gdb ; - break ; - fi -done -logdir=log -max_run_time=$((5 * 60)) -sizeof_ram=$((1 * 1024 * 1024)) -debugging="no" -baudrate="19200" -console_mode=0 - -while getopts vdips:r:b:l: OPT -do - case "$OPT" in - v) - verbose="yes";; - d) - debugging="yes";; - s) - serial_device="$OPTARG";; - r) - baudrate="$OPTARG";; - b) - bdm_device="$OPTARG";; - l) - logdir="$OPTARG";; - s) - gdbprog="$OPTARG";; - p) - console_mode=1;; - i) - console_mode=2;; - *) - fatal;; - esac -done - -let $((shiftcount = $OPTIND - 1)) -shift $shiftcount - -args=$* - -# -# Run the tests -# - -tests="$args" -if [ ! "$tests" ] -then - set -- `echo *.exe` - tests="$*" -fi - -[ -d $logdir ] || - mkdir $logdir || fatal "could not create log directory ($logdir)" - -# where the tmp files go -trap "test_exit" 1 2 3 13 14 15 - -for tfile in $tests -do - - tname=`basename $tfile .exe` - cpus="1" - TEST_TYPE="single" - - case "$tname" in - # size is no longer interactive. - capture* | monitor* | termios* | fileio* | pppd*) - warn "Skipping $tname; it is interactive" - continue - ;; - *-node2*) - warn "Skipping $tname; 'runtest' runs both nodes when for *-node1" - continue - ;; - *-node1*) - warn "Running both nodes associated with $tname" - tname=`echo $tname | sed 's/-node.*//'` - TEST_TYPE="mp" - ;; - minimum*|stackchk*|*fatal*|malloctest*) - continue - ;; - esac - - if [ "$TEST_TYPE" = "mp" ] ; then - fatal "MP tests not supported for this board" - fi - - if [ $TEST_TYPE = "single" ] ; then - logfile=$logdir/${tname} - infofile=${logfile}.info - scriptfile=${logfile}.ss - gdblogfile=${logfile}.gdb - - rm -f ${logfile}.tmp* - - date=`date` - echo "Starting $tname at $date" - - # Set serial port parameters - if ! stty -F ${serial_device} raw cs8 -cstopb cread crtscts \ - ispeed ${baudrate} ospeed ${baudrate} \ - > /dev/null 2> /dev/null ; then - fatal "Serial port couldn't be configured" - fi - - # Flush serial port - cat ${serial_device} > /dev/null & - serial_pid=$! - sleep 1s - kill ${serial_pid} - - # Capture serial port - cat ${serial_device} > $logfile & - serial_pid=$! - - cat > "${scriptfile}" < "${gdblogfile}" 2>&1 & - gdb_pid=$! - { - time_run=0 - while [ $time_run -lt $max_run_time ] ; do - sleep 10s - if kill -0 $gdb_pid 2> /dev/null ; then - time_run=$((time_run+10)) ; - else - exit 0 - fi - done - kill -2 $serial_pid 2> /dev/null - kill -2 $gdb_pid 2> /dev/null - { - sleep 5s ; - if kill -0 $gdb_pid 2> /dev/null ; then - kill -9 $gdb_pid 2> /dev/null ; - fi - if kill -0 $serial_pid 2> /dev/null ; then - kill -9 $serial_pid 2> /dev/null ; - fi - } & - } & - wait $gdb_pid - gdb_status=$? - { - if kill -0 $serial_pid 2> /dev/null ; then - kill $serial_pid 2> /dev/null ; - fi - sleep 5s ; - if kill -0 $serial_pid 2> /dev/null ; then - kill -9 $serial_pid 2> /dev/null ; - fi - } & - if [ $gdb_status -ge 128 ] ; then - ran_too_long="yes" ; - else - ran_too_long="no" - fi - if [ $gdb_status -ne 0 ] ; then - test_failed="yes" ; - else - test_failed="no" - fi - gdb_pid="" - serial_pid="" - fi - - # Create the info files - { - echo "$date" - echo "Test run on: `uname -n`" - echo "Host Information:" - echo `uname -a` - echo - echo "Serial port: ${serial_device}" - echo "Baud rate: ${baudrate}" - echo "BDM port: ${bdm_device}" - echo "gdb: `type -path ${gdbprog}`" - - cat ${logfile} - - if [ "$test_failed" = "yes" ] ; then - echo -e "\\n\\nTest did not finish normally" - if [ "$ran_too_long" = "yes" ] ; then - echo "Test killed after $max_run_time seconds" - fi - fi - - echo - date; - } > ${infofile} - if [ "${debugging}" = "no" ] ; then - rm -f ${scriptfile} - rm -f ${gdblogfile} - fi -done - -echo "Tests completed at " `date` -test_exit 0 -- cgit v1.2.3