#!/bin/sh

#
# validate -- run all the test scripts
#
# Copyright (c) 1997 University of Southern California.
# All rights reserved.                                            
#                                                                
# Redistribution and use in source and binary forms are permitted
# provided that the above copyright notice and this paragraph are
# duplicated in all such forms and that any documentation, advertising
# materials, and other materials related to such distribution and use
# acknowledge that the software was developed by the University of
# Southern California, Information Sciences Institute.  The name of the
# University may not be used to endorse or promote products derived from
# this software without specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Header: /nfs/jade/vint/CVSROOT/ns-2/validate-full,v 1.1 2001/07/18 17:31:24 kfall Exp $

try () {
	echo "*** $1"
	$1 quiet || {
		any_failed=true
		failed_list="$failed_list $1"
	}
	return $?
}


any_failed=false
failed_list=""

echo "(Validation can take 1-30 hours to run.)"

cd tcl/test

for i in \
simple-full full \
tcp-init-win-full tcpVariants \
ecn-full \
webcache mcache \
oddBehaviors newreno tcpOptions \
# wireless-lan-gaf
# pi

do
	try ./test-all-$i
done

if $any_failed
then
	echo "validate overall report: some tests failed:"
	echo "    $failed_list"
	echo "to re-run a specific test, cd tcl/test; ../../ns test-all-TEST-NAME"
	echo "Notice that some tests in webcache will fail on freebsd when -O is turned on."
	echo "This is due to some event reordering, which will disappear when -g is turned on."
	exit 1
else
	echo "validate overall report: all tests passed"
	exit 0
fi



