Blame tests/Add2TestDB

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