+2001-01-25 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * testsuite/27_io/*.cc: Remove explicit reference to 'testsuite/'
+ in testcases. Prepare for the DejaGnu based framework.
+ * mkcheck.in: Adjust call to tests_flags. Don't mmkdir testsuite
+ directory -- it is now mkcheck working directory.
+ * tests_flags.in: Remove reference to $(top_srcdir). Use
+ ${SRC_DIR} instead.
+ * Makefile.am (check, check-install): Change mkcheck invocation
+ logic.
+ * Makefile.in: Regenerate.
+
2001-01-24 Mark Mitchell <mark@codesourcery.com>
* config/os/aix/bits/atomicity.h (__compare_and_swap): Remove.
SUBDIRS = libio libmath libsupc++ src
-
-# Use $(blddir) instead of $(top_builddir) for arguments to "mkcheck"
+# Use $${builddir} instead of $(top_builddir) for arguments to "mkcheck"
# because then the paths will be full pathnames, not relative
# pathnames. (-Wl,--rpath seems to like this better.)
-check: $(top_builddir)/mkcheck
- chmod +x $(top_builddir)/mkcheck
- $(top_builddir)/mkcheck 0 `pwd` $(top_srcdir)
+check: $(top_builddir)/mkcheck
+ -(chmod + $(top_builddir)/mkcheck; \
+ srcdir=`cd $(top_srcdir); pwd`; builddir=`pwd`; \
+ test -d testsuite || (mkdir testsuite; chmod u+w testsuite); \
+ cd testsuite; $${builddir}/mkcheck 0 $${builddir} $${srcdir})
check-install: $(top_builddir)/mkcheck
- chmod +x $(top_builddir)/mkcheck
- $(top_builddir)/mkcheck 1 `pwd` $(top_srcdir) $(prefix)
+ -(chmod + $(top_builddir)/mkcheck; \
+ srcdir=`cd $(top_srcdir); pwd`; builddir=`pwd`; \
+ test -d testsuite || (mkdir testsuite; chmod u+w testsuite); \
+ cd testsuite; \
+ $${builddir}/mkcheck 1 $${builddir} $${srcdir} $(prefix))
# Multilib support.
MAKEOVERRIDES=
mostlyclean distclean maintainer-clean
-# Use $(blddir) instead of $(top_builddir) for arguments to "mkcheck"
+# Use $${builddir} instead of $(top_builddir) for arguments to "mkcheck"
# because then the paths will be full pathnames, not relative
# pathnames. (-Wl,--rpath seems to like this better.)
-check: $(top_builddir)/mkcheck
- chmod +x $(top_builddir)/mkcheck
- $(top_builddir)/mkcheck 0 `pwd` $(top_srcdir)
+check: $(top_builddir)/mkcheck
+ -(chmod + $(top_builddir)/mkcheck; \
+ srcdir=`cd $(top_srcdir); pwd`; builddir=`pwd`; \
+ test -d testsuite || (mkdir testsuite; chmod u+w testsuite); \
+ cd testsuite; $${builddir}/mkcheck 0 $${builddir} $${srcdir})
check-install: $(top_builddir)/mkcheck
- chmod +x $(top_builddir)/mkcheck
- $(top_builddir)/mkcheck 1 `pwd` $(top_srcdir) $(prefix)
+ -(chmod + $(top_builddir)/mkcheck; \
+ srcdir=`cd $(top_srcdir); pwd`; builddir=`pwd`; \
+ test -d testsuite || (mkdir testsuite; chmod u+w testsuite); \
+ cd testsuite; \
+ $${builddir}/mkcheck 1 $${builddir} $${srcdir} $(prefix))
# Multilib Makefile bits.
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
# Compute the flags necessary to run the testsuite.
saved_ifs=$IFS
IFS=':'
-set `./tests_flags ${query} $*` || exit 1
+set `../tests_flags ${query} $*` || exit 1
BUILD_DIR=$1; SRC_DIR=$2; PREFIX_DIR=$3; CXX=$4; CXXFLAGS=$5; INCLUDES=$6; LIBS=$7;
IFS=$saved_ifs
# Set up the testing directory, which should be in a directory called
# "testsuite" in the root level of the build directory.
-TEST_DIR="`pwd`/testsuite"
-if [ ! -d "$TEST_DIR" ]; then
- echo "making directory $TEST_DIR"
- mkdir $TEST_DIR
- mkdir $TEST_DIR/.libs # help libtool keep quiet
- chmod u+w $TEST_DIR
+TEST_DIR='.'
+# help libtool keep quiet
+if [ ! -d ${TEST_DIR}/.libs ]; then
+ mkdir $TEST_DIR/.libs
fi
# the name of the file that will collect and hold all this useful data:
# Compute include paths
# INCLUDES == include path to new headers for use on gcc command-line
-top_srcdir=@top_srcdir@
C_DIR="`basename @C_INCLUDE_DIR@`"
case ${query} in
--installed-library)
esac
# For built or installed libraries, we need to get right OS-specific bits.
-. ${top_srcdir}/configure.target
+. ${SRC_DIR}/configure.target
# LIB_PATH == where to find the build libraries for libtool's use
# CXX == the full pathname of the compiler
// buffer_size length of 8092, so that overflow/underflow can be
// simulated a bit more readily.
+// @require@ %-*.tst %-*.txt
+// @diff@ %-*.tst %*.txt
+
#include <fstream>
#include <debug_assert.h>
const char carray_01[] = "santa cruz or sandiego?";
const char carray_02[] = "memphis, new orleans, and savanah";
-const char name_01[] = "testsuite/filebuf-1.txt"; // file with data in it
-const char name_02[] = "testsuite/filebuf-2.txt"; // empty file, need to create
-const char name_03[] = "testsuite/filebuf-3.txt"; // empty file, need to create
+const char name_01[] = "filebuf-1.txt"; // file with data in it
+const char name_02[] = "filebuf-2.txt"; // empty file, need to create
+const char name_03[] = "filebuf-3.txt"; // empty file, need to create
class derived_filebuf: public std::filebuf
{
// USA.
// 27.8.1.3 filebuf member functions
+// @require@ %-*.tst %-*.txt
+// @diff@ %-*.tst %-*.txt
// various tests for filebuf::open() and filebuf::close() including
// the non-portable functionality in the libstdc++-v3 IO library
// thanks to "George T. Talbot" <george@moberg.com> for uncovering
// this bug/situation.
-const char name_01[] = "testsuite/filebuf_members-1.tst";
-const char name_02[] = "testsuite/filebuf_members-1.txt";
+const char name_01[] = "filebuf_members-1.tst";
+const char name_02[] = "filebuf_members-1.txt";
int
test_01()
// USA.
// 27.8.1.7 ifstream member functions
+// @require@ %-*.tst %-*.txt
+// @diff@ %-*.tst %-*.txt
#include <istream>
#include <fstream>
#include <debug_assert.h>
-const char name_01[] = "testsuite/ifstream_members-1.tst";
-const char name_02[] = "testsuite/ifstream_members-1.txt";
+const char name_01[] = "ifstream_members-1.tst";
+const char name_02[] = "ifstream_members-1.txt";
// http://gcc.gnu.org/ml/libstdc++/2000-06/msg00136.html
bool test00()
// USA.
// 27.4.2.4 ios_base static members
+// @require@ %-*.tst
+// @diff@ %-*.tst %-*.txt
#include <cstdio>
#include <sstream>
{
std::ios_base::sync_with_stdio();
- std::freopen("testsuite/ios_base_members_static-1.txt", "w", stdout);
+ std::freopen("ios_base_members_static-1.txt", "w", stdout);
for (int i = 0; i < 2; i++)
{
// USA.
// 27.6.1.2.3 basic_istream::operator>>
+// @require@ %-*.tst %-*.txt
+// @diff@ %-*.tst %-*.txt
#include <istream>
#include <sstream>
bool test = true;
typedef std::ios::traits_type ctraits_type;
- const char name_01[] = "testsuite/istream_extractor_other-1.txt"; //read
- const char name_02[] = "testsuite/istream_extractor_other-2.txt"; //write
+ const char name_01[] = "istream_extractor_other-1.txt"; //read
+ const char name_02[] = "istream_extractor_other-2.txt"; //write
std::filebuf fbin, fbout;
fbin.open(name_01, std::ios_base::in);
typedef ios::pos_type pos_type;
bool test = true;
- const char str_lit01[] = "testsuite/istream_unformatted-1.tst";
+ const char str_lit01[] = "istream_unformatted-1.tst";
// in
// test default ctors leave things in the same positions...
bool test = true;
std::istream::pos_type pos01, pos02, pos03, pos04, pos05, pos06;
std::ios_base::iostate state01, state02;
- const char str_lit01[] = "testsuite/istream_unformatted-1.txt";
- const char str_lit02[] = "testsuite/istream_unformatted-2.txt";
+ const char str_lit01[] = "istream_unformatted-1.txt";
+ const char str_lit02[] = "istream_unformatted-2.txt";
std::ifstream if01(str_lit01, std::ios_base::in | std::ios_base::out);
std::ifstream if02(str_lit01, std::ios_base::in);
std::ifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc);
bool test = true;
std::istream::pos_type pos01, pos02, pos03, pos04, pos05, pos06;
std::ios_base::iostate state01, state02;
- const char str_lit01[] = "testsuite/istream_unformatted-1.tst";
+ const char str_lit01[] = "istream_unformatted-1.tst";
std::ifstream if01(str_lit01);
std::ifstream if02(str_lit01);
std::ifstream if03(str_lit01);
// USA.
// 27.6.1.3 unformatted input functions
+// @require@ %-*.tst %-*.txt
+// @diff@ %-*.tst %-*.txt
#include <cstring> // for strncmp,...
#include <istream>
test07()
{
bool test = true;
- const char* tfn = "testsuite/istream_unformatted-3.txt";
+ const char* tfn = "istream_unformatted-3.txt";
std::ifstream infile;
infile.open(tfn);
VERIFY( !(!infile) );
// USA.
// 27.8.1.10 ofstream member functions
+// @require@ %-*.tst
+// @diff@ %-*.tst %-*.txt
#include <ostream>
#include <fstream>
#include <debug_assert.h>
-const char name_01[] = "testsuite/ofstream_members-1.tst";
-const char name_02[] = "testsuite/ofstream_members-1.txt";
+const char name_01[] = "ofstream_members-1.tst";
+const char name_02[] = "ofstream_members-1.txt";
// http://gcc.gnu.org/ml/libstdc++/2000-06/msg00136.html
bool test00()
bool test = true;
std::string str01;
const int size = 1000;
- const char name_02[] = "testsuite/ostream_inserter_char-1.txt";
+ const char name_02[] = "ostream_inserter_char-1.txt";
// initialize string
for(int i=0 ; i < size; i++) {
// USA.
// 27.6.2.5.4 basic_ostream character inserters
+// @require@ %-*.tst %-*.txt
+// @diff@ %-*.tst %-*.txt
#include <ostream>
#include <sstream>
#include <debug_assert.h>
const int size = 1000;
-const char name_01[] = "testsuite/ostream_inserter_other-1.tst";
-const char name_02[] = "testsuite/ostream_inserter_other-1.txt";
-const char name_03[] = "testsuite/ostream_inserter_other-2.tst";
-const char name_04[] = "testsuite/ostream_inserter_other-2.txt";
+const char name_01[] = "ostream_inserter_other-1.tst";
+const char name_02[] = "ostream_inserter_other-1.txt";
+const char name_03[] = "ostream_inserter_other-2.tst";
+const char name_04[] = "ostream_inserter_other-2.txt";
// stringstream
typedef ios::pos_type pos_type;
- const char* TEST_IN = "testsuite/ostream_inserter_other_in";
- const char* TEST_OUT = "testsuite/ostream_inserter_other_out";
+ const char* TEST_IN = "ostream_inserter_other_in";
+ const char* TEST_OUT = "ostream_inserter_other_out";
pos_type i_read, i_wrote, rs, ws;
double tf_size = BUFSIZ * 2.5;
ofstream testfile(TEST_IN);
typedef ios::pos_type pos_type;
bool test = true;
- const char str_lit01[] = "testsuite/ostream_seeks-1.txt";
+ const char str_lit01[] = "ostream_seeks-1.txt";
// out
// test default ctors leave things in the same positions...
bool test = true;
std::istream::pos_type pos01, pos02, pos03, pos04, pos05, pos06;
std::ios_base::iostate state01, state02;
- const char str_lit01[] = "testsuite/istream_unformatted-1.txt";
- const char str_lit02[] = "testsuite/istream_unformatted-2.txt";
+ const char str_lit01[] = "istream_unformatted-1.txt";
+ const char str_lit02[] = "istream_unformatted-2.txt";
std::ifstream if01(str_lit01, std::ios_base::in | std::ios_base::out);
std::ifstream if02(str_lit01, std::ios_base::in);
std::ifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc);
bool test = true;
std::istream::pos_type pos01, pos02, pos03, pos04, pos05, pos06;
std::ios_base::iostate state01, state02;
- const char str_lit01[] = "testsuite/istream_unformatted-1.tst";
+ const char str_lit01[] = "istream_unformatted-1.tst";
std::ifstream if01(str_lit01);
std::ifstream if02(str_lit01);
std::ifstream if03(str_lit01);