|
Packit |
6f02de |
#!/bin/sh
|
|
Packit |
6f02de |
#
|
|
Packit |
6f02de |
# Add2TestDB -- add the current test to the lsof test suite DB
|
|
Packit |
6f02de |
#
|
|
Packit |
6f02de |
# This script saves the current TestDB file in TestDB.old and adds
|
|
Packit |
6f02de |
# the words in config.cflags to it. "-D" prefixes on the words are
|
|
Packit |
6f02de |
# removed, the words are sorted, and they are joint in a single
|
|
Packit |
6f02de |
# line that is catenated to TestDB if it isn't already there.
|
|
Packit |
6f02de |
#
|
|
Packit |
6f02de |
# $Id: Add2TestDB,v 1.3 2015/07/07 20:22:07 abe Exp $
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
# Check for config.flags.
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
if test ! -r config.cflags
|
|
Packit |
6f02de |
then
|
|
Packit |
6f02de |
echo "$0: no ./config.cflags file"
|
|
Packit |
6f02de |
exit 1
|
|
Packit |
6f02de |
fi
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
# Check for a current data base file.
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
if test ! -r TestDB
|
|
Packit |
6f02de |
then
|
|
Packit |
6f02de |
echo "$0: no ./TestDB file"
|
|
Packit |
6f02de |
exit 1
|
|
Packit |
6f02de |
fi
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
# Form a new data base line.
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
new=""
|
|
Packit |
6f02de |
for i in `LC_ALL=C sort < config.cflags`
|
|
Packit |
6f02de |
do
|
|
Packit |
6f02de |
w=`echo $i | sed 's/^-D//'`
|
|
Packit |
6f02de |
if test "X$new" = "X"
|
|
Packit |
6f02de |
then
|
|
Packit |
6f02de |
new=$w
|
|
Packit |
6f02de |
else
|
|
Packit |
6f02de |
new="$new $w"
|
|
Packit |
6f02de |
fi
|
|
Packit |
6f02de |
done
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
# See if the new line is already in the data base.
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
grep "$new" TestDB > /dev/null 2>&1
|
|
Packit |
6f02de |
if test $? -eq 0
|
|
Packit |
6f02de |
then
|
|
Packit |
6f02de |
echo "\"$new\" is already in TestDB."
|
|
Packit |
6f02de |
exit 1
|
|
Packit |
6f02de |
fi
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
# Build a new data base file.
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
if test ! -w TestDB
|
|
Packit |
6f02de |
then
|
|
Packit |
6f02de |
echo "$0: can't write the following to the end of TestDB:"
|
|
Packit |
6f02de |
echo " \"$new\""
|
|
Packit |
6f02de |
exit 1
|
|
Packit |
6f02de |
fi
|
|
Packit |
6f02de |
rm -f TestDB.new
|
|
Packit |
6f02de |
cp TestDB TestDB.new
|
|
Packit |
6f02de |
chmod 644 TestDB.new
|
|
Packit |
6f02de |
echo "$new" >> TestDB.new
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
# Archive the current data base file, if possible.
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
if test -d OLD
|
|
Packit |
6f02de |
then
|
|
Packit |
6f02de |
dt=`date`
|
|
Packit |
6f02de |
dtm="========== $dt =========="
|
|
Packit |
6f02de |
if test -r OLD/TestDB
|
|
Packit |
6f02de |
then
|
|
Packit |
6f02de |
echo "$dtm" >> OLD/TestDB
|
|
Packit |
6f02de |
else
|
|
Packit |
6f02de |
echo "$dtm" > OLD/TestDB
|
|
Packit |
6f02de |
fi
|
|
Packit |
6f02de |
cat TestDB >> OLD/TestDB
|
|
Packit |
6f02de |
fi
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
# Put the new data base file in place.
|
|
Packit |
6f02de |
|
|
Packit |
6f02de |
mv TestDB.new TestDB
|
|
Packit |
6f02de |
echo "\"$new\" added to TestDB."
|
|
Packit |
6f02de |
exit 0
|