home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume24 / untic / untic.tst < prev   
Text File  |  1991-06-05  |  2KB  |  74 lines

  1. # List of file comes from stdin
  2. # Get list with "find /usr/lib/terminfo -type f -print | sort > tlist"
  3. #
  4. # Written by: Joe Wasik, Unix/C Reusable Code Library
  5. #          jcwasik@clib.PacBell.COM
  6. #
  7. # This compares the output of "infocmp" with "untic" for all files in the
  8. # terminfo library.  If this does not report major problems, then "untic"
  9. # is in working order for your machine.
  10. #
  11. # Of course, if you can run this script, then you have infocmp, and really
  12. # don't need this program.
  13. #
  14. # Use this lib as input
  15. TERMINFO=/usr/lib/terminfo
  16. # Put temp files here
  17. TMP=/tmp/untic$$
  18. # Remove all temp files
  19. trap "rm -f ${TMP} ${TMP}a infocmp.fil untic.fil; exit" 0 1 2 3
  20. # Create check file
  21. >${TMP}
  22. # Read through each entry
  23. while read FILEPATH
  24. do
  25.     # get filename part
  26.     BASENAME=`basename $FILEPATH`
  27.     # tell user where we are
  28.     echo FILE:$BASENAME '\c'
  29.     # create file as base for comparison
  30.     /usr/bin/infocmp $BASENAME > ${TMP}a
  31.     if [ $? -ne 0 ]
  32.     then
  33.     echo "infocmp failed"
  34.     continue 
  35.     fi
  36.     # get line 1 from infocmp file
  37.     LINE1=`cat ${TMP}a | line`
  38.     # get item1 from line1 from infocmp file
  39.     TERM=`echo $LINE1 | cut -f1 -d\|`
  40.     # tell user term name
  41.     echo TERM:$TERM '\c'
  42.     # see if already checked
  43.     grep "^$TERM$" ${TMP} > /dev/null 2>&1
  44.     if [ $? -eq 0 ]
  45.     then
  46.     echo 'already checked'
  47.     continue
  48.     fi
  49.     # tell user this is a new one
  50.     echo 'checking...'
  51.     # write new term to checked list
  52.     echo $TERM >> $TMP
  53.     # from infocmp file, convert all entries to multi-line sorted
  54.     # with no spaces or tabs.
  55.     cat ${TMP}a | 
  56.     sed -e 's/,/\
  57.     /g' -e 's/[     ]//g' | sed -e '/^$/d' | sort > infocmp.fil
  58.     # do same with untic output as we did with infocmp output
  59.     ./untic $BASENAME | 
  60.     sed -e 's/,/\
  61.     /g' -e 's/[     ]//g' | sed -e '/^$/d' | sort > untic.fil
  62.     if [ $? -ne 0 ]
  63.     then
  64.     echo "untic failed"
  65.     continue 
  66.     fi
  67.     # do comparison -- allow diff to write to standard out
  68.     diff infocmp.fil untic.fil
  69. done
  70. echo
  71. echo "-- done --"
  72. exit 0
  73. # @(#)untic.tst    UCLID 1.1
  74.