From 9b8baa128b4e7d0696f9ad995927cf2e5162649f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 23 Mar 1999 18:02:17 +0000 Subject: Automake II patch from Ralf Corsepius . Email description follows: Description: * automake for *all* tool subdirectories (Makefile.am, configure.in etc.) * autogen now also considers CONFIG_HEADER (generates stamp-h.ins and config.h.ins) * c/src/tests/tools/generic/difftest and c/src/tests/tools/generic/sorttimes generated by configure scripts * c/update-tools/ampolish, beautifier for Makefile.ams, similar to acpolish * rtems-polish.sh added to c/update-tools/ + ampolish support * New subdirectory ./automake, contains automake -Makefile fragments to support RTEMS make "debug, debug_install, profile, profile_install" for native Makefile.ams (== ignore these make targets). * aclocal/rtems-top.m4's RTEMS_TOP now reads the automake makefile variable VERSION from RTEMS ./VERSION file. * ./configure.in uses the macros from aclocal + support for the tools' configure scripts Remarks: * To run rtems-polish.sh, "cd ; ./c/update-tools/rtems-polish.sh" * AFAIS, now all native subdirectories are converted to automake (Please drop me a note, if I forgot something). * Unless you notice something fatal, IMO the time has come for a public try (== snapshot). I do not intend to send more automake related patches within, say 2 weeks, to give these patches time to settle and to give me some time to think on how to continue. * The patch assumes installation to the new main installation directory [$(prefix)]. --- testsuites/tools/generic/difftest.in | 115 ++++++++++++++++++++ testsuites/tools/generic/sorttimes.in | 194 ++++++++++++++++++++++++++++++++++ 2 files changed, 309 insertions(+) create mode 100644 testsuites/tools/generic/difftest.in create mode 100644 testsuites/tools/generic/sorttimes.in (limited to 'testsuites/tools') diff --git a/testsuites/tools/generic/difftest.in b/testsuites/tools/generic/difftest.in new file mode 100644 index 0000000000..83edae907b --- /dev/null +++ b/testsuites/tools/generic/difftest.in @@ -0,0 +1,115 @@ +#!@KSH@ -p +# +# Check test results against official output from the src tree +# +# $Id$ +# + +# XXX: do not run size.exe with this; it asks questions we don't answer + +# how to do arith in bash +# i=$((i * 2)) +# b=$((b + 1)) + +# progname=`basename $0` +progname=${0##*/} # fast basename hack for ksh, bash + +USAGE=\ +"usage: $progname [ -opts ] test [ test ... ] + -v -- verbose + -l logdir -- specify log directory (default is 'logdir') +" + +# log an error to stderr +prerr() +{ + echo "$*" >&2 +} + +fatal() { + [ "$1" ] && prerr $* + prerr "$USAGE" + exit 1 +} + +warn() { + [ "$1" ] && prerr $* +} + +# +# process the options +# +# defaults for getopt vars +# + +verbose="" +logdir=log + +while getopts v12o:l: OPT +do + case "$OPT" in + v) + verbose="yes";; + l) + logdir="$OPTARG";; + *) + fatal;; + esac +done +shiftcount=`expr $OPTIND - 1` +shift $shiftcount + +args=$* + +# +# Run the tests +# + +test -d $logdir || fatal "No log directory: ./$logdir" + +tests="$args" +if [ ! "$tests" ] +then + cd $logdir + set -- `ls -1 sp* mp??_? psx* sp*_g mp*_?_g psx*_g 2>/dev/null | grep -v info` + cd .. + tests="$*" +fi + +for t in $tests +do + logfile=$t + + if [ ! -f $logdir/$logfile ] + then + continue + fi + + echo $logfile + echo + + case $t in + mp*) + mptest=`echo $t | sed 's/_.//'` + node=`echo $t | sed 's/...._//'` + tmp_scn_file=mptests/node$node/$mptest.scn;; + sp*) + tmp_scn_file=sptests/$t.scn;; + psx*) + tmp_scn_file=psxtests/$t.scn;; + *) + fatal "unknown test $t";; + esac + + scn_file=`echo $tmp_scn_file | sed -e s/_g//` + sed -e '/^$/d' < $logdir/$logfile | diff -b screens/$scn_file - + echo + echo +done + +exit 0 + +# Local Variables: *** +# mode:ksh *** +# End: *** + diff --git a/testsuites/tools/generic/sorttimes.in b/testsuites/tools/generic/sorttimes.in new file mode 100644 index 0000000000..594ae4397d --- /dev/null +++ b/testsuites/tools/generic/sorttimes.in @@ -0,0 +1,194 @@ +#!@KSH@ -p +# +# This script takes the output from the Timing Test Suite, reorders +# it, and adds headers so it is in the same order as is printed in +# the supplement. +# +# $Id$ +# + +usage() +{ + echo "${progname} file [more files]" +} + +header() +{ + echo + echo $* + echo +} + +lookup() +{ + grep "$*" $files + +} + +progname=$0 + +if [ $# -eq 0 ] ; then + usage + exit 0 +fi + +files=$* + +header Context Switch +lookup context switch: self +lookup context switch: to another task +lookup context switch: no floating point contexts +lookup fp context switch: restore 1st FP task +lookup fp context switch: save initialized, restore initialized +lookup fp context switch: save idle, restore initialized +lookup fp context switch: save idle, restore idle + +header Task Manager +lookup rtems_task_create +lookup rtems_task_ident +lookup rtems_task_start +lookup rtems_task_restart: calling task +lookup rtems_task_restart: suspended task -- returns to caller +lookup rtems_task_restart: blocked task -- returns to caller +lookup rtems_task_restart: ready task -- returns to caller +lookup rtems_task_restart: suspended task -- preempts caller +lookup rtems_task_restart: blocked task -- preempts caller +lookup rtems_task_restart: ready task -- preempts caller +lookup rtems_task_delete: calling task +lookup rtems_task_delete: suspended task +lookup rtems_task_delete: blocked task +lookup rtems_task_delete: ready task +lookup rtems_task_suspend: calling task +lookup rtems_task_suspend: returns to caller +lookup rtems_task_resume: task readied -- returns to caller +lookup rtems_task_resume: task readied -- preempts caller +lookup rtems_task_set_priority: obtain current priority +lookup rtems_task_set_priority: returns to caller +lookup rtems_task_set_priority: preempts caller +lookup rtems_task_mode: obtain current mode +lookup rtems_task_mode: no reschedule +lookup rtems_task_mode: reschedule -- returns to caller +lookup rtems_task_mode: reschedule -- preempts caller +lookup rtems_task_get_note +lookup rtems_task_set_note +lookup rtems_task_wake_after: yield -- returns to caller +lookup rtems_task_wake_after: yields -- preempts caller +lookup rtems_task_wake_when + +header Interrupt Manager +lookup interrupt entry overhead: returns to nested interrupt +lookup interrupt entry overhead: returns to interrupted task +lookup interrupt entry overhead: returns to preempting task +lookup interrupt exit overhead: returns to nested interrupt +lookup interrupt exit overhead: returns to interrupted task +lookup interrupt exit overhead: returns to preempting task + +header Clock Manager +lookup rtems_clock_set +lookup rtems_clock_get +lookup rtems_clock_tick + +header Timer Manager +lookup rtems_timer_create +lookup rtems_timer_ident +lookup rtems_timer_delete: inactive +lookup rtems_timer_delete: active +lookup rtems_timer_fire_after: inactive +lookup rtems_timer_fire_after: active +lookup rtems_timer_fire_when: inactive +lookup rtems_timer_fire_when: active +lookup rtems_timer_reset: inactive +lookup rtems_timer_reset: active +lookup rtems_timer_cancel: inactive +lookup rtems_timer_cancel: active + +header Semaphore Manager +lookup rtems_semaphore_create +lookup rtems_semaphore_ident +lookup rtems_semaphore_delete +lookup rtems_semaphore_obtain: available +lookup rtems_semaphore_obtain: not available -- NO_WAIT +lookup rtems_semaphore_obtain: not available -- caller blocks +lookup rtems_semaphore_release: no waiting tasks +lookup rtems_semaphore_release: task readied -- returns to caller +lookup rtems_semaphore_release: task readied -- preempts caller + +header Message Queue Manager +lookup rtems_message_queue_create +lookup rtems_message_queue_ident +lookup rtems_message_queue_delete +lookup rtems_message_queue_send: no waiting tasks +lookup rtems_message_queue_send: task readied -- returns to caller +lookup rtems_message_queue_send: task readied -- preempts caller +lookup rtems_message_queue_urgent: no waiting tasks +lookup rtems_message_queue_urgent: task readied -- returns to caller +lookup rtems_message_queue_urgent: task readied -- preempts caller +lookup rtems_message_queue_broadcast: no waiting tasks +lookup rtems_message_queue_broadcast: task readied -- returns to caller +lookup rtems_message_queue_broadcast: task readied -- preempts caller +lookup rtems_message_queue_receive: available +lookup rtems_message_queue_receive: not available -- NO_WAIT +lookup rtems_message_queue_receive: not available -- caller blocks +lookup rtems_message_queue_flush: no messages flushed +lookup rtems_message_queue_flush: messages flushed + +header Event Manager +lookup rtems_event_send: no task readied +lookup rtems_event_send: task readied -- returns to caller +lookup rtems_event_send: task readied -- preempts caller +lookup rtems_event_receive: obtain current events +lookup rtems_event_receive: available +lookup rtems_event_receive: not available -- NO_WAIT +lookup rtems_event_receive: not available -- caller blocks + +header Signal Manager +lookup rtems_signal_catch +lookup rtems_signal_send: returns to caller +lookup rtems_signal_send: signal to self +lookup exit ASR overhead: returns to calling task +lookup exit ASR overhead: returns to preempting task + +header Partition Manager +lookup rtems_partition_create +lookup rtems_partition_ident +lookup rtems_partition_delete +lookup rtems_partition_get_buffer: available +lookup rtems_partition_get_buffer: not available +lookup rtems_partition_return_buffer + +header Region Manager +lookup rtems_region_create +lookup rtems_region_ident +lookup rtems_region_delete +lookup rtems_region_get_segment: available +lookup rtems_region_get_segment: not available -- NO_WAIT +lookup rtems_region_get_segment: not available -- caller blocks +lookup rtems_region_return_segment: no waiting tasks +lookup rtems_region_return_segment: task readied -- returns to caller +lookup rtems_region_return_segment: task readied -- preempts caller + +header Dual-Ported Memory Manager +lookup rtems_port_create +lookup rtems_port_ident +lookup rtems_port_delete +lookup rtems_port_internal_to_external +lookup rtems_port_external_to_internal + +header IO Manager +lookup rtems_io_initialize +lookup rtems_io_open +lookup rtems_io_close +lookup rtems_io_read +lookup rtems_io_write +lookup rtems_io_control + +header Rate Monotonic Manager +lookup rtems_rate_monotonic_create +lookup rtems_rate_monotonic_ident +lookup rtems_rate_monotonic_cancel +lookup rtems_rate_monotonic_delete: active +lookup rtems_rate_monotonic_delete: inactive +lookup rtems_rate_monotonic_period: obtain status +lookup rtems_rate_monotonic_period: initiate period -- returns to caller +lookup rtems_rate_monotonic_period: conclude periods -- caller blocks +exit 0 -- cgit v1.2.3