You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2006/05/02 19:40:32 UTC
svn commit: r398978 - /incubator/stdcxx/trunk/tests/src/21.strings.cpp
Author: sebor
Date: Tue May 2 10:40:31 2006
New Revision: 398978
URL: http://svn.apache.org/viewcvs?rev=398978&view=rev
Log:
2006-05-02 Martin Sebor <se...@roguewave.com>
* 21.strings.cpp (_rw_opt_no_self_ref): New option handler.
(_rw_run_test, run_test): Used _rw_opt_no_self_ref to disable
tests of self-referential modifying member functions.
Modified:
incubator/stdcxx/trunk/tests/src/21.strings.cpp
Modified: incubator/stdcxx/trunk/tests/src/21.strings.cpp
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/tests/src/21.strings.cpp?rev=398978&r1=398977&r2=398978&view=diff
==============================================================================
--- incubator/stdcxx/trunk/tests/src/21.strings.cpp (original)
+++ incubator/stdcxx/trunk/tests/src/21.strings.cpp Tue May 2 10:40:31 2006
@@ -92,6 +92,9 @@
static int
_rw_opt_no_exception_safety;
+static int
+_rw_opt_no_self_ref;
+
/**************************************************************************/
// coputes integral base-2 logarithm of its argument
@@ -704,6 +707,18 @@
continue;
}
+ const bool self_ref = 0 == tcase.arg;
+
+ // check for tests exercising self-referential
+ // modifications (e.g., insert(1, *this)
+ if (self_ref && _rw_opt_no_self_ref) {
+ // issue only the first note
+ rw_note (1 < _rw_opt_no_self_ref++,
+ __FILE__, __LINE__,
+ "selef-referential tests disabled");
+ continue;
+ }
+
// check to see if the test case is enabled
if (rw_enabled (tcase.line)) {
@@ -834,10 +849,12 @@
_rw_opt_no_alloc_types + 0,
_rw_opt_no_alloc_types + 1,
-
// handlers controlling exceptions
&_rw_opt_no_exceptions,
&_rw_opt_no_exception_safety,
+
+ // handler controlling self-referential modifiers
+ &_rw_opt_no_self_ref,
// handlers controlling specific overloads of a function
_rw_opt_memfun_disabled + sig_void - 1,