21131319 a few more things could have system-test targets
authorMike Sullivan <Mike.Sullivan@Oracle.COM>
Thu, 21 May 2015 16:35:22 -0700
changeset 4341 10335b2a1e5d
parent 4339 6501cf9c29f9
child 4342 ede611c77414
21131319 a few more things could have system-test targets
components/bison/Makefile
components/bison/test/results-all.master
components/bzip2/Makefile
components/bzip2/patches/Makefile.patch
components/bzip2/test/results-all.master
components/bzip2/test/system-results-all.master
components/make/Makefile
components/make/patches/Makefile.patch
components/make/test/results-64.master
components/make/test/system-results-64.master
components/tcsh/Makefile
components/tcsh/patches/006.tests.patch
--- a/components/bison/Makefile	Thu May 21 13:48:49 2015 -0700
+++ b/components/bison/Makefile	Thu May 21 16:35:22 2015 -0700
@@ -49,12 +49,30 @@
 
 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
 
+# the test suite actually generates a script
+# that runs the just-built bison against the
+# just-built files. to make it run the system
+# one, we can just replace that script with
+# a simpler one
+COMPONENT_PRE_SYSTEM_TEST_ACTION= \
+    (cd $(@D)/tests; mv bison bison.orig; \
+        echo "\#!/bin/bash" > bison; \
+        echo "exec /usr/bin/bison \$$@" >> bison; \
+        chmod +x bison; \
+    )
+
+COMPONENT_POST_SYSTEM_TEST_ACTION= \
+    (cd $(@D)/tests; rm -f bison; mv bison.orig bison)
+
 # Strip compilation lines from test output
 COMPONENT_TEST_TRANSFORMS += \
     '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
     '-e "s|^.*$(CXX).*$$|XXX_CC_XXX|g" ' \
     '-e "s|^.*source=.*libtool=no.*$$|XXX_CC_XXX|g" ' \
     '-e "s|^.*DEPDIR=.deps.*$$|XXX_CC_XXX|g" ' \
+    '-e "s|^config.status: .*$$|XXX_CC_XXX|g" ' \
+    '-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
+    '-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
     '-e "/^XXX_CC_XXX$$/d" '
 
 # Enable ASLR for this component
@@ -71,7 +89,8 @@
 
 test:		$(TEST_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+# we need to first generate the test suite,
+system-test:    build $(SYSTEM_TEST_64)
 
 
 REQUIRED_PACKAGES += developer/macro/gnu-m4
--- a/components/bison/test/results-all.master	Thu May 21 13:48:49 2015 -0700
+++ b/components/bison/test/results-all.master	Thu May 21 16:35:22 2015 -0700
@@ -1,68 +1,33 @@
-make[1]: Entering directory `$(@D)'
 Making check in build-aux
-make[2]: Entering directory `$(@D)/build-aux'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/build-aux'
 Making check in po
-make[2]: Entering directory `$(@D)/po'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/po'
 Making check in runtime-po
-make[2]: Entering directory `$(@D)/runtime-po'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/runtime-po'
 Making check in lib
-make[2]: Entering directory `$(@D)/lib'
 /usr/gnu/bin/make  check-am
-make[3]: Entering directory `$(@D)/lib'
 make[3]: Nothing to be done for `check-am'.
-make[3]: Leaving directory `$(@D)/lib'
-make[2]: Leaving directory `$(@D)/lib'
 Making check in data
-make[2]: Entering directory `$(@D)/data'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/data'
 Making check in src
-make[2]: Entering directory `$(@D)/src'
 /usr/gnu/bin/make  check-am
-make[3]: Entering directory `$(@D)/src'
 make[3]: Nothing to be done for `check-am'.
-make[3]: Leaving directory `$(@D)/src'
-make[2]: Leaving directory `$(@D)/src'
 Making check in doc
-make[2]: Entering directory `$(@D)/doc'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/doc'
 Making check in examples
-make[2]: Entering directory `$(@D)/examples'
 Making check in calc++
-make[3]: Entering directory `$(@D)/examples/calc++'
 /usr/gnu/bin/make  check-am
-make[4]: Entering directory `$(@D)/examples/calc++'
 /usr/gnu/bin/make  calc++
-make[5]: Entering directory `$(@D)/examples/calc++'
-make[5]: Leaving directory `$(@D)/examples/calc++'
 /usr/gnu/bin/make  check-TESTS
-make[5]: Entering directory `$(@D)/examples/calc++'
 PASS: test
 ==================
 All 1 tests passed
 ==================
-make[5]: Leaving directory `$(@D)/examples/calc++'
-make[4]: Leaving directory `$(@D)/examples/calc++'
-make[3]: Leaving directory `$(@D)/examples/calc++'
-make[3]: Entering directory `$(@D)/examples'
 make[3]: Nothing to be done for `check-am'.
-make[3]: Leaving directory `$(@D)/examples'
-make[2]: Leaving directory `$(@D)/examples'
 Making check in tests
-make[2]: Entering directory `$(@D)/tests'
 /usr/gnu/bin/make  bison
-make[3]: Entering directory `$(@D)/tests'
 make[3]: `bison' is up to date.
-make[3]: Leaving directory `$(@D)/tests'
 /usr/gnu/bin/make  check-local
-make[3]: Entering directory `$(@D)/tests'
 /bin/bash $(SOURCE_DIR)/tests/testsuite 
 ## ------------------------- ##
 ## GNU Bison 2.3 test suite. ##
@@ -286,8 +251,3 @@
 
 153 tests were successful.
 5 tests were skipped.
-make[3]: Leaving directory `$(@D)/tests'
-make[2]: Leaving directory `$(@D)/tests'
-make[2]: Entering directory `$(@D)'
-make[2]: Leaving directory `$(@D)'
-make[1]: Leaving directory `$(@D)'
--- a/components/bzip2/Makefile	Thu May 21 13:48:49 2015 -0700
+++ b/components/bzip2/Makefile	Thu May 21 16:35:22 2015 -0700
@@ -60,6 +60,17 @@
 	    cp ../../oldapi.c . )
 
 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
+COMPONENT_TEST_TARGETS = test
+system-test: \
+    COMPONENT_TEST_MASTER = \
+         $(COMPONENT_TEST_RESULTS_DIR)/system-results-all.master
+COMPONENT_SYSTEM_TEST_TARGETS= system-test
+COMPONENT_SYSTEM_TEST_DIR = $(SOURCE_DIR)
+
+COMPONENT_TEST_TRANSFORMS += \
+    '-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
+    '-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
+    '-e "/^XXX_CC_XXX$$/d" '
 
 # common targets
 build:		$(BUILD_32_and_64)
@@ -77,7 +88,7 @@
 # build does this always
 test:		$(TEST_32_and_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:	$(SYSTEM_TEST_32_and_64)
 
 
 REQUIRED_PACKAGES += shell/ksh93
--- a/components/bzip2/patches/Makefile.patch	Thu May 21 13:48:49 2015 -0700
+++ b/components/bzip2/patches/Makefile.patch	Thu May 21 16:35:22 2015 -0700
@@ -1,5 +1,5 @@
---- bzip2-1.0.6/Makefile.orig	Wed Jan 12 13:53:06 2011
-+++ bzip2-1.0.6/Makefile	Thu Jan 13 13:01:30 2011
+--- bzip2-1.0.6/Makefile.orig	Fri Sep 10 15:46:02 2010
++++ bzip2-1.0.6/Makefile	Tue Apr 14 12:32:30 2015
 @@ -33,34 +33,33 @@
        randtable.o  \
        compress.o   \
@@ -51,7 +51,26 @@
  	cmp sample1.bz2 sample1.rb2 
  	cmp sample2.bz2 sample2.rb2
  	cmp sample3.bz2 sample3.rb2
-@@ -72,8 +71,8 @@
+@@ -69,11 +68,27 @@
+ 	cmp sample3.tst sample3.ref
+ 	@cat words3
+ 
++system-test: 
++	@cat words1
++	/usr/bin/bzip2 -1  < sample1.ref > sample1.rb2
++	/usr/bin/bzip2 -2  < sample2.ref > sample2.rb2
++	/usr/bin/bzip2 -3  < sample3.ref > sample3.rb2
++	/usr/bin/bzip2 -d  < sample1.bz2 > sample1.tst
++	/usr/bin/bzip2 -d  < sample2.bz2 > sample2.tst
++	/usr/bin/bzip2 -ds < sample3.bz2 > sample3.tst
++	cmp sample1.bz2 sample1.rb2 
++	cmp sample2.bz2 sample2.rb2
++	cmp sample3.bz2 sample3.rb2
++	cmp sample1.tst sample1.ref
++	cmp sample2.tst sample2.ref
++	cmp sample3.tst sample3.ref
++	@cat words3
++
  install: bzip2 bzip2recover
  	if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
  	if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
@@ -62,7 +81,7 @@
  	if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
  	cp -f bzip2 $(PREFIX)/bin/bzip2
  	cp -f bzip2 $(PREFIX)/bin/bunzip2
-@@ -83,30 +82,28 @@
+@@ -83,30 +98,28 @@
  	chmod a+x $(PREFIX)/bin/bunzip2
  	chmod a+x $(PREFIX)/bin/bzcat
  	chmod a+x $(PREFIX)/bin/bzip2recover
@@ -107,7 +126,7 @@
  
  clean: 
  	rm -f *.o libbz2.a bzip2 bzip2recover \
-@@ -132,6 +129,8 @@
+@@ -132,6 +145,8 @@
  	$(CC) $(CFLAGS) -c bzip2.c
  bzip2recover.o: bzip2recover.c
  	$(CC) $(CFLAGS) -c bzip2recover.c
--- a/components/bzip2/test/results-all.master	Thu May 21 13:48:49 2015 -0700
+++ b/components/bzip2/test/results-all.master	Thu May 21 16:35:22 2015 -0700
@@ -1,4 +1,3 @@
-make[1]: Entering directory `$(@D)'
 
 Doing 6 tests (3 compress, 3 uncompress) ...
 If there's a problem, things might stop at this point.
@@ -45,4 +44,3 @@
 You can also do "bzip2 --help" to see some helpful information. 
 "bzip2 -L" displays the software license.
 
-make[1]: Leaving directory `$(@D)'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bzip2/test/system-results-all.master	Thu May 21 16:35:22 2015 -0700
@@ -0,0 +1,46 @@
+
+Doing 6 tests (3 compress, 3 uncompress) ...
+If there's a problem, things might stop at this point.
+ 
+/usr/bin/bzip2 -1  < sample1.ref > sample1.rb2
+/usr/bin/bzip2 -2  < sample2.ref > sample2.rb2
+/usr/bin/bzip2 -3  < sample3.ref > sample3.rb2
+/usr/bin/bzip2 -d  < sample1.bz2 > sample1.tst
+/usr/bin/bzip2 -d  < sample2.bz2 > sample2.tst
+/usr/bin/bzip2 -ds < sample3.bz2 > sample3.tst
+cmp sample1.bz2 sample1.rb2 
+cmp sample2.bz2 sample2.rb2
+cmp sample3.bz2 sample3.rb2
+cmp sample1.tst sample1.ref
+cmp sample2.tst sample2.ref
+cmp sample3.tst sample3.ref
+
+If you got this far and the 'cmp's didn't complain, it looks
+like you're in business.  
+
+To install in /usr/local/bin, /usr/local/lib, /usr/local/man and 
+/usr/local/include, type
+
+   make install
+
+To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type 
+
+   make install PREFIX=/xxx/yyy
+
+If you are (justifiably) paranoid and want to see what 'make install'
+is going to do, you can first do
+
+   make -n install                      or
+   make -n install PREFIX=/xxx/yyy      respectively.
+
+The -n instructs make to show the commands it would execute, but
+not actually execute them.
+
+Instructions for use are in the preformatted manual page, in the file
+bzip2.txt.  For more detailed documentation, read the full manual.  
+It is available in Postscript form (manual.ps), PDF form (manual.pdf),
+and HTML form (manual.html).
+
+You can also do "bzip2 --help" to see some helpful information. 
+"bzip2 -L" displays the software license.
+
--- a/components/make/Makefile	Thu May 21 13:48:49 2015 -0700
+++ b/components/make/Makefile	Thu May 21 16:35:22 2015 -0700
@@ -51,6 +51,11 @@
 COMPONENT_PRE_TEST_ACTION = \
     ($(TOUCH) $(SOURCE_DIR)/getloadavg.c)
 
+COMPONENT_SYSTEM_TEST_TARGETS= system-test
+system-test: \
+    COMPONENT_TEST_MASTER = \
+         $(COMPONENT_TEST_RESULTS_DIR)/system-results-64.master
+
 # Strip compilation lines from test output
 COMPONENT_TEST_TRANSFORMS += \
     '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
@@ -61,6 +66,9 @@
     '-e "s|^.*Running tests for GNU make.*$$|XXX_CC_XXX|g" ' \
     '-e "s|^.==========.*$$|XXX_CC_XXX|g" ' \
     '-e "s|^Clearing work.*$$|XXX_CC_XXX|g" ' \
+    '-e "s|^config.status: .*$$|XXX_CC_XXX|g" ' \
+    '-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
+    '-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
     '-e "/^XXX_CC_XXX$$/d" '
 
 
@@ -75,7 +83,8 @@
 
 test:		$(TEST_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+# the test suite needs to be configured first
+system-test:	configure $(SYSTEM_TEST_64)
 
 
 REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/make/patches/Makefile.patch	Thu May 21 16:35:22 2015 -0700
@@ -0,0 +1,29 @@
+--- make-3.82/Makefile.in.orig	Tue Apr 14 12:59:38 2015
++++ make-3.82/Makefile.in	Tue Apr 14 13:00:41 2015
+@@ -1116,6 +1116,26 @@
+ 	  echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \
+ 	 fi
+ 
++system-test:
++	@if test -f "$(srcdir)/tests/run_make_tests"; then \
++	  if $(PERL) -v >/dev/null 2>&1; then \
++	    case `cd $(srcdir); pwd` in `pwd`) : ;; \
++	      *) test -d tests || mkdir tests; \
++		 rm -f srctests; \
++		 if ln -s "$(srcdir)/tests" srctests; then \
++		   for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \
++		     rm -f tests/$$f; ln -s ../srctests/$$f tests; \
++		   done; fi ;; \
++	    esac; \
++	    echo "cd tests && $(PERL) ./run_make_tests.pl -make /usr/bin/gmake $(MAKETESTFLAGS)"; \
++	    cd tests && $(PERL) ./run_make_tests.pl -make /usr/bin/gmake $(MAKETESTFLAGS); \
++	  else \
++	    echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \
++	  fi; \
++	 else \
++	  echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \
++	 fi
++
+ # --------------- Maintainer's Section
+ 
+ # Tell automake that I haven't forgotten about this file and it will be
--- a/components/make/test/results-64.master	Thu May 21 13:48:49 2015 -0700
+++ b/components/make/test/results-64.master	Thu May 21 16:35:22 2015 -0700
@@ -1,27 +1,14 @@
-make[1]: Entering directory `$(@D)'
 Making check in glob
-make[2]: Entering directory `$(@D)/glob'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/glob'
 Making check in config
-make[2]: Entering directory `$(@D)/config'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/config'
 Making check in po
-make[2]: Entering directory `$(@D)/po'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/po'
 Making check in doc
-make[2]: Entering directory `$(@D)/doc'
 make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/doc'
-make[2]: Entering directory `$(@D)'
 /usr/gnu/bin/make  loadavg
-make[3]: Entering directory `$(@D)'
 "$(SOURCE_DIR)/getloadavg.c", line 1006: warning: implicit function declaration: getloadavg
-make[3]: Leaving directory `$(@D)'
 /usr/gnu/bin/make  check-local
-make[3]: Entering directory `$(@D)'
 cd tests && perl ./run_make_tests.pl -make ../make 
 ------------------------------------------------------------------------------
                                 GNU Make 3.82
@@ -141,6 +128,3 @@
 ./loadavg
 
 
-make[3]: Leaving directory `$(@D)'
-make[2]: Leaving directory `$(@D)'
-make[1]: Leaving directory `$(@D)'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/make/test/system-results-64.master	Thu May 21 16:35:22 2015 -0700
@@ -0,0 +1,115 @@
+cd tests && perl ./run_make_tests.pl -make /usr/bin/gmake 
+------------------------------------------------------------------------------
+                                GNU Make 3.82
+------------------------------------------------------------------------------
+
+Finding tests...
+
+features/comments ....................................... ok     (1 passed)
+features/conditionals ................................... ok     (4 passed)
+features/default_names .................................. ok     (3 passed)
+features/double_colon ................................... ok     (10 passed)
+features/echoing ........................................ ok     (4 passed)
+features/errors ......................................... ok     (2 passed)
+features/escape ......................................... ok     (6 passed)
+features/export ......................................... ok     (12 passed)
+features/include ........................................ ok     (10 passed)
+features/mult_rules ..................................... ok     (2 passed)
+features/mult_targets ................................... ok     (2 passed)
+features/order_only ..................................... ok     (10 passed)
+features/override ....................................... ok     (4 passed)
+features/parallelism .................................... ok     (8 passed)
+features/patspecific_vars ............................... ok     (10 passed)
+features/patternrules ................................... ok     (10 passed)
+features/quoting ........................................ ok     (1 passed)
+features/recursion ...................................... ok     (2 passed)
+features/reinvoke ....................................... ok     (4 passed)
+features/se_explicit .................................... ok     (9 passed)
+features/se_implicit .................................... ok     (9 passed)
+features/se_statpat ..................................... ok     (4 passed)
+features/statipattrules ................................. ok     (8 passed)
+features/targetvars ..................................... ok     (23 passed)
+features/varnesting ..................................... ok     (1 passed)
+features/vpath .......................................... ok     (2 passed)
+features/vpath2 ......................................... ok     (1 passed)
+features/vpath3 ......................................... ok     (1 passed)
+features/vpathgpath ..................................... ok     (1 passed)
+features/vpathplus ...................................... ok     (4 passed)
+functions/abspath ....................................... ok     (1 passed)
+functions/addprefix ..................................... ok     (1 passed)
+functions/addsuffix ..................................... ok     (2 passed)
+functions/andor ......................................... ok     (2 passed)
+functions/basename ...................................... ok     (1 passed)
+functions/call .......................................... ok     (2 passed)
+functions/dir ........................................... ok     (1 passed)
+functions/error ......................................... ok     (5 passed)
+functions/eval .......................................... ok     (9 passed)
+functions/filter-out .................................... ok     (1 passed)
+functions/findstring .................................... ok     (1 passed)
+functions/flavor ........................................ ok     (1 passed)
+functions/foreach ....................................... ok     (4 passed)
+functions/if ............................................ ok     (1 passed)
+functions/join .......................................... ok     (1 passed)
+functions/notdir ........................................ ok     (1 passed)
+functions/origin ........................................ ok     (1 passed)
+functions/realpath ...................................... ok     (2 passed)
+functions/shell ......................................... ok     (2 passed)
+functions/sort .......................................... ok     (1 passed)
+functions/strip ......................................... ok     (2 passed)
+functions/substitution .................................. ok     (3 passed)
+functions/suffix ........................................ ok     (1 passed)
+functions/value ......................................... ok     (1 passed)
+functions/warning ....................................... ok     (4 passed)
+functions/wildcard ...................................... ok     (4 passed)
+functions/word .......................................... ok     (16 passed)
+misc/close_stdout ....................................... ok     (0 passed)
+misc/general1 ........................................... ok     (1 passed)
+misc/general2 ........................................... ok     (1 passed)
+misc/general3 ........................................... ok     (10 passed)
+misc/general4 ........................................... ok     (6 passed)
+options/dash-B .......................................... ok     (8 passed)
+options/dash-C .......................................... ok     (2 passed)
+options/dash-I .......................................... ok     (3 passed)
+options/dash-W .......................................... ok     (10 passed)
+options/dash-e .......................................... ok     (1 passed)
+options/dash-f .......................................... ok     (4 passed)
+options/dash-k .......................................... ok     (3 passed)
+options/dash-l .......................................... ok     (1 passed)
+options/dash-n .......................................... ok     (4 passed)
+options/dash-q .......................................... ok     (8 passed)
+options/dash-t .......................................... ok     (2 passed)
+options/eval ............................................ ok     (2 passed)
+options/general ......................................... ok     (1 passed)
+options/symlinks ........................................ ok     (10 passed)
+options/warn-undefined-variables ........................ ok     (2 passed)
+targets/DEFAULT ......................................... ok     (1 passed)
+targets/FORCE ........................................... ok     (1 passed)
+targets/INTERMEDIATE .................................... ok     (8 passed)
+targets/ONESHELL ........................................ ok     (5 passed)
+targets/PHONY ........................................... ok     (1 passed)
+targets/POSIX ........................................... ok     (2 passed)
+targets/SECONDARY ....................................... ok     (12 passed)
+targets/SILENT .......................................... ok     (1 passed)
+targets/clean ........................................... ok     (2 passed)
+variables/CURDIR ........................................ ok     (1 passed)
+variables/DEFAULT_GOAL .................................. ok     (5 passed)
+variables/INCLUDE_DIRS .................................. ok     (2 passed)
+variables/LIBPATTERNS ................................... ok     (2 passed)
+variables/MAKE .......................................... ok     (1 passed)
+variables/MAKECMDGOALS .................................. ok     (3 passed)
+variables/MAKEFILES ..................................... ok     (2 passed)
+variables/MAKEFLAGS ..................................... ok     (2 passed)
+variables/MAKELEVEL ..................................... ok     (1 passed)
+variables/MAKE_RESTARTS ................................. ok     (3 passed)
+variables/MFILE_LIST .................................... ok     (1 passed)
+variables/SHELL ......................................... ok     (7 passed)
+variables/automatic ..................................... ok     (7 passed)
+variables/define ........................................ ok     (15 passed)
+variables/flavors ....................................... ok     (6 passed)
+variables/negative ...................................... ok     (4 passed)
+variables/private ....................................... ok     (8 passed)
+variables/special ....................................... ok     (2 passed)
+variables/undefine ...................................... ok     (4 passed)
+
+427 Tests in 105 Categories Complete ... No Failures :-)
+
--- a/components/tcsh/Makefile	Thu May 21 13:48:49 2015 -0700
+++ b/components/tcsh/Makefile	Thu May 21 16:35:22 2015 -0700
@@ -49,6 +49,7 @@
 COMPONENT_PRE_TEST_ACTION = \
     ($(RM) $(SOURCE_DIR)/tests/package.m4)
 
+
 COMPONENT_PREP_ACTION = \
 	(cd $(@D) ; autoconf )
 
@@ -65,6 +66,7 @@
 CONFIGURE_OPTIONS  +=		CFLAGS="$(CFLAGS)"
 
 COMPONENT_TEST_ENV += PATH=/usr/gnu/bin:/usr/bin
+COMPONENT_SYSTEM_TEST_TARGETS= system-test
 
 ASLR_MODE = $(ASLR_ENABLE)
 
@@ -77,7 +79,8 @@
 
 test: 		$(TEST_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+# the testsuite needs to be configured first
+system-test:    configure $(SYSTEM_TEST_64)
 
 
 REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/tcsh/patches/006.tests.patch	Thu May 21 16:35:22 2015 -0700
@@ -0,0 +1,19 @@
+--- tcsh-6.18.01/Makefile.in.orig	Tue Apr 14 13:38:25 2015
++++ tcsh-6.18.01/Makefile.in	Tue Apr 14 13:39:03 2015
+@@ -761,6 +761,16 @@
+ check: atconfig $(srcdir)/tests/testsuite
+ 	$(SHELL) $(srcdir)/tests/testsuite
+ 
++sys-atconfig: atconfig
++	@gsed -e "s,AUTOTEST_PATH='.'",AUTOTEST_PATH='/usr/gnu/bin:/usr/bin', < \
++	    atconfig > sys-atconfig
++
++system-test: sys-atconfig $(srcdir)/tests/testsuite
++	@mv atconfig atconfig.orig
++	@cp sys-atconfig atconfig
++	$(SHELL) $(srcdir)/tests/testsuite
++	@mv atconfig.orig atconfig
++
+ #
+ # Dependencies
+ #