home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gawk-2.15.6-src.tgz / tar.out / fsf / gawk / test / Makefile < prev    next >
Makefile  |  1996-09-28  |  5KB  |  187 lines

  1. # Makefile for GNU Awk test suite.
  2. #
  3. # Copyright (C) 1988-1995 the Free Software Foundation, Inc.
  4. # This file is part of GAWK, the GNU implementation of the
  5. # AWK Progamming Language.
  6. # GAWK is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # (at your option) any later version.
  10. # GAWK is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. # GNU General Public License for more details.
  14. # You should have received a copy of the GNU General Public License
  15. # along with GAWK; see the file COPYING.  If not, write to
  16. # the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. SHELL = /bin/sh
  19. #COMPARE = cmp
  20. COMPARE = diff
  21.  
  22. bigtest:    basic poundbang gawk.extensions
  23.  
  24. basic:    msg swaplns messages argarray longwrds \
  25.     getline fstabplus compare arrayref rs fsrs rand \
  26.     fsbs negexp asgext anchgsub splitargv awkpath nfset reparse \
  27.     convfmt arrayparm paramdup nonl
  28.  
  29. gawk.extensions: fieldwdth ignrcase posix manyfiles igncfs argtest \
  30.         badargs
  31.  
  32. extra:    regtest inftest
  33.  
  34. poundbang::
  35.     cp ../gawk /tmp && chmod +x poundbang && ./poundbang poundbang >tmp
  36.     rm -f /tmp/gawk
  37.     -$(COMPARE) poundbang.good tmp && rm -f tmp
  38.  
  39. msg::
  40.     @echo 'Any output from "cmp" is bad news, although some differences'
  41.     @echo 'in floating point values are probably benign -- in particular,'
  42.     @echo 'some systems may omit a leading zero and the floating point'
  43.     @echo 'precision may lead to slightly different output in a few cases.'
  44.  
  45. swaplns::
  46.     @../gawk -f swaplns.awk data >tmp
  47.     -$(COMPARE) swaplns.good tmp && rm -f tmp
  48.  
  49. messages::
  50.     @../gawk -f messages.awk >out2 2>out3
  51.     { cmp out1.good out1 && cmp out2.good out2 && cmp out3.good out3 && rm -f out1 out2 out3; } || { test -d /dev/fd && echo IT IS OK THAT THIS TEST FAILED; }
  52.  
  53. argarray::
  54.     @TEST=test echo just a test | ../gawk -f argarray.awk argarray.awk - >tmp
  55.     -$(COMPARE) argarray.good tmp && rm -f tmp
  56.  
  57. fstabplus::
  58.     @echo '1        2' | ../gawk -f fstabplus >tmp
  59.     -$(COMPARE) fstabplus.good tmp && rm -f tmp
  60.  
  61. fsrs::
  62.     @../gawk -f fsrs.awk fsrs.in >tmp
  63.     -$(COMPARE) fsrs.good tmp && rm -f tmp
  64.  
  65. igncfs::
  66.     @../gawk -f igncfs.awk igncfs.in >tmp
  67.     -$(COMPARE) igncfs.good tmp && rm -f tmp
  68.  
  69. longwrds::
  70.     @../gawk -f longwrds.awk manpage | sort >tmp
  71.     -$(COMPARE) longwrds.good tmp && rm -f tmp
  72.  
  73. fieldwdth::
  74.     @echo '123456789' | ../gawk -v FIELDWIDTHS="2 3 4" '{ print $$2}' >tmp
  75.     -$(COMPARE) fieldwdth.good tmp && rm -f tmp
  76.  
  77. ignrcase::
  78.     @echo xYz | ../gawk -v IGNORECASE=1 '{ sub(/y/, ""); print}' >tmp
  79.     -$(COMPARE) ignrcase.good tmp && rm -f tmp
  80.  
  81. regtest::
  82.     @echo 'Some of the output from regtest is very system specific, do not'
  83.     @echo 'be distressed if your output differs from that distributed.'
  84.     @echo 'Manual inspection is called for.'
  85.     AWK=`pwd`/../gawk ./regtest
  86.  
  87. posix::
  88.     @echo '1:2,3 4' | ../gawk -f posix >tmp
  89.     -$(COMPARE) posix.good tmp && rm -f tmp
  90.  
  91. manyfiles::
  92.     @rm -rf junk
  93.     @mkdir junk
  94.     @../gawk 'BEGIN { for (i = 1; i <= 300; i++) print i, i}' >tmp
  95.     @../gawk -f manyfiles.awk tmp tmp
  96.     @echo "This number better be 1 ->" | tr -d '\012'
  97.     @wc -l junk/* | ../gawk '$$1 != 2' | wc -l
  98.     @rm -rf junk tmp
  99.  
  100. compare::
  101.     @../gawk -f compare.awk 0 1 compare.in >tmp
  102.     -$(COMPARE) compare.good tmp && rm -f tmp
  103.  
  104. arrayref::
  105.     @../gawk -f arrayref >tmp
  106.     -$(COMPARE) arrayref.good tmp && rm -f tmp
  107.  
  108. rs::
  109.     @../gawk -v RS="" '{ print $$1, $$2}' rs.data >tmp
  110.     -$(COMPARE) rs.good tmp && rm -f tmp
  111.  
  112. fsbs::
  113.     @../gawk -v FS='\' '{ print $$1, $$2 }' fsbs.in >tmp
  114.     -$(COMPARE) fsbs.good tmp && rm -f tmp
  115.  
  116. inftest::
  117.     @echo This test is very machine specific...
  118.     @../gawk -f inftest.awk >tmp
  119.     -$(COMPARE) inftest.good tmp && rm -f tmp
  120.  
  121. getline::
  122.     @../gawk -f getline.awk getline.awk getline.awk >tmp
  123.     -$(COMPARE) getline.good tmp && rm -f tmp
  124.  
  125. rand::
  126.     @echo The following line should just be 19 random numbers between 1 and 100
  127.     @../gawk -f rand.awk
  128.  
  129. negexp::
  130.     @../gawk 'BEGIN { a = -2; print 10^a }' >tmp
  131.     cmp negexp.good tmp && rm -f tmp
  132.  
  133. asgext::
  134.     @../gawk -f asgext.awk asgext.in >tmp
  135.     cmp asgext.good tmp && rm -f tmp
  136.  
  137. anchgsub::
  138.     @../gawk -f anchgsub.awk anchgsub.in >tmp
  139.     cmp anchgsub.good tmp && rm -f tmp
  140.  
  141. splitargv::
  142.     @../gawk -f splitargv.awk splitargv.in >tmp
  143.     cmp splitargv.good tmp && rm -f tmp
  144.  
  145. awkpath::
  146. #    @AWKPATH=".:lib" ../gawk -f awkpath.awk >tmp
  147. #    cmp awkpath.good tmp && rm -f tmp
  148.  
  149. nfset::
  150.     @../gawk -f nfset.awk nfset.in >tmp
  151.     cmp nfset.good tmp && rm -f tmp
  152.  
  153. reparse::
  154.     @../gawk -f reparse.awk reparse.in >tmp
  155.     cmp reparse.good tmp && rm -f tmp
  156.  
  157. argtest::
  158.     @../gawk -f argtest.awk -x -y abc >tmp
  159.     cmp argtest.good tmp && rm -f tmp
  160.  
  161. badargs::
  162.     @-../gawk -f 2>&1 | grep -v patchlevel >tmp
  163.     cmp badargs.good tmp && rm -f tmp
  164.  
  165. convfmt::
  166.     @../gawk -f convfmt.awk >tmp
  167.     cmp convfmt.good tmp && rm -f tmp
  168.  
  169. arrayparm::
  170.     @-../gawk -f arrayparm.awk >tmp 2>&1
  171.     cmp arrayparm.good tmp && rm -f tmp
  172.  
  173. paramdup::
  174.     @-../gawk -f paramdup.awk >tmp 2>&1
  175.     cmp paramdup.good tmp && rm -f tmp
  176.  
  177. nonl::
  178.     @-../gawk --lint -f nonl.awk /dev/null >tmp 2>&1
  179.     cmp nonl.good tmp && rm -f tmp
  180.  
  181. clean:
  182.     rm -fr tmp core junk
  183.