summaryrefslogtreecommitdiff
path: root/tests/Add2TestDB
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Add2TestDB')
-rwxr-xr-xtests/Add2TestDB83
1 files changed, 83 insertions, 0 deletions
diff --git a/tests/Add2TestDB b/tests/Add2TestDB
new file mode 100755
index 0000000..48603f9
--- /dev/null
+++ b/tests/Add2TestDB
@@ -0,0 +1,83 @@
+#!/bin/sh
+#
+# Add2TestDB -- add the current test to the lsof test suite DB
+#
+# This script saves the current TestDB file in TestDB.old and adds
+# the words in config.cflags to it. "-D" prefixes on the words are
+# removed, the words are sorted, and they are joint in a single
+# line that is catenated to TestDB if it isn't already there.
+#
+# $Id: Add2TestDB,v 1.2 2002/04/19 11:53:37 abe Exp $
+
+# Check for config.flags.
+
+if test ! -r config.cflags
+then
+ echo "$0: no ./config.cflags file"
+ exit 1
+fi
+
+# Check for a current data base file.
+
+if test ! -r TestDB
+then
+ echo "$0: no ./TestDB file"
+ exit 1
+fi
+
+# Form a new data base line.
+
+new=""
+for i in `sort < config.cflags`
+do
+ w=`echo $i | sed 's/^-D//'`
+ if test "X$new" = "X"
+ then
+ new=$w
+ else
+ new="$new $w"
+ fi
+done
+
+# See if the new line is already in the data base.
+
+grep "$new" TestDB > /dev/null 2>&1
+if test $? -eq 0
+then
+ echo "\"$new\" is already in TestDB."
+ exit 1
+fi
+
+# Build a new data base file.
+
+if test ! -w TestDB
+then
+ echo "$0: can't write the following to the end of TestDB:"
+ echo " \"$new\""
+ exit 1
+fi
+rm -f TestDB.new
+cp TestDB TestDB.new
+chmod 644 TestDB.new
+echo "$new" >> TestDB.new
+
+# Archive the current data base file, if possible.
+
+if test -d OLD
+then
+ dt=`date`
+ dtm="========== $dt =========="
+ if test -r OLD/TestDB
+ then
+ echo "$dtm" >> OLD/TestDB
+ else
+ echo "$dtm" > OLD/TestDB
+ fi
+ cat TestDB >> OLD/TestDB
+fi
+
+# Put the new data base file in place.
+
+mv TestDB.new TestDB
+echo "\"$new\" added to TestDB."
+exit 0