Martin, I updated the insert test using your last changes, the diff file is attached. I found minor problem in 21.strings.cpp: the enum element sig_void has value 1, and this value is used as index accessing the signatures array. I added dummy empty string to the begin of the signatures array to make indexes valid. The file with differences to 21.strings.cpp is attached. Here is the change log: 2006-04-24 Anton Pevtsov * 21.strings.cpp (setvars): Added empty string to signatures array to shift elements on 1 position, added formatting for insert overloads. Thanks, Anton Pevtsov -----Original Message----- From: Martin Sebor [mailto:sebor@roguewave.com] Sent: Monday, April 24, 2006 06:07 To: stdcxx-dev@incubator.apache.org Subject: Re: svn commit: r396375 [1/2] - in /incubator/stdcxx/trunk/tests: include/21.strings.h src/21.strings.cpp strings/21.string.append.cpp strings/21.string.assign.cpp strings/21.string.replace.cpp sebor@apache.org wrote: >> Author: sebor >> Date: Sun Apr 23 18:58:16 2006 >> New Revision: 396375 Anton, this implements some of the features we discussed. In the process of consolidating code from the individual tests into the 21.strings.cpp driver file I inadvertently removed some of the command line option handling. I'll put it back tomorrow. I also plan on moving some additional code from the tests into the driver and streamlining them even further. Let me know how this looks to you and if you have any suggestions for changes and/or improvements. Martin >> >> URL: http://svn.apache.org/viewcvs?rev=396375&view=rev >> Log: >> 2006-04-23 Martin Sebor >> >> * 21.strings.h (UnknownChar, UnknownTraits, UnknownAllocator): Added. >> (sig_void): Defined to 1 instead of 0 to distinguish an "unknown" >> value from a known one. >> (MemberId): New member indentifying a set of overloads of a given >> member function of basic_string. >> (SignatureId): Renamed from MemberFunction and defined partly in >> terms of MemberId constants. >> (Function): New struct uniquely identifying a specific overload of >> a given member function of a particular specialization of basic_string. >> (setvars): Renamed from format, changed signature and semantics and >> made private. >> (run_test): New function to run all test cases defined by a test. >> * 21.strings.cpp (setvars): Defined the environment variables CLASS, >> FUNC, FUNCSIG, and FUNCALL to the name of the specialization of the >> class template, the name of the member function, and the name of the >> overload of the member function, respectively, and optionally, the >> call to the member function with argument expanded. >> (run_test): Runs all test cases specified by each test. >> * 21.string.append.cpp: Simplified by using the above. >> (MemFun): Defined to StringMembers::Function. >> (tests): Made static local and removed function signatures obviated >> by the above changes. >> * 21.string.assign.cpp: Same. >> * 21.string.replace.cpp: Same. [...]