21549702 Yet more Userland components should have their system-test targets hooked up
authorRich Burridge <rich.burridge@oracle.com>
Tue, 04 Aug 2015 12:01:03 -0700
changeset 4737 844cca6e99f3
parent 4736 455a1830e5e8
child 4738 13359949837d
21549702 Yet more Userland components should have their system-test targets hooked up
components/diffstat/Makefile
components/diffstat/test/results-64.master
components/diffutils/Makefile
components/diffutils/test/results-64.master
components/doxygen/Makefile
components/doxygen/test/results-64.master
components/getopt/Makefile
components/getopt/test/results-64.master
components/indent/Makefile
components/indent/patches/system-test.patch
components/indent/test/results-64.master
--- a/components/diffstat/Makefile	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/diffstat/Makefile	Tue Aug 04 12:01:03 2015 -0700
@@ -40,12 +40,21 @@
 
 CC += $(CC_BITS)
 
+COMPONENT_TEST_TRANSFORMS += \
+	'-e "/^Checking/d" '
+
 COMPONENT_TEST_DIR =	$(SOURCE_DIR)
 COMPONENT_TEST_ENV =	PATH=$(@D):$(SOURCE_DIR):$(PATH)
 COMPONENT_TEST_CMD =	./testing/run_test.sh
 COMPONENT_TEST_ARGS =	./testing/case*.pat
 COMPONENT_TEST_TARGETS =
 
+COMPONENT_SYSTEM_TEST_DIR =	$(SOURCE_DIR)
+COMPONENT_SYSTEM_TEST_ENV =	PATH=/usr/bin:$(SOURCE_DIR):$(PATH)
+COMPONENT_SYSTEM_TEST_CMD =	./testing/run_test.sh
+COMPONENT_SYSTEM_TEST_ARGS =	./testing/case*.pat
+COMPONENT_SYSTEM_TEST_TARGETS =
+
 ASLR_MODE = $(ASLR_ENABLE)
 
 configure:	$(CONFIGURE_64)
@@ -56,7 +65,7 @@
 
 test:		$(TEST_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:    $(SYSTEM_TEST_64)
 
 REQUIRED_PACKAGES += system/library
 
--- a/components/diffstat/test/results-64.master	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/diffstat/test/results-64.master	Tue Aug 04 12:01:03 2015 -0700
@@ -1,4 +1,3 @@
-Checking $(@D)/diffstat
 testing case01
 ** ok: case01
 ** ok: case01p1
--- a/components/diffutils/Makefile	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/diffutils/Makefile	Tue Aug 04 12:01:03 2015 -0700
@@ -48,6 +48,26 @@
 CONFIGURE_OPTIONS  +=		--infodir=$(CONFIGURE_INFODIR)
 CONFIGURE_OPTIONS  +=		CFLAGS="$(CFLAGS)"
 
+# Needed for "gmake test" to work successfully.
+# If SHELLOPTS is exported (as it is by the userland makefiles),
+# then all shell options get exported to child invocations of bash,
+# which results in test failures due to nounset and xtrace being
+# set unexpectedly, and errors such as "$1: unbound variable" and
+# diffs failing due to script tracing in output files.
+unexport SHELLOPTS
+
+COMPONENT_TEST_DIR =	$(@D)/tests
+
+COMPONENT_TEST_TRANSFORMS += \
+	'-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
+	'-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
+	'-e "s|^make.*: Nothing to be.*$$|XXX_CC_XXX|g" ' \
+	'-e "s|^/usr/gnu/bin/make.*$$|XXX_CC_XXX|g" ' \
+	'-e "/^XXX_CC_XXX$$/d" '
+
+COMPONENT_SYSTEM_TEST_DIR =	$(@D)/tests
+COMPONENT_SYSTEM_TEST_ENV +=	PATH="$(GNUBIN):$(PATH)"
+
 ASLR_MODE = $(ASLR_ENABLE)
 
 configure:	$(CONFIGURE_64)
@@ -58,7 +78,7 @@
 
 test:		$(TEST_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:    configure $(SYSTEM_TEST_64)
 
 
 REQUIRED_PACKAGES += system/library
--- a/components/diffutils/test/results-64.master	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/diffutils/test/results-64.master	Tue Aug 04 12:01:03 2015 -0700
@@ -1,22 +1,3 @@
-make[1]: Entering directory `$(@D)'
-Making check in lib
-make[2]: Entering directory `$(@D)/lib'
-/usr/gnu/bin/make  check-am
-make[3]: Entering directory `$(@D)/lib'
-make[3]: Leaving directory `$(@D)/lib'
-make[2]: Leaving directory `$(@D)/lib'
-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 tests
-make[2]: Entering directory `$(@D)/tests'
-/usr/gnu/bin/make  check-TESTS
-make[3]: Entering directory `$(@D)/tests'
-make[4]: Entering directory `$(@D)/tests'
 PASS: basic
 PASS: binary
 PASS: colliding-file-names
@@ -29,420 +10,14 @@
 PASS: no-newline-at-eof
 PASS: stdin
 PASS: filename-quoting
-===================
-All 12 tests passed
-===================
-make[4]: Leaving directory `$(@D)/tests'
-make[3]: Leaving directory `$(@D)/tests'
-make[2]: Leaving directory `$(@D)/tests'
-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 man
-make[2]: Entering directory `$(@D)/man'
-make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/man'
-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 gnulib-tests
-make[2]: Entering directory `$(@D)/gnulib-tests'
-/usr/gnu/bin/make  check-recursive
-make[3]: Entering directory `$(@D)/gnulib-tests'
-Making check in .
-make[4]: Entering directory `$(@D)/gnulib-tests'
-/usr/gnu/bin/make  libtests.a test-alloca-opt test-areadlink test-argmatch test-binary-io test-bitrotate test-btowc test-c-ctype test-c-stack test-c-strcasecmp test-c-strncasecmp test-close test-dirname test-dup2 test-environ test-errno test-exclude test-fcntl-h test-fcntl test-fdopen test-fgetc test-filenamecat test-float test-fnmatch test-fputc test-fread test-freopen-safer test-freopen test-fstat test-fwrite test-getcwd-lgpl test-getdtablesize test-getopt test-gettimeofday test-hash test-iconv-h test-iconv test-ignore-value test-intprops test-inttostr test-inttypes test-iswblank test-langinfo test-locale test-localeconv test-lstat test-malloc-gnu test-malloca test-mbrtowc test-mbrtowc-w32 test-mbscasecmp test-mbsinit test-mbsrtowcs test-mbsstr1 test-mbsstr2 test-mbsstr3 test-memchr test-nl_langinfo test-open test-pathmax test-quotearg-simple test-raise test-readlink test-regex test-setenv test-setlocale1 test-setlocale2 test-sh-quote test-sigaction test-signal-h test-sigprocmask test-sleep test-snprintf test-stat test-stat-time test-stdbool test-stddef test-stdint test-stdio test-stdlib test-strerror test-strftime test-striconv test-string test-strings test-strnlen test-strtoull test-strtoumax test-symlink test-sys_stat test-sys_time test-sys_types test-sys_wait test-time test-unistd test-u8-mbtoucr test-u8-uctomb test-uc_width test-uc_width2 test-unsetenv test-usleep test-vasnprintf test-vasprintf test-verify test-version-etc test-wchar test-wcrtomb test-wcrtomb-w32 test-wctype-h test-wcwidth test-xalloc-die test-xstrtol test-xstrtoul test-xstrtoumax test-xvasprintf
-make[5]: Entering directory `$(@D)/gnulib-tests'
-  CC     argmatch.o
-  CC     hash-pjw.o
-  CC     putenv.o
-  CC     unsetenv.o
-  AR     libtests.a
-  CC     test-alloca-opt.o
-  CCLD   test-alloca-opt
-  CC     test-areadlink.o
-  CCLD   test-areadlink
-  CC     test-argmatch.o
-  CCLD   test-argmatch
-  CC     test-binary-io.o
-  CCLD   test-binary-io
-  CC     test-bitrotate.o
-  CCLD   test-bitrotate
-  CC     test-btowc.o
-  CCLD   test-btowc
-  CC     test-c-ctype.o
-  CCLD   test-c-ctype
-  CC     test-c-stack.o
-  CCLD   test-c-stack
-  CC     test-c-strcasecmp.o
-  CCLD   test-c-strcasecmp
-  CC     test-c-strncasecmp.o
-  CCLD   test-c-strncasecmp
-  CC     test-close.o
-  CCLD   test-close
-  CC     test-dirname.o
-  CCLD   test-dirname
-  CC     test-dup2.o
-  CCLD   test-dup2
-  CC     test-environ.o
-  CCLD   test-environ
-  CC     test-errno.o
-  CCLD   test-errno
-  CC     test-exclude.o
-  CCLD   test-exclude
-  CC     test-fcntl-h.o
-  CCLD   test-fcntl-h
-  CC     test-fcntl.o
-  CCLD   test-fcntl
-  CC     test-fdopen.o
-  CCLD   test-fdopen
-  CC     test-fgetc.o
-  CCLD   test-fgetc
-  CC     test-filenamecat.o
-  CCLD   test-filenamecat
-  CC     test-float.o
-  CCLD   test-float
-  CC     test-fnmatch.o
-  CCLD   test-fnmatch
-  CC     test-fputc.o
-  CCLD   test-fputc
-  CC     test-fread.o
-  CCLD   test-fread
-  CC     test-freopen-safer.o
-  CCLD   test-freopen-safer
-  CC     test-freopen.o
-  CCLD   test-freopen
-  CC     test-fstat.o
-  CCLD   test-fstat
-  CC     test-fwrite.o
-  CCLD   test-fwrite
-  CC     test-getcwd-lgpl.o
-  CCLD   test-getcwd-lgpl
-  CC     test-getdtablesize.o
-  CCLD   test-getdtablesize
-  CC     test-getopt.o
-  CCLD   test-getopt
-  CC     test-gettimeofday.o
-  CCLD   test-gettimeofday
-  CC     test-hash.o
-  CCLD   test-hash
-  CC     test-iconv-h.o
-  CCLD   test-iconv-h
-  CC     test-iconv.o
-  CCLD   test-iconv
-  CC     test-ignore-value.o
-  CCLD   test-ignore-value
-  CC     test-intprops.o
-  CCLD   test-intprops
-  CC     test-inttostr.o
-  CCLD   test-inttostr
-  CC     test-inttypes.o
-  CCLD   test-inttypes
-  CC     test-iswblank.o
-  CCLD   test-iswblank
-  CC     test-langinfo.o
-  CCLD   test-langinfo
-  CC     test-locale.o
-  CCLD   test-locale
-  CC     test-localeconv.o
-  CCLD   test-localeconv
-  CC     test-lstat.o
-  CCLD   test-lstat
-  CC     test-malloc-gnu.o
-  CCLD   test-malloc-gnu
-  CC     test-malloca.o
-  CCLD   test-malloca
-  CC     test-mbrtowc.o
-  CCLD   test-mbrtowc
-  CC     test-mbrtowc-w32.o
-  CCLD   test-mbrtowc-w32
-  CC     test-mbscasecmp.o
-  CCLD   test-mbscasecmp
-  CC     test-mbsinit.o
-  CCLD   test-mbsinit
-  CC     test-mbsrtowcs.o
-  CCLD   test-mbsrtowcs
-  CC     test-mbsstr1.o
-  CCLD   test-mbsstr1
-  CC     test-mbsstr2.o
-  CCLD   test-mbsstr2
-  CC     test-mbsstr3.o
-  CCLD   test-mbsstr3
-  CC     test-memchr.o
-  CCLD   test-memchr
-  CC     test-nl_langinfo.o
-  CCLD   test-nl_langinfo
-  CC     test-open.o
-  CCLD   test-open
-  CC     test-pathmax.o
-  CCLD   test-pathmax
-  CC     test-quotearg-simple.o
-  CCLD   test-quotearg-simple
-  CC     test-raise.o
-  CCLD   test-raise
-  CC     test-readlink.o
-  CCLD   test-readlink
-  CC     test-regex.o
-  CCLD   test-regex
-  CC     test-setenv.o
-  CCLD   test-setenv
-  CC     test-setlocale1.o
-  CCLD   test-setlocale1
-  CC     test-setlocale2.o
-  CCLD   test-setlocale2
-  CC     test-sh-quote.o
-  CCLD   test-sh-quote
-  CC     test-sigaction.o
-  CCLD   test-sigaction
-  CC     test-signal-h.o
-  CCLD   test-signal-h
-  CC     test-sigprocmask.o
-  CCLD   test-sigprocmask
-  CC     test-sleep.o
-  CCLD   test-sleep
-  CC     test-snprintf.o
-  CCLD   test-snprintf
-  CC     test-stat.o
-  CCLD   test-stat
-  CC     test-stat-time.o
-  CCLD   test-stat-time
-  CC     test-stdbool.o
-  CCLD   test-stdbool
-  CC     test-stddef.o
-  CCLD   test-stddef
-  CC     test-stdint.o
-  CCLD   test-stdint
-  CC     test-stdio.o
-  CCLD   test-stdio
-  CC     test-stdlib.o
-  CCLD   test-stdlib
-  CC     test-strerror.o
-  CCLD   test-strerror
-  CC     test-strftime.o
-  CCLD   test-strftime
-  CC     test-striconv.o
-  CCLD   test-striconv
-  CC     test-string.o
-  CCLD   test-string
-  CC     test-strings.o
-  CCLD   test-strings
-  CC     test-strnlen.o
-  CCLD   test-strnlen
-  CC     test-strtoull.o
-  CCLD   test-strtoull
-  CC     test-strtoumax.o
-  CCLD   test-strtoumax
-  CC     test-symlink.o
-  CCLD   test-symlink
-  CC     test-sys_stat.o
-  CCLD   test-sys_stat
-  CC     test-sys_time.o
-  CCLD   test-sys_time
-  CC     test-sys_types.o
-  CCLD   test-sys_types
-  CC     test-sys_wait.o
-  CCLD   test-sys_wait
-  CC     test-time.o
-  CCLD   test-time
-  CC     test-unistd.o
-  CCLD   test-unistd
-  CC     unistr/test-u8-mbtoucr.o
-  CCLD   test-u8-mbtoucr
-  CC     unistr/test-u8-uctomb.o
-  CCLD   test-u8-uctomb
-  CC     uniwidth/test-uc_width.o
-  CCLD   test-uc_width
-  CC     uniwidth/test-uc_width2.o
-  CCLD   test-uc_width2
-  CC     test-unsetenv.o
-  CCLD   test-unsetenv
-  CC     test-usleep.o
-  CCLD   test-usleep
-  CC     test-vasnprintf.o
-  CCLD   test-vasnprintf
-  CC     test-vasprintf.o
-  CCLD   test-vasprintf
-  CC     test-verify.o
-  CCLD   test-verify
-  CC     test-version-etc.o
-  CCLD   test-version-etc
-  CC     test-wchar.o
-  CCLD   test-wchar
-  CC     test-wcrtomb.o
-  CCLD   test-wcrtomb
-  CC     test-wcrtomb-w32.o
-  CCLD   test-wcrtomb-w32
-  CC     test-wctype-h.o
-  CCLD   test-wctype-h
-  CC     test-wcwidth.o
-  CCLD   test-wcwidth
-  CC     test-xalloc-die.o
-  CCLD   test-xalloc-die
-  CC     test-xstrtol.o
-  CCLD   test-xstrtol
-  CC     test-xstrtoul.o
-  CCLD   test-xstrtoul
-  CC     test-xstrtoumax.o
-  CCLD   test-xstrtoumax
-  CC     test-xvasprintf.o
-  CCLD   test-xvasprintf
-make[5]: Leaving directory `$(@D)/gnulib-tests'
-/usr/gnu/bin/make  check-TESTS
-make[5]: Entering directory `$(@D)/gnulib-tests'
-make[6]: Entering directory `$(@D)/gnulib-tests'
-PASS: test-alloca-opt
-PASS: test-areadlink
-PASS: test-argmatch
-PASS: test-binary-io.sh
-PASS: test-bitrotate
-PASS: test-btowc1.sh
-PASS: test-btowc2.sh
-PASS: test-c-ctype
-PASS: test-c-stack.sh
-PASS: test-c-stack2.sh
-PASS: test-c-strcase.sh
-PASS: test-close
-PASS: test-dirname
-PASS: test-dup2
-PASS: test-environ
-PASS: test-errno
-PASS: test-exclude1.sh
-PASS: test-exclude2.sh
-PASS: test-exclude3.sh
-PASS: test-exclude4.sh
-PASS: test-exclude5.sh
-PASS: test-exclude6.sh
-PASS: test-exclude7.sh
-PASS: test-exclude8.sh
-PASS: test-fcntl-h
-PASS: test-fcntl
-PASS: test-fdopen
-PASS: test-fgetc
-PASS: test-filenamecat
-PASS: test-float
-PASS: test-fnmatch
-PASS: test-fputc
-PASS: test-fread
-PASS: test-freopen-safer
-PASS: test-freopen
-PASS: test-fstat
-PASS: test-fwrite
-PASS: test-getcwd-lgpl
-PASS: test-getdtablesize
-PASS: test-getopt
-PASS: test-gettimeofday
-PASS: test-hash
-PASS: test-iconv-h
-PASS: test-iconv
-PASS: test-ignore-value
-PASS: test-intprops
-PASS: test-inttostr
-PASS: test-inttypes
-PASS: test-iswblank
-PASS: test-langinfo
-PASS: test-locale
-PASS: test-localeconv
-PASS: test-lstat
-PASS: test-malloc-gnu
-PASS: test-malloca
-PASS: test-mbrtowc1.sh
-PASS: test-mbrtowc2.sh
-PASS: test-mbrtowc3.sh
-PASS: test-mbrtowc4.sh
-SKIP: test-mbrtowc-w32-1.sh
-SKIP: test-mbrtowc-w32-2.sh
-SKIP: test-mbrtowc-w32-3.sh
-SKIP: test-mbrtowc-w32-4.sh
-SKIP: test-mbrtowc-w32-5.sh
-SKIP: test-mbscasecmp.sh
-PASS: test-mbsinit.sh
-PASS: test-mbsrtowcs1.sh
-PASS: test-mbsrtowcs2.sh
-PASS: test-mbsrtowcs3.sh
-PASS: test-mbsrtowcs4.sh
-PASS: test-mbsstr1
-PASS: test-mbsstr2.sh
-PASS: test-mbsstr3.sh
-PASS: test-memchr
-PASS: test-nl_langinfo.sh
-PASS: test-open
-PASS: test-pathmax
-PASS: test-quotearg-simple
-PASS: test-raise
-PASS: test-readlink
-PASS: test-regex
-PASS: test-setenv
-PASS: test-setlocale1.sh
-PASS: test-setlocale2.sh
-PASS: test-sh-quote
-PASS: test-sigaction
-PASS: test-signal-h
-PASS: test-sigprocmask
-PASS: test-sleep
-PASS: test-snprintf
-PASS: test-stat
-PASS: test-stat-time
-PASS: test-stdbool
-PASS: test-stddef
-PASS: test-stdint
-PASS: test-stdio
-PASS: test-stdlib
-PASS: test-strerror
-PASS: test-strftime
-PASS: test-striconv
-PASS: test-string
-PASS: test-strings
-PASS: test-strnlen
-PASS: test-strtoull
-PASS: test-strtoumax
-PASS: test-symlink
-PASS: test-sys_stat
-PASS: test-sys_time
-PASS: test-sys_types
-PASS: test-sys_wait
-PASS: test-init.sh
-PASS: test-time
-PASS: test-unistd
-PASS: test-u8-mbtoucr
-PASS: test-u8-uctomb
-PASS: test-uc_width
-PASS: uniwidth/test-uc_width2.sh
-PASS: test-unsetenv
-PASS: test-update-copyright.sh
-PASS: test-usleep
-PASS: test-vasnprintf
-PASS: test-vasprintf
-PASS: test-vc-list-files-git.sh
-PASS: test-vc-list-files-cvs.sh
-PASS: test-verify
-PASS: test-verify.sh
-PASS: test-version-etc.sh
-PASS: test-wchar
-PASS: test-wcrtomb.sh
-SKIP: test-wcrtomb-w32-1.sh
-SKIP: test-wcrtomb-w32-2.sh
-SKIP: test-wcrtomb-w32-3.sh
-SKIP: test-wcrtomb-w32-4.sh
-SKIP: test-wcrtomb-w32-5.sh
-PASS: test-wctype-h
-PASS: test-wcwidth
-PASS: test-xalloc-die.sh
-PASS: test-xstrtol.sh
-PASS: test-xstrtoumax.sh
-PASS: test-xvasprintf
-=======================
-All 129 tests passed
-(11 tests were not run)
-=======================
-make[6]: Leaving directory `$(@D)/gnulib-tests'
-make[5]: Leaving directory `$(@D)/gnulib-tests'
-make[4]: Leaving directory `$(@D)/gnulib-tests'
-make[3]: Leaving directory `$(@D)/gnulib-tests'
-make[2]: Leaving directory `$(@D)/gnulib-tests'
-make[2]: Entering directory `$(@D)'
-make[2]: Nothing to be done for `check-am'.
-make[2]: Leaving directory `$(@D)'
-  GEN    public-submodule-commit
-make[1]: Leaving directory `$(@D)'
+============================================================================
+Testsuite summary for GNU diffutils 3.3
+============================================================================
+# TOTAL: 12
+# PASS:  12
+# SKIP:  0
+# XFAIL: 0
+# FAIL:  0
+# XPASS: 0
+# ERROR: 0
+============================================================================
--- a/components/doxygen/Makefile	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/doxygen/Makefile	Tue Aug 04 12:01:03 2015 -0700
@@ -78,7 +78,19 @@
 COMPONENT_TEST_TRANSFORMS += \
         '-e "s|\(error opening bib\).*|\1|" ' \
         '-e "s|\(test_output_012/indexpage.xml\).*|\1|" ' \
-        '-e "s|\(012/indexpage.xml\).*|\1|" '
+        '-e "s|\(012/indexpage.xml\).*|\1|" ' \
+	'-e "s|^\$$(@D)/|\.\.\./|g" ' \
+	'-e "s|^\$$(SOURCE_DIR)/|\.\.\./|g" ' \
+	'-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
+	'-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
+	'-e "s|^make\[1\].*$$|XXX_CC_XXX|g" ' \
+	'-e "/^XXX_CC_XXX$$/d" '
+
+COMPONENT_SYSTEM_TEST_ENV =	PATH="$(GNUBIN):$(PATH)"
+COMPONENT_SYSTEM_TEST_DIR =	$(SOURCE_DIR)/testing
+COMPONENT_SYSTEM_TEST_CMD =	perl
+COMPONENT_SYSTEM_TEST_ARGS =	runtests.pl --doxygen /usr/bin/doxygen
+COMPONENT_SYSTEM_TEST_TARGETS =
 
 ASLR_MODE = $(ASLR_ENABLE)
 
@@ -91,7 +103,7 @@
 
 test:		$(TEST_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:    $(SYSTEM_TEST_64)
 
 
 REQUIRED_PACKAGES += developer/lexer/flex
--- a/components/doxygen/test/results-64.master	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/doxygen/test/results-64.master	Tue Aug 04 12:01:03 2015 -0700
@@ -1,4 +1,3 @@
-make[1]: Entering directory `$(@D)/testing'
 1..65
 ok 1 - [001_a.dox]: test the \a and \mainpage commands
 ok 2 - [002_addindex.dox]: test \addindex command
@@ -14,7 +13,7 @@
 error opening bib
 bibtex command failed: No such file or directory
 error: Problems running bibtex. Verify that the command 'perl --version' works from the command line. Exit code: 2
-$(@D)/testing/012_cite.dox:6: warning: \cite command to 'knuth79' does not have an associated number
+.../testing/012_cite.dox:6: warning: \cite command to 'knuth79' does not have an associated number
 not ok 12 - [012_cite.dox]: test the \cite command
 #   Failed test '[012_cite.dox]: test the \cite command'
 #   at runtests.pl line 249.
@@ -84,5 +83,3 @@
 ok 64 - [064_castoperator.cpp]: test linking to the cast operator with and without const
 ok 65 - [065_tilde.dox]: test \~ command with non default OUTPUT_LANGUAGE which contains '-' letter
 # Looks like you failed 1 test of 65.
-make[1]: *** [tests] Error 1
-make[1]: Leaving directory `$(@D)/testing'
--- a/components/getopt/Makefile	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/getopt/Makefile	Tue Aug 04 12:01:03 2015 -0700
@@ -56,9 +56,23 @@
 COMPONENT_POST_UNPACK_ACTION= \
 	$(RM) $(COMPONENT_SRC)/gnu/*.o
 
-COMPONENT_TEST_ENV +=		PATH=$(BUILD_DIR_$(BITS)):$(PATH)
+COMPONENT_TEST_TRANSFORMS += \
+	'-e "s|\./getopt|getopt|g" ' \
+	'-e "s|/usr/gnu/bin/getopt|getopt|g" ' \
+	'-e "s|\./run-tests.*$$|XXX_CC_XXX|g" ' \
+	'-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
+	'-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
+	'-e "s|^make\[1\].*$$|XXX_CC_XXX|g" ' \
+	'-e "/^XXX_CC_XXX$$/d" '
+
+COMPONENT_TEST_ENV +=		PATH=$(BUILD_DIR_$(BITS)):$(GNUBIN):/usr/bin
 COMPONENT_TEST_TARGETS =	test
 
+COMPONENT_SYSTEM_TEST_ENV +=	PATH=$(GNUBIN):/usr/bin/
+COMPONENT_SYSTEM_TEST_CMD =	./run-tests
+COMPONENT_SYSTEM_TEST_ARGS =	/usr/gnu/bin/getopt
+COMPONENT_SYSTEM_TEST_TARGETS =
+
 ASLR_MODE = $(ASLR_ENABLE)
 
 build:		$(BUILD_64)
@@ -67,7 +81,7 @@
 
 test:		$(TEST_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:    $(SYSTEM_TEST_64)
 
 
 REQUIRED_PACKAGES += system/library
--- a/components/getopt/test/results-64.master	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/getopt/test/results-64.master	Tue Aug 04 12:01:03 2015 -0700
@@ -1,5 +1,3 @@
-make[1]: Entering directory `$(@D)'
-./run-tests
 Next test: alternative_option_clash
 Received expected exit code
 Received expected stdout output
@@ -23,9 +21,9 @@
 Received expected stdout output
 TEST FAILED: unexpected stdout output, diff follows:
 1c1
-< ./getopt: invalid option -- b
+< getopt: invalid option -- b
 ---
-> ./getopt: invalid option -- 'b'
+> getopt: invalid option -- 'b'
 
 
 Next test: invocation_model_one
@@ -57,9 +55,9 @@
 Received expected stdout output
 TEST FAILED: unexpected stdout output, diff follows:
 1c1
-< ./getopt: option `--long' is ambiguous
+< getopt: option `--long' is ambiguous
 ---
-> ./getopt: option '--long' is ambiguous
+> getopt: option '--long' is ambiguous
 
 
 Next test: longopts
@@ -109,15 +107,15 @@
 Received expected stdout output
 TEST FAILED: unexpected stdout output, diff follows:
 1,4c1,4
-< ./getopt: invalid option -- c
-< ./getopt: unrecognized option `--unknown'
-< ./getopt: option `--long' is ambiguous
-< ./getopt: option requires an argument -- b
+< getopt: invalid option -- c
+< getopt: unrecognized option `--unknown'
+< getopt: option `--long' is ambiguous
+< getopt: option requires an argument -- b
 ---
-> ./getopt: invalid option -- 'c'
-> ./getopt: unrecognized option '--unknown'
-> ./getopt: option '--long' is ambiguous
-> ./getopt: option requires an argument -- 'b'
+> getopt: invalid option -- 'c'
+> getopt: unrecognized option '--unknown'
+> getopt: option '--long' is ambiguous
+> getopt: option requires an argument -- 'b'
 
 
 Next test: quiet_output_option_short
@@ -125,15 +123,15 @@
 Received expected stdout output
 TEST FAILED: unexpected stdout output, diff follows:
 1,4c1,4
-< ./getopt: invalid option -- c
-< ./getopt: unrecognized option `--unknown'
-< ./getopt: option `--long' is ambiguous
-< ./getopt: option requires an argument -- b
+< getopt: invalid option -- c
+< getopt: unrecognized option `--unknown'
+< getopt: option `--long' is ambiguous
+< getopt: option requires an argument -- b
 ---
-> ./getopt: invalid option -- 'c'
-> ./getopt: unrecognized option '--unknown'
-> ./getopt: option '--long' is ambiguous
-> ./getopt: option requires an argument -- 'b'
+> getopt: invalid option -- 'c'
+> getopt: unrecognized option '--unknown'
+> getopt: option '--long' is ambiguous
+> getopt: option requires an argument -- 'b'
 
 
 Next test: same_long_short_options
@@ -153,11 +151,11 @@
 Received expected stdout output
 TEST FAILED: unexpected stdout output, diff follows:
 1,2c1,2
-< ./getopt: invalid option -- b
-< ./getopt: unrecognized option `--whatever'
+< getopt: invalid option -- b
+< getopt: unrecognized option `--whatever'
 ---
-> ./getopt: invalid option -- 'b'
-> ./getopt: unrecognized option '--whatever'
+> getopt: invalid option -- 'b'
+> getopt: unrecognized option '--whatever'
 
 
 Next test: unquoted_option_bash
@@ -185,5 +183,3 @@
 
 
 SOME TESTS FAILED:  invalid_getopt_option long_option_ambiguous_1 name_option_long name_option_short quiet_output_option_long quiet_output_option_short unknown_options
-make[1]: *** [test] Error 1
-make[1]: Leaving directory `$(@D)'
--- a/components/indent/Makefile	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/indent/Makefile	Tue Aug 04 12:01:03 2015 -0700
@@ -46,14 +46,26 @@
 CONFIGURE_OPTIONS +=	CFLAGS="$(CFLAGS)"
 CONFIGURE_OPTIONS +=	--infodir=$(CONFIGURE_INFODIR)
 
+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" '
+
 COMPONENT_TEST_DIR =		$(@D)/regression
 # Need to put /usr/gnu/bin at the front of $PATH for GNU diff.
+COMPONENT_TEST_CMD =		./TEST
 COMPONENT_TEST_ENV +=		PATH=$(GNUBIN):/usr/bin
-COMPONENT_TEST_TARGETS =	test
+COMPONENT_TEST_TARGETS =
+
+COMPONENT_SYSTEM_TEST_DIR =	$(@D)/regression
+COMPONENT_SYSTEM_TEST_CMD =	./TEST
+# Need to put /usr/gnu/bin at the front of $PATH for GNU diff.
+COMPONENT_SYSTEM_TEST_ENV +=	PATH=$(GNUBIN):/usr/bin
+COMPONENT_SYSTEM_TEST_ENV +=	INDENT_BIN=/usr/bin/indent
+COMPONENT_SYSTEM_TEST_TARGETS =
 
 ASLR_MODE = $(ASLR_ENABLE)
 
-# common targets
 configure:	$(CONFIGURE_64)
 
 build:		$(BUILD_64)
@@ -62,7 +74,6 @@
 
 test:		install $(TEST_64)
 
-# Add install dependency as above when system-test targets are implemented.
-system-test:	$(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:	configure $(SYSTEM_TEST_64)
 
 REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/indent/patches/system-test.patch	Tue Aug 04 12:01:03 2015 -0700
@@ -0,0 +1,15 @@
+Patch to allow us to specify an alternate indent binary when running tests.
+
+This patch should be sent upstream.
+
+--- indent-2.2.9/regression/TEST.orig	2015-08-03 07:55:36.236058899 -0700
++++ indent-2.2.9/regression/TEST	2015-08-03 07:56:32.264810064 -0700
[email protected]@ -3,7 +3,7 @@
+ # Compare the output of ../src/indent to correct output
+ # generated by earlier versions
+ 
+-INDENT=../src/indent
++INDENT="${INDENT_BIN:-../src/indent}"
+ 
+ # First, make sure the executable exists
+ 
--- a/components/indent/test/results-64.master	Tue Aug 04 11:47:02 2015 -0700
+++ b/components/indent/test/results-64.master	Tue Aug 04 12:01:03 2015 -0700
@@ -1,5 +1,3 @@
-make[1]: Entering directory `$(@D)/regression'
-./TEST
 -n Regression testing 
 GNU indent 2.2.9
 
@@ -321,4 +319,3 @@
 
 Regression test successfully completed.
 
-make[1]: Leaving directory `$(@D)/regression'