From 3414e7d45c117d6c3edd2d5ebe1b9a30be92bea7 Mon Sep 17 00:00:00 2001 From: nickc Date: Fri, 19 Apr 2002 15:58:07 +0000 Subject: [PATCH] Import moew files from dejagnu master repository. --- dejagnu/ChangeLog | 5 + dejagnu/testsuite/Makefile.am | 31 ++- dejagnu/testsuite/Makefile.in | 231 +++++++++++++++++----- dejagnu/testsuite/libdejagnu/Makefile.am | 11 ++ dejagnu/testsuite/libdejagnu/Makefile.in | 327 +++++++++++++++++++++++++++++++ dejagnu/testsuite/libdejagnu/tunit.exp | 42 ++++ dejagnu/testsuite/libdejagnu/unit.cc | 117 +++++++++++ 7 files changed, 708 insertions(+), 56 deletions(-) create mode 100644 dejagnu/testsuite/libdejagnu/Makefile.am create mode 100644 dejagnu/testsuite/libdejagnu/Makefile.in create mode 100644 dejagnu/testsuite/libdejagnu/tunit.exp create mode 100644 dejagnu/testsuite/libdejagnu/unit.cc diff --git a/dejagnu/ChangeLog b/dejagnu/ChangeLog index a9820c58ac..34c789c658 100644 --- a/dejagnu/ChangeLog +++ b/dejagnu/ChangeLog @@ -17,6 +17,11 @@ * debian/preinst : New file. * debian/rules : New file. * debian/site.exp : New file. + * testsuite/libdejagnu: New directory. + * testsuite/libdejagnu/Makefile.am: New file. + * testsuite/libdejagnu/Makefile.in: New file. + * testsuite/libdejagnu/tunit.exp: New file. + * testsuite/libdejagnu/unit.cc: New file. 2002-04-14 Elena Zannoni diff --git a/dejagnu/testsuite/Makefile.am b/dejagnu/testsuite/Makefile.am index 88dab63fee..6117848015 100644 --- a/dejagnu/testsuite/Makefile.am +++ b/dejagnu/testsuite/Makefile.am @@ -1,5 +1,32 @@ ## Process this file with automake to generate Makefile.in -AUTOMAKE_OPTIONS = cygnus dejagnu +AUTOMAKE_OPTIONS = dejagnu + +all all-am all-am-local all-local all-redirect-local all-redirect: force + @echo "Nothing to be done for all" + +force: + +RUNTEST = ` \ + if [ -f ${top_srcdir}/runtest$(EXEEXT) ] ; then \ + echo ${top_srcdir}/runtest$(EXEEXT); \ + else echo "ERROR: runtest not found" ; exit 1; fi` + +RUNTESTDEFAULTFLAGS = --srcdir $$srcdir +CLEANFILES = *.log *.sum site.bak setval.tmp + +SUBDIRS = libdejagnu + +site.exp: Makefile + @echo 'Making a new site.exp file...' + @test ! -f site.bak || rm -f site.bak + @echo '## these variables are automatically generated by make ##' > $@-t + @echo '# Do not edit here. If you wish to override these values' >> $-t + @echo '# edit the last section' >> $@-t + @echo 'set objdir' `pwd` >> $@-t + @echo 'set tmpdir tmpdir' >> $@-t + @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t + @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t + @test ! -f site.exp || mv site.exp site.bak + @mv $@-t site.exp -DEJATOOL = runtest diff --git a/dejagnu/testsuite/Makefile.in b/dejagnu/testsuite/Makefile.in index eea1b06b3c..7f8b474d65 100644 --- a/dejagnu/testsuite/Makefile.in +++ b/dejagnu/testsuite/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -60,16 +60,31 @@ POST_UNINSTALL = : BOARDS = @BOARDS@ CC = @CC@ CONFIG = @CONFIG@ +CXX = @CXX@ +DOCBOOK = @DOCBOOK@ EXEEXT = @EXEEXT@ +LEX = @LEX@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ PACKAGE = @PACKAGE@ +TCLSH = @TCLSH@ VERSION = @VERSION@ +YACC = @YACC@ +tclsh = @tclsh@ -AUTOMAKE_OPTIONS = cygnus dejagnu +AUTOMAKE_OPTIONS = dejagnu -DEJATOOL = runtest -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs +RUNTEST = ` \ + if [ -f ${top_srcdir}/runtest$(EXEEXT) ] ; then \ + echo ${top_srcdir}/runtest$(EXEEXT); \ + else echo "ERROR: runtest not found" ; exit 1; fi` + + +RUNTESTDEFAULTFLAGS = --srcdir $$srcdir +CLEANFILES = *.log *.sum site.bak setval.tmp + +SUBDIRS = libdejagnu +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = DIST_COMMON = Makefile.am Makefile.in @@ -78,28 +93,118 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = gtar GZIP_ENV = --best -EXPECT = `if test -f $(top_builddir)/../expect/expect; then echo $(top_builddir)/../expect/expect; else echo expect; fi` -RUNTEST = `if test -f $(top_srcdir)/../dejagnu/runtest; then echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi` +EXPECT = expect all: all-redirect .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --cygnus testsuite/Makefile + cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. + +@SET_MAKE@ + +all-recursive install-data-recursive install-exec-recursive \ +installdirs-recursive install-recursive uninstall-recursive \ +check-recursive installcheck-recursive info-recursive dvi-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ + rev="$$subdir $$rev"; \ + test "$$subdir" != "." || dot_seen=yes; \ + done; \ + test "$$dot_seen" = "no" && rev=". $$rev"; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done + tags: TAGS -TAGS: +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) subdir = testsuite distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu testsuite/Makefile @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + d=$(srcdir); \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $(distdir)/$$file; \ else \ @@ -108,100 +213,118 @@ distdir: $(DISTFILES) || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done + for subdir in $(SUBDIRS); do \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ + || exit 1; \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ + done RUNTESTFLAGS = -RUNTESTDEFAULTFLAGS = --tool $(DEJATOOL) --srcdir $$srcdir +DEJATOOL = $(PACKAGE) check-DEJAGNU: site.exp srcdir=`cd $(srcdir) && pwd`; export srcdir; \ EXPECT=$(EXPECT); export EXPECT; \ - if [ -f $(top_builddir)/../expect/expect ]; then \ - TCL_LIBRARY=`cd $(top_srcdir)/../tcl/library && pwd`; \ - export TCL_LIBRARY; \ - fi; \ runtest=$(RUNTEST); \ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ $$runtest $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi -site.exp: Makefile - @echo 'Making a new site.exp file...' - @test ! -f site.bak || rm -f site.bak - @echo '## these variables are automatically generated by make ##' > $@-t - @echo '# Do not edit here. If you wish to override these values' >> $@-t - @echo '# edit the last section' >> $@-t - @echo 'set tool $(DEJATOOL)' >> $@-t - @echo 'set srcdir $(srcdir)' >> $@-t - @echo 'set objdir' `pwd` >> $@-t - @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t - @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t - @test ! -f site.exp || mv site.exp site.bak - @mv $@-t site.exp info-am: -info: info-am +info: info-recursive dvi-am: -dvi: dvi-am -check-am: +dvi: dvi-recursive +check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU -check: check-am +check: check-recursive installcheck-am: -installcheck: installcheck-am -install-info-am: -install-info: install-info-am +installcheck: installcheck-recursive install-exec-am: -install-exec: install-exec-am +install-exec: install-exec-recursive install-data-am: -install-data: install-data-am +install-data: install-data-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am +install: install-recursive uninstall-am: -uninstall: uninstall-am +uninstall: uninstall-recursive all-am: Makefile -all-redirect: all-am +all-redirect: all-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: +installdirs: installdirs-recursive +installdirs-am: mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: -mostlyclean-am: mostlyclean-generic +mostlyclean-am: mostlyclean-tags mostlyclean-generic -mostlyclean: mostlyclean-am +mostlyclean: mostlyclean-recursive -clean-am: clean-generic mostlyclean-am +clean-am: clean-tags clean-generic mostlyclean-am -clean: clean-am +clean: clean-recursive -distclean-am: distclean-generic clean-am +distclean-am: distclean-tags distclean-generic clean-am -distclean: distclean-am +distclean: distclean-recursive -maintainer-clean-am: maintainer-clean-generic distclean-am +maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -maintainer-clean: maintainer-clean-am +maintainer-clean: maintainer-clean-recursive -.PHONY: tags distdir check-DEJAGNU info-am info dvi-am dvi check \ -check-am installcheck-am installcheck install-info-am install-info \ +.PHONY: install-data-recursive uninstall-data-recursive \ +install-exec-recursive uninstall-exec-recursive installdirs-recursive \ +uninstalldirs-recursive all-recursive check-recursive \ +installcheck-recursive info-recursive dvi-recursive \ +mostlyclean-recursive distclean-recursive clean-recursive \ +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +distclean-tags clean-tags maintainer-clean-tags distdir check-DEJAGNU \ +info-am info dvi-am dvi check check-am installcheck-am installcheck \ install-exec-am install-exec install-data-am install-data install-am \ -install uninstall-am uninstall all-redirect all-am all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ +install uninstall-am uninstall all-redirect all-am all installdirs-am \ +installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean +all all-am all-am-local all-local all-redirect-local all-redirect: force + @echo "Nothing to be done for all" + +force: + +site.exp: Makefile + @echo 'Making a new site.exp file...' + @test ! -f site.bak || rm -f site.bak + @echo '## these variables are automatically generated by make ##' > $@-t + @echo '# Do not edit here. If you wish to override these values' >> $-t + @echo '# edit the last section' >> $@-t + @echo 'set objdir' `pwd` >> $@-t + @echo 'set tmpdir tmpdir' >> $@-t + @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t + @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t + @test ! -f site.exp || mv site.exp site.bak + @mv $@-t site.exp + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/dejagnu/testsuite/libdejagnu/Makefile.am b/dejagnu/testsuite/libdejagnu/Makefile.am new file mode 100644 index 0000000000..2cba0bbedd --- /dev/null +++ b/dejagnu/testsuite/libdejagnu/Makefile.am @@ -0,0 +1,11 @@ +## Process this file with automake to generate Makefile.in + +# AUTOMAKE_OPTIONS = + +CFLAGS = -I$(top_srcdir) -g +CXXFLAGS = -I$(top_srcdir) -g + +noinst_PROGRAMS = unit + +unit_SOURCES = unit.cc + diff --git a/dejagnu/testsuite/libdejagnu/Makefile.in b/dejagnu/testsuite/libdejagnu/Makefile.in new file mode 100644 index 0000000000..33519883a9 --- /dev/null +++ b/dejagnu/testsuite/libdejagnu/Makefile.in @@ -0,0 +1,327 @@ +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# AUTOMAKE_OPTIONS = + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = ../.. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +BOARDS = @BOARDS@ +CC = @CC@ +CONFIG = @CONFIG@ +CXX = @CXX@ +DOCBOOK = @DOCBOOK@ +EXEEXT = @EXEEXT@ +LEX = @LEX@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +PACKAGE = @PACKAGE@ +TCLSH = @TCLSH@ +VERSION = @VERSION@ +YACC = @YACC@ +tclsh = @tclsh@ + +CFLAGS = -I$(top_srcdir) -g +CXXFLAGS = -I$(top_srcdir) -g + +noinst_PROGRAMS = unit + +unit_SOURCES = unit.cc +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_CLEAN_FILES = +noinst_PROGRAMS = unit$(EXEEXT) +PROGRAMS = $(noinst_PROGRAMS) + + +DEFS = @DEFS@ -I. -I$(srcdir) +CPPFLAGS = @CPPFLAGS@ +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +unit_OBJECTS = unit.o +unit_LDADD = $(LDADD) +unit_DEPENDENCIES = +unit_LDFLAGS = +CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +DEP_FILES = .deps/unit.P +SOURCES = $(unit_SOURCES) +OBJECTS = $(unit_OBJECTS) + +all: all-redirect +.SUFFIXES: +.SUFFIXES: .S .c .cc .o .s +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/libdejagnu/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +mostlyclean-noinstPROGRAMS: + +clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + +distclean-noinstPROGRAMS: + +maintainer-clean-noinstPROGRAMS: + +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< + +mostlyclean-compile: + -rm -f *.o core *.core + +clean-compile: + +distclean-compile: + -rm -f *.tab.c + +maintainer-clean-compile: + +unit$(EXEEXT): $(unit_OBJECTS) $(unit_DEPENDENCIES) + @rm -f unit$(EXEEXT) + $(CXXLINK) $(unit_LDFLAGS) $(unit_OBJECTS) $(unit_LDADD) $(LIBS) +.cc.o: + $(CXXCOMPILE) -c $< + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = testsuite/libdejagnu + +distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu testsuite/libdejagnu/Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done + +DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) + +-include $(DEP_FILES) + +mostlyclean-depend: + +clean-depend: + +distclean-depend: + -rm -rf .deps + +maintainer-clean-depend: + +%.o: %.c + @echo '$(COMPILE) -c $<'; \ + $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-cp .deps/$(*F).pp .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm .deps/$(*F).pp + +%.lo: %.c + @echo '$(LTCOMPILE) -c $<'; \ + $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*F).pp > .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm -f .deps/$(*F).pp + +%.o: %.cc + @echo '$(CXXCOMPILE) -c $<'; \ + $(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-cp .deps/$(*F).pp .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm .deps/$(*F).pp + +%.lo: %.cc + @echo '$(LTCXXCOMPILE) -c $<'; \ + $(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*F).pp > .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm -f .deps/$(*F).pp +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am + +install-data-am: +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile $(PROGRAMS) +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \ + mostlyclean-tags mostlyclean-depend mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-noinstPROGRAMS clean-compile clean-tags clean-depend \ + clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-noinstPROGRAMS distclean-compile distclean-tags \ + distclean-depend distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-noinstPROGRAMS \ + maintainer-clean-compile maintainer-clean-tags \ + maintainer-clean-depend maintainer-clean-generic \ + distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ +clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ +mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile tags mostlyclean-tags distclean-tags \ +clean-tags maintainer-clean-tags distdir mostlyclean-depend \ +distclean-depend clean-depend maintainer-clean-depend info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/dejagnu/testsuite/libdejagnu/tunit.exp b/dejagnu/testsuite/libdejagnu/tunit.exp new file mode 100644 index 0000000000..40e2797012 --- /dev/null +++ b/dejagnu/testsuite/libdejagnu/tunit.exp @@ -0,0 +1,42 @@ +load_lib "dejagnu.exp" + +# Uncomment these for debugging help +#strace $tracelevel +# exp_internal -f dbg.log 1 + +# Execute everything in the test subdir so all the output files go there. +cd $subdir + +# Get the size of the module being tested. +set sizes [exe_size "unit"] +if {[lindex $sizes 0] == "-1"} { + perror "Couldn't get the object file size" 0 +} + +# Extract the text section size +set textsize [lindex $sizes 0] + +# Extract the data section size +set datasize [lindex $sizes 1] + +# FIXME: This ultimately needs to be recorded in the testing database, +# which doesn't exist yet. Till then it's kinda bogus, but I figured +# it would be useful having working code to get this data. So we print +# it out, just for the demo aspects. +verbose "Text section size of proctor is 0x$textsize" +verbose "Data section size of proctor is 0x$datasize" + +# Execute the test case, and analyse the output +if { [host_execute "unit"] != "" } { + perror "unit had an execution error" 0 +} + +# All done, back to the top level test directory +cd .. + + + + + + + diff --git a/dejagnu/testsuite/libdejagnu/unit.cc b/dejagnu/testsuite/libdejagnu/unit.cc new file mode 100644 index 0000000000..d01869ac10 --- /dev/null +++ b/dejagnu/testsuite/libdejagnu/unit.cc @@ -0,0 +1,117 @@ +// unit.cc -- This is a test case for the Dejagnu.h classes. + +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +TestState runtest; +TestState test; + +class TestClass1 { +public: + string tname; + unsigned int tnum; +}; + +TestClass1 testClass1, testClass2, testClass3; +TestClass1 *testClassPtr; + +// We have to so this silly crap with renaming the output string, so the generic +// Tcl code that looks for the output state gets confused, and records random +// duplicate messages. +const char *os1[] = { + "FAI: ", + "PAS: ", + "UNT: ", + "UNR: " +}; + +const char *os2[] = { + "FAILED: ", + "PASSED: ", + "UNTESTED: ", + "UNRESOLVED: " +}; + +int +main (int argc, char *argv[]) { + regex_t regex_pat; + +// char **os2 = outstate; + outstate = os1; + + // Replace the output buffer for cout, so we can examine it to + // see what was displayed. Otherwise, there is no way we can test + // the logging functions completely. + char bbuuff[5120]; +#ifdef HAVE_STL3 + cout.rdbuf()->pubsetbuf(bbuuff, 5120); +#else + cout.rdbuf()->setbuf(bbuuff, 5120); +#endif + + testClass1.tname = "testType1"; + testClass1.tnum = 1; + testClass2.tname = "testType2"; + testClass2.tnum = 2; + testClass3.tname = "testType3"; + testClass3.tnum = 3; + + // Test the pass message + test.pass ("bogus pass message for testing"); + outstate = os2; + if (strncmp(bbuuff, "\tPAS: bogus pass message", 22) == 0) { + runtest.pass ("Pass message"); + } else { + runtest.fail ("Pass message"); + } + + // Test the fail message + outstate = os1; + test.fail ("bogus fail message for testing"); + cout.flush(); + outstate = os2; + if (strncmp(bbuuff, "\tFAI: bogus fail message", 22) == 0) { + runtest.pass ("Fail message"); + } else { + runtest.fail ("Fail message"); + } + + // Test the untested message + outstate = os1; + test.untested ("bogus untested message for testing"); + cout.flush(); + outstate = os2; + if (strncmp(bbuuff, "\tUNT: bogus untested message", 21) == 0) { + runtest.pass ("Untested message"); + } else { + runtest.fail ("Untested message"); + } + + // Test the unresolved message + outstate = os1; + test.unresolved ("bogus unresolved message for testing"); + cout.flush(); + outstate = os2; + if (strncmp(bbuuff, "\tUNR: bogus unresolved message", 21) == 0) { + runtest.pass ("Unresolved message"); + } else { + runtest.fail ("Unresolved message"); + } + + // Make sure we got everything in the totals + regcomp (®ex_pat, "\r\n\t#passed.*#failed.*#untested.*#unresolved", REG_NOSUB|REG_NEWLINE); + if (regexec (®ex_pat, bbuuff, 0, (regmatch_t *)0, 0)) { + runtest.pass ("Totals message"); + } else { + runtest.fail ("Totals message"); + } +} + + -- 2.11.0