aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2001-05-19 03:42:53 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2001-05-19 03:42:53 +0000
commit662d9425456810ee33c4f69746a9d826fe6695ad (patch)
tree04f62f9ec554124b8ae09abd72e7d134161f0350 /libstdc++-v3
parentf99df08ea8c1ccfefb9398bce8eda149abbaa374 (diff)
downloadgcc-662d9425456810ee33c4f69746a9d826fe6695ad.zip
gcc-662d9425456810ee33c4f69746a9d826fe6695ad.tar.gz
gcc-662d9425456810ee33c4f69746a9d826fe6695ad.tar.bz2
README: Add notes.
2001-05-18 Benjamin Kosnik <bkoz@redhat.com> * testsuite/README: Add notes. * src/Makefile.am (libstdc++.INC): Remove. * src/Makefile.in: Regenerate. Phil Edwards <pedwards@disaster.jaj.com> * mkcheck.in: Add missing '#'. From-SVN: r42298
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog10
-rwxr-xr-xlibstdc++-v3/mkcheck.in3
-rw-r--r--libstdc++-v3/src/Makefile.am16
-rw-r--r--libstdc++-v3/src/Makefile.in13
-rw-r--r--libstdc++-v3/testsuite/README94
5 files changed, 88 insertions, 48 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b18874c..9873beb 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,13 @@
+2001-05-18 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/README: Add notes.
+
+ * src/Makefile.am (libstdc++.INC): Remove.
+ * src/Makefile.in: Regenerate.
+
+ Phil Edwards <pedwards@disaster.jaj.com>
+ * mkcheck.in: Add missing '#'.
+
2001-05-18 Angela Marie Thomas <angela@cygnus.com>
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set flags
diff --git a/libstdc++-v3/mkcheck.in b/libstdc++-v3/mkcheck.in
index 546a948..4212f1e 100755
--- a/libstdc++-v3/mkcheck.in
+++ b/libstdc++-v3/mkcheck.in
@@ -1,5 +1,4 @@
-!/usr/bin/env bash
-
+#!/usr/bin/env bash
# Script to do automated testing and data collection for various test
# files, so that we don't have to do this by hand on every test file.
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index 5cd1593..8152d71 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -21,7 +21,7 @@
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
-## $Id: Makefile.am,v 1.83 2001/04/11 18:52:31 bkoz Exp $
+## $Id: Makefile.am,v 1.84 2001/04/18 01:06:04 bkoz Exp $
AUTOMAKE_OPTIONS = 1.3 gnits
MAINT_CHARSET = latin1
@@ -282,20 +282,6 @@ myinstallheaders:
fi;
-# Alexandre put this in here for some libtool-related reason.
-all: libstdc++.INC
-libstdc++.INC: Makefile
- $(MAKE) \
- top_builddir=`CDPATH=:. && cd $(top_builddir) && pwd` \
- top_srcdir=`CDPATH=:. && cd $(top_srcdir) && pwd` \
- tmp-$@
- -rm -f $@
- mv tmp-$@ $@
-
-tmp-libstdc++.INC: Makefile
- echo $(INCLUDES) > $@
-
-
# AM_CXXFLAGS needs to be in each subdirectory so that it can be
# modified in a per-library or per-sub-library way. Need to manually
# set this option because CONFIG_CXXFLAGS has to be after
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index bc44f95..972d809 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -547,19 +547,6 @@ myinstallheaders:
done; \
fi;
-# Alexandre put this in here for some libtool-related reason.
-all: libstdc++.INC
-libstdc++.INC: Makefile
- $(MAKE) \
- top_builddir=`CDPATH=:. && cd $(top_builddir) && pwd` \
- top_srcdir=`CDPATH=:. && cd $(top_srcdir) && pwd` \
- tmp-$@
- -rm -f $@
- mv tmp-$@ $@
-
-tmp-libstdc++.INC: Makefile
- echo $(INCLUDES) > $@
-
# 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/libstdc++-v3/testsuite/README b/libstdc++-v3/testsuite/README
index 61c6bd2..a52cb312 100644
--- a/libstdc++-v3/testsuite/README
+++ b/libstdc++-v3/testsuite/README
@@ -1,6 +1,11 @@
- We're in the process of converting the existing testsuite machinery to
+We're in the process of converting the existing testsuite machinery to
use the new style DejaGnu framework. Eventually, we'll abandon
-../mkcheck.in in favor of this new testsuite framework.
+../mkcheck.in in favor of this new testsuite framework.
+
+
+// 1: How to write a testcase
+As per the dejagnu instructions, always return 0 from main to indicate
+success.
Basically, a testcase contains dg-keywords (see dg.exp) indicating
what to do and what kinds of behaviour are to be expected. New
@@ -74,23 +79,56 @@ effort.
# At least one target must be specified, use *-*-* for "all targets".
# At present it is not possible to specify both `xfail' and `target'.
# "native" may be used in place of "*-*-*".
-#
-# Example:
-#
-# [ ... some complicated code ... ]
-# return a; /* { dg-build "fatal" "ran out of spill regs" { xfail i386-*-* } } */
-#
-# In this example, the compiler use to crash on the "return a;" for some
-# target and that it still does crash on i386-*-*. Admittedly, this is a
-# contrived example.
-#
-# ??? It might be possible to add additional optional arguments by having
-# something like: { dg-error ".*syntax.*" "syntax error" { { foo 1 } ... } }
+Example 1: Testing compilation only
+(to just have a testcase do compile testing, without linking and executing)
+// { dg-do compile }
+
+Example 2: Testing for expected warings on line 36
+// { dg-warning "string literals" "" { xfail *-*-* } 36
+
+Example 3: Testing for compilation errors on line 41
+// { dg-do compile }
+// { dg-error "no match for" "" { xfail *-*-* } 41 }
+
+More examples can be found in the libstdc++-v3/testsuite/*/*.cc files.
+
+
+// 2: Test harness notes, invocation, and debugging.
+Configuring the dejagnu harness to work with libstdc++-v3 in a cross
+compilation environment has been maddening. However, it does work now,
+and on a variety of platforms. Including solaris, linux, and cygwin.
+
+To debug the test harness during runs, try invoking with
-The V3 testing framework supports additional keywords for the purpose
-of easing the job of writing testcases. All V3-keywords are of the
-form @xxx@. Currently supported keywords include:
+make check-target-libstdc++-v3 RUNTESTFLAGS="-v"
+or
+make check-target-libstdc++-v3 RUNTESTFLAGS="-v -v"
+
+There are two ways to run on a simulator: set up DEJAGNU to point to a
+specially crafted site.exp, or pass down --target_board flags.
+
+Example flags to pass down for various embedded builds are as follows:
+
+--target=powerpc-eabism (libgloss/sim)
+make check-target-libstdc++-v3 RUNTESTFLAGS="--target_board=powerpc-sim"
+
+--target=calmrisc32 (libgloss/sid)
+make check-target-libstdc++-v3 RUNTESTFLAGS="--target_board=calmrisc32-sid"
+
+--target=xscale-elf (newlib/sim)
+make check-target-libstdc++-v3 RUNTESTFLAGS="--target_board=arm-sim"
+
+
+// 3: Future plans, to be done
+Shared runs need to be implemented, for targets that support shared libraries.
+
+Diffing of expected output to standard streams needs to be finished off.
+
+The V3 testing framework supports, or will eventually support,
+additional keywords for the purpose of easing the job of writing
+testcases. All V3-keywords are of the form @xxx@. Currently plans
+for supported keywords include:
@require@ <files>
The existence of <files> is essential for the test to complete
@@ -108,4 +146,24 @@ form @xxx@. Currently supported keywords include:
same length. The test fails if diff returns non-zero a pair of
files.
--- Gaby
+Current testing problems with cygwin-hosted tools:
+
+There are two known problems which I have not addressed. The first is
+that when testing cygwin hosted tools from the unix build dir, it does
+the wrong thing building the wrapper program (testglue.c) because host
+and target are the same in site.exp (host and target are the same from
+the perspective of the target libraries)
+
+Problem number two is a little more annoying. In order for me to make
+v3 testing work on Windows, I had to tell dejagnu to copy over the
+debug_assert.h file to the remote host and then set the includes to
+-I./. This is how all the other tests like this are done so I didn't
+think much of it. However, this had some unfortunate results due to
+gcc having a testcase called "limits" and C++ having an include file
+called "limits". The gcc "limits" binary was in the temporary dir
+when the v3 tests were being built. As a result, the gcc "limits"
+binary was being #included rather than the intended one. The only way
+to fix this is to go through the testsuites and make sure binaries are
+deleted on the remote host when testing is done with them. That is a
+lot more work than I want to do so I worked around it by cleaning out
+D:\kermit on compsognathus and rerunning tests.