Load $STATE/defaults if it exists.
(selfexec): Use $0.
(apply_patch): Handle deletions.
(bootntest): Handle default settings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132974
138bc75d-0d04-0410-961f-
82ee72b054a4
+2008-03-06 Tom Tromey <tromey@redhat.com>
+
+ * patch_tester.sh (usage): Watermark is not lexicographic.
+ Load $STATE/defaults if it exists.
+ (selfexec): Use $0.
+ (apply_patch): Handle deletions.
+ (bootntest): Handle default settings.
+
2008-03-05 Jakub Jelinek <jakub@redhat.com>
* gennews (files): Reference GCC 4.3 web pages.
2008-03-05 Jakub Jelinek <jakub@redhat.com>
* gennews (files): Reference GCC 4.3 web pages.
#!/bin/sh
# Tests a set of patches from a directory.
#!/bin/sh
# Tests a set of patches from a directory.
-# Copyright (C) 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008 Free Software Foundation, Inc.
# Contributed by Sebastian Pop <sebastian.pop@amd.com>
# This program is free software; you can redistribute it and/or modify
# Contributed by Sebastian Pop <sebastian.pop@amd.com>
# This program is free software; you can redistribute it and/or modify
PATCHES_DIR. Default is ${default_standby} minutes.
WATERMARK is the 5 minute average system charge under which a new
PATCHES_DIR. Default is ${default_standby} minutes.
WATERMARK is the 5 minute average system charge under which a new
- compile can start. Default is ${default_watermark}. Note that the comparison
- is done in lexicographical order, so don't forget the leading 0.
+ compile can start. Default is ${default_watermark}.
SAVECOMPILERS copies the compilers in the same directory as the
test results for the non patched version. Default is not copy.
SAVECOMPILERS copies the compilers in the same directory as the
test results for the non patched version. Default is not copy.
svn -q co svn://gcc.gnu.org/svn/gcc/trunk .
}
svn -q co svn://gcc.gnu.org/svn/gcc/trunk .
}
+# This can contain required local settings:
+# default_config configure options, always passed
+# default_make make bootstrap options, always passed
+# default_check make check options, always passed
+[ -f $STATE/defaults ] && . $STATE/defaults
+
VERSION=`svn info $SOURCE | grep "^Revision:" | sed -e "s/^Revision://g" -e "s/ //g"`
exec >> $STATE/tester.log 2>&1 || exit 1
VERSION=`svn info $SOURCE | grep "^Revision:" | sed -e "s/^Revision://g" -e "s/ //g"`
exec >> $STATE/tester.log 2>&1 || exit 1
- exec ${CONFIG_SHELL-/bin/sh} $SOURCE/contrib/patch_tester.sh $args
+ exec ${CONFIG_SHELL-/bin/sh} $0 $args
+
+ # Just assume indexes for now -- not really great, but svn always
+ # makes them.
+ grep "^Index: " $PATCH | sed -e 's/Index: //' | while read file; do
+ # If the patch resulted in an empty file, delete it.
+ # This is how svn reports deletions.
+ if [ ! -s $file ]; then
+ rm -f $file
+ report "Deleting empty file $file"
+ fi
+ done
cd $BUILD
CONFIG_OPTIONS=`grep "^configure:" $PATCH | sed -e "s/^configure://g"`
cd $BUILD
CONFIG_OPTIONS=`grep "^configure:" $PATCH | sed -e "s/^configure://g"`
+ CONFIG_OPTIONS="$default_config $CONFIG_OPTIONS"
if ! $SOURCE/configure $CONFIG_OPTIONS &> $1/configure ; then
report "configure failed with:"
freport $1/configure
return 1
fi
if ! $SOURCE/configure $CONFIG_OPTIONS &> $1/configure ; then
report "configure failed with:"
freport $1/configure
return 1
fi
- if ! make $dashj `grep "^make:" $PATCH | sed -e "s/^make://g"` bootstrap &> $1/bootstrap ; then
+ MAKE_ARGS=`grep "^make:" $PATCH | sed -e "s/^make://g"`
+ MAKE_ARGS="$default_make $MAKE_ARGS"
+ if ! make $dashj $MAKE_ARGS bootstrap &> $1/bootstrap ; then
report "bootstrap failed with last lines:"
tail -30 $1/bootstrap > $1/last_bootstrap
freport $1/last_bootstrap
report "bootstrap failed with last lines:"
tail -30 $1/bootstrap > $1/last_bootstrap
freport $1/last_bootstrap
fi
CHECK_OPTIONS=`grep "^check:" $PATCH | sed -e "s/^check://g"`
fi
CHECK_OPTIONS=`grep "^check:" $PATCH | sed -e "s/^check://g"`
+ CHECK_OPTIONS="$default_check $CHECK_OPTIONS"
make $dashj $CHECK_OPTIONS -k check &> $1/check
for LOG in $TESTLOGS ; do
make $dashj $CHECK_OPTIONS -k check &> $1/check
for LOG in $TESTLOGS ; do