| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | 
							- # StarPU --- Runtime system for heterogeneous multicore architectures.
 
- #
 
- # Copyright (C) 2016-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
 
- #
 
- # StarPU is free software; you can redistribute it and/or modify
 
- # it under the terms of the GNU Lesser General Public License as published by
 
- # the Free Software Foundation; either version 2.1 of the License, or (at
 
- # your option) any later version.
 
- #
 
- # StarPU is distributed in the hope that it will be useful, but
 
- # WITHOUT ANY WARRANTY; without even the implied warranty of
 
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
- #
 
- # See the GNU Lesser General Public License in COPYING.LGPL for more details.
 
- #
 
- # This provides a helper function to be used for microbenchs that should be run
 
- # under the various schedulers.
 
- #
 
- # The caller should fill either the XFAIL or XSUCCESS variable with the list of
 
- # schedulers which are supposed to fail or succeed, and then call test_scheds
 
- set -e
 
- # disable core generation
 
- ulimit -c 0
 
- # Testing a specific scheduler
 
- if [ -n "$STARPU_SCHED" ]
 
- then
 
- 	SCHEDS=$STARPU_SCHED
 
- else
 
- 	SCHEDS=`$(dirname $0)/../../tools/starpu_sched_display`
 
- fi
 
- test_scheds()
 
- {
 
- 	TEST=$1
 
- 	shift
 
- 	xfailed=""
 
- 	failed=""
 
- 	pass=""
 
- 	skip=""
 
- 	if [ -n "$STARPU_MIC_SINK_PROGRAM_PATH" ] ; then
 
- 		STARPU_MIC_SINK_PROGRAM_NAME=$STARPU_MIC_SINK_PROGRAM_PATH/$TEST
 
- 		# in case libtool got into play
 
- 		[ -x "$STARPU_MIC_SINK_PROGRAM_PATH/.libs/$TEST" ] && STARPU_MIC_SINK_PROGRAM_NAME=$STARPU_MIC_SINK_PROGRAM_PATH/.libs/$TEST
 
- 	fi
 
- 	RESULT=0
 
- 	for sched in $SCHEDS;
 
- 	do
 
- 	    	set +e
 
- 		STARPU_SCHED=$sched $STARPU_LAUNCH $(dirname $0)/$TEST "$@"
 
- 		ret=$?
 
- 	    	set -e
 
- 		if test $ret = 0
 
- 		then
 
- 		    	echo "SUCCESS: STARPU_SCHED=$sched ./microbenchs/$TEST"
 
- 			pass="$pass $sched"
 
- 			continue
 
- 		fi
 
- 		if test $ret = 77
 
- 		then
 
- 		    	echo "SKIP: STARPU_SCHED=$sched ./microbenchs/$TEST"
 
- 			skip="$skip $sched"
 
- 			continue
 
- 		fi
 
- 		if [ -n "$XSUCCESS" ]
 
- 		then
 
-                         # We have a list of schedulers that are expected to
 
-                         # succeed, others are allowed to fail
 
- 			case " $XSUCCESS " in
 
- 				*\ $sched\ *)
 
- 					echo "FAIL: STARPU_SCHED=$sched ./microbenchs/$TEST" | ( tee /dev/tty || true )
 
- 					failed="$failed $sched"
 
- 					RESULT=1
 
- 					;;
 
- 				*)
 
- 					echo "XFAIL: STARPU_SCHED=$sched ./microbenchs/$TEST"
 
- 					xfailed="$xfailed $sched"
 
- 					;;
 
- 			esac
 
- 		else
 
-                         # We have a list of schedulers that are expected to
 
-                         # fail, others are expected to succeed
 
- 			case " $XFAIL " in
 
- 				*\ $sched\ *)
 
- 					echo "XFAIL: STARPU_SCHED=$sched ./microbenchs/$TEST"
 
- 					xfailed="$xfailed $sched"
 
- 					;;
 
- 				*)
 
- 					echo "FAIL: STARPU_SCHED=$sched ./microbenchs/$TEST" | ( tee /dev/tty || true )
 
- 					failed="$failed $sched"
 
- 					RESULT=1
 
- 					;;
 
- 			esac
 
- 		fi
 
- 	done
 
- 	echo "passed schedulers:$pass"| ( tee /dev/tty || true )
 
- 	echo "skipped schedulers:$skip"| ( tee /dev/tty || true )
 
- 	echo "failed schedulers:$failed"| ( tee /dev/tty || true )
 
- 	echo "xfailed schedulers:$xfailed"| ( tee /dev/tty || true )
 
- 	return $RESULT
 
- }
 
 
  |