| #!/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 |