Browse Source

* testsuite/libdejagnu: New directory for dejagnu library test

cases.
	* testsuite/libdejagnu/unit.cc: Test case for dejagnu.h.
	* testsuite/libdejagnu/tunit.exp: Test driver for dejagnu.h.
	* testsuite/libdejagnu/Makefile.am: New makefile to build the test
	case.
	* testsuite/libdejagnu/Makefile.in: Generated.
	* testsuite/Makefile.am: Add libdejagnu to SUBDIRS. Replace the
	site.exp rule, cause we don't want the $tool setting, so we run
	all the test suites. Don't pass the tool name for "make check".
	* configure.in: Add testsuite/libdejagnu/Makefile to AC_OUTPUT.
dejagnu-1.4
Rob Savoye 25 years ago
parent
commit
0abc6d284f
  1. 26
      ChangeLog
  2. 6
      configure.in
  3. 21
      testsuite/Makefile.am
  4. 192
      testsuite/Makefile.in
  5. 10
      testsuite/libdejagnu/Makefile.am
  6. 342
      testsuite/libdejagnu/Makefile.in
  7. 46
      testsuite/libdejagnu/tunit.exp
  8. 114
      testsuite/libdejagnu/unit.cc
  9. 2
      testsuite/runtest.all/options.exp

26
ChangeLog

@ -1,3 +1,29 @@
2001-05-03 Rob Savoye <rob@peggyo.welcomehome.org>
* testsuite/libdejagnu: New directory for dejagnu library test
cases.
* testsuite/libdejagnu/unit.cc: Test case for dejagnu.h.
* testsuite/libdejagnu/tunit.exp: Test driver for dejagnu.h.
* testsuite/libdejagnu/Makefile.am: New makefile to build the test
case.
* testsuite/libdejagnu/Makefile.in: Generated.
* testsuite/Makefile.am: Add libdejagnu to SUBDIRS. Replace the
site.exp rule, cause we don't want the $tool setting, so we run
all the test suites. Don't pass the tool name for "make check".
* configure.in: Add testsuite/libdejagnu/Makefile to AC_OUTPUT.
2001-05-02 Rob Savoye <rob@peggyo.welcomehome.org>
* Makefile.am: Rename dist2 to tarball target. Fix the version
number to have the minor release too.
* doc/Makefile.am: Convert all paths from relative to absolute,
cause not all verions of the db2* tools can work with a relative
path.
* redhat/dejagnu.spec: Update version number, and install
dejagnu.h.
* debian/changelog: Update version number.
* debian/rules: and install dejagnu.h
2001-05-01 Matt Hiller <hiller@redhat.com>
* lib/libgloss.exp (get_multilibs): Correction to Catherine

6
configure.in

@ -4,11 +4,12 @@ AC_INIT(runtest.exp)
dnl AC_CONFIG_AUX_DIR(..)
dnl These are required by automake
AM_INIT_AUTOMAKE(dejagnu, 1.4.0)
AM_INIT_AUTOMAKE(dejagnu, 1.4.1)
AM_MAINTAINER_MODE
AC_PROG_MAKE_SET
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_EXEEXT
@ -26,5 +27,6 @@ AC_SUBST(CONFIG)
AC_CONFIG_SUBDIRS(example/calc)
AC_OUTPUT(Makefile doc/Makefile testsuite/Makefile example/Makefile)
AC_OUTPUT(Makefile doc/Makefile testsuite/Makefile example/Makefile
testsuite/libdejagnu/Makefile)

21
testsuite/Makefile.am

@ -2,7 +2,7 @@
AUTOMAKE_OPTIONS = dejagnu
all:
all: site.exp
@echo "Nothing to be done for all"
RUNTEST = ` \
@ -10,5 +10,22 @@ RUNTEST = ` \
echo ${top_srcdir}/runtest$(EXEEXT) ; \
else echo "ERROR: runtest not found" ; exit 1; fi`
RUNTESTDEFAULTFLAGS = --tool runtest --srcdir $$srcdir
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 srcdir $(srcdir)' >> $@-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

192
testsuite/Makefile.in

@ -60,6 +60,7 @@ POST_UNINSTALL = :
BOARDS = @BOARDS@
CC = @CC@
CONFIG = @CONFIG@
CXX = @CXX@
DOCBOOK = @DOCBOOK@
EXEEXT = @EXEEXT@
MAINT = @MAINT@
@ -74,8 +75,10 @@ AUTOMAKE_OPTIONS = dejagnu
RUNTEST = ` if [ -f ${top_srcdir}/runtest$(EXEEXT) ] ; then echo ${top_srcdir}/runtest$(EXEEXT) ; else echo "ERROR: runtest not found" ; exit 1; fi`
RUNTESTDEFAULTFLAGS = --tool runtest --srcdir $$srcdir
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
@ -83,7 +86,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
EXPECT = expect
all: all-redirect
@ -95,9 +98,95 @@ 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)
@ -112,13 +201,23 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
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
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 =
@ -132,44 +231,32 @@ check-DEJAGNU: site.exp
$$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
dvi: dvi-recursive
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
check: check-am
check: check-recursive
installcheck-am:
installcheck: installcheck-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:
@ -182,35 +269,56 @@ distclean-generic:
-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-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
.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-am \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
all:
all: site.exp
@echo "Nothing to be done for all"
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 srcdir $(srcdir)' >> $@-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:

10
testsuite/libdejagnu/Makefile.am

@ -0,0 +1,10 @@
## Process this file with automake to generate Makefile.in
# AUTOMAKE_OPTIONS =
CFLAGS = -I$(top_srcdir)
bin_PROGRAMS = unit
unit_SOURCES = unit.cc

342
testsuite/libdejagnu/Makefile.in

@ -0,0 +1,342 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 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@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
TCLSH = @TCLSH@
VERSION = @VERSION@
tclsh = @tclsh@
CFLAGS = -I$(top_srcdir)
bin_PROGRAMS = unit
unit_SOURCES = unit.cc
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
bin_PROGRAMS = unit$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
DEFS = @DEFS@ -I. -I$(srcdir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
unit_OBJECTS = unit.o
unit_LDADD = $(LDADD)
unit_DEPENDENCIES =
unit_LDFLAGS =
CXXFLAGS = @CXXFLAGS@
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-binPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
distclean-binPROGRAMS:
maintainer-clean-binPROGRAMS:
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
done
.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-binPROGRAMS
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-binPROGRAMS
uninstall: uninstall-am
all-am: Makefile $(PROGRAMS)
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir)
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-binPROGRAMS mostlyclean-compile \
mostlyclean-tags mostlyclean-depend mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-binPROGRAMS clean-compile clean-tags clean-depend \
clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \
distclean-depend distclean-generic clean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-binPROGRAMS \
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-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
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:

46
testsuite/libdejagnu/tunit.exp

@ -0,0 +1,46 @@
load_lib "dejagnu.exp"
# If tracing has been enabled at the top level, then turn it on here
# too.
if $tracelevel {
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 ..

114
testsuite/libdejagnu/unit.cc

@ -0,0 +1,114 @@
// unit.cc -- This is a test case for the Dejagnu.h classes.
#include <iostream>
#include <dejagnu.h>
#include <regex.h>
#include <string>
#include <fstream>
#include <set>
#include <sys/types.h>
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.
char *os1[] = {
"FAI: ",
"PAS: ",
"UNT: ",
"UNR: "
};
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.
streambuf *sb = cout.rdbuf();
char bbuuff[5120];
sb->setbuf(bbuuff, 5120);
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 (&regex_pat, "\r\n\t#passed.*#failed.*#untested.*#unresolved", REG_NOSUB|REG_NEWLINE);
if (regexec (&regex_pat, bbuuff, 0, (regmatch_t *)0, 0)) {
runtest.pass ("Totals message");
} else {
runtest.fail ("Totals message");
}
}

2
testsuite/runtest.all/options.exp

@ -42,7 +42,6 @@ close $fd
set tests {
{ "" "WARNING: No tool specified" "No arguments" }
{ "-v --tool xXx" "Found.*site\..*Loading.*utils\.exp" "Loading library files" }
{ "-v --tool xXx" "Expect binary is.*Using.*main test driver" "Loading basic packages" }
{ "--F --tool x" "Illegal Argument \"--F\"" "Bad argument" }
@ -78,7 +77,6 @@ foreach i $tests {
set fd [open site.exp w]
puts ${fd} "set host_triplet $host_triplet"
puts ${fd} "set tool runtest"
puts ${fd} "set srcdir $srcdir"
puts ${fd} "set objdir $objdir"
puts ${fd} "set tmpdir $objdir/tmpdir"

Loading…
Cancel
Save