Message ID | 201010062305.o96N5jcD024839@ignucius.se.axis.com |
---|---|
State | New |
Headers | show |
Hi, >> Date: Wed, 06 Oct 2010 11:47:00 +0200 >> From: Paolo Carlini <paolo.carlini@oracle.com> >> > >> The approach makes sense, in general. My only doubt >> > I take that as approval for the patch for the gate function! > Sure ;) > >> is that I don't >> think we want to add the gate to a large part of the test files in >> 27_io/basic_filebuf, essentially. >> > grep says that 105 of them have it, 110 lack it. So, maybe > better eliminate the need for the gate in that subtree. > Excellent analysis. >> Can't we skip the entire set at once, >> like we do for wchar_t or thread testcases, and leave the gate for those >> specific tests which are really sensitive to an lseek fully functional? >> > I think I see what you mean, hacking conformance.exp and filter > by filename. As below, looking for the "_filebuf" substring > perhaps? The base filenames themselves are rarely revealing > enough and most tests in */*_filebuf seem to need it. Half the > files in 27_io/basic_filebuf already have the > // { dg-require-fileio "" } > gate; I'm not completely sure how many of those without would > actually need the gate, but of those that I checked, 9/10 seem > to need it. A bit too many, so I appreciate been given an easy > way out. :) > Sure, I think this is the way to go in this case. Note: there are testcases using file i/o also *outside* basic_filebuf, I would guess not too many, and a few more uses of the gate should do it. > Tested in trees with/without a working simulator (together with > the gate-function-patch), observing the right choice taken. > > Ok? > Looks good to me. Can you wait just, say, 12 h, in case of comments from the aforementioned interested parties and the other C++ runtime maintainers? Thanks, Paolo.
--- libstdc++-v3/testsuite/libstdc++-dg/conformance.exp.orig Mon Oct 5 21:02:02 2009 +++ libstdc++-v3/testsuite/libstdc++-dg/conformance.exp Thu Oct 7 00:13:50 2010 @@ -1,6 +1,6 @@ # Functional and regression tests in C++ for libstdc++. -# Copyright (C) 2001, 2002, 2003, 2004, 2009 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2004, 2009, 2010 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -83,10 +83,13 @@ if {[info exists tests_file] && [file ex # 2. performance tests. # 3. wchar_t tests, if not supported. # 4. thread tests, if not supported. + # 5. *_filebuf, if file I/O is not supported. if { [string first _xin $t] == -1 && [string first performance $t] == -1 && (${v3-wchar_t} || [string first wchar_t $t] == -1) - && (${v3-threads} || [string first thread $t] == -1) } { + && (${v3-threads} || [string first thread $t] == -1) + && ([string first "_filebuf" $t] == -1 + || [check_v3_target_fileio]) } { lappend tests $t } }