summaryrefslogtreecommitdiffstats
path: root/libcxx/test/re/re.alg
Commit message (Collapse)AuthorAgeFilesLines
* Move test into test/std subdirectory.Eric Fiselier2014-12-2027-12896/+0
| | | | llvm-svn: 224658
* [libcxx] Remove use of uniform initialization from regex tests so that they ↵Eric Fiselier2014-10-274-34/+34
| | | | | | | | | | | | | | compile in C++03. Reviewers: danalbert, jroelofs, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5957 llvm-svn: 220707
* [libcxx] XFAIL all currently failing libc++ tests for linux.Eric Fiselier2014-10-237-0/+21
| | | | | | | | | | | | | | | | | | Summary: Pretty please? We now have a significant number of builders that test libc++. I really want those builders to be green. Most of these failures are due to differences in locale data, including those in regex. I will continue working on fixing the locale and regex tests but there is no consensus on what the correct direction to go. Since the builders display a list of XFAIL tests they are by no means hidden. It just means they are expected failures. Now unexpected failures won't get mixed in with well known and expected failures. Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5941 llvm-svn: 220512
* Add locales to available_features for tests.Dan Albert2014-08-047-0/+14
| | | | | | | | | | | | | | | | | | Linux has a lot of failures caused by not having support for certain locales. Since these come out as a lot of noise in the test results, have lit.cfg detect the presence of the various locales used in the tests and add them to config.available_features as locale.LOCALE_NAME. This patch also adds REQUIRES: locale.REQUIRED_LOCALE to every test that I saw failing in this manner. We probably need to add more for all the tests requiring en_US.UTF-8, but we can do that on an as-needed basis. One thing that concerns me is how many tests get skipped because of missing locales (especially in regex/). We should make a point of splitting up any tests that test default behavior _and_ behavior under a given locale so that we aren't losing coverage for default behavior. llvm-svn: 214753
* Fix Bug 19678 - libc++ does not correctly handle the regex: '[^\0]*'Marshall Clow2014-05-211-0/+12
| | | | llvm-svn: 209307
* Implement LWG Issues #2329 and #2332 - disallow iterators into temporary ↵Marshall Clow2014-02-192-0/+76
| | | | | | regexes and regexes into temporary strings llvm-svn: 201717
* Ok, 3 major changes for debug mode in one commit:Howard Hinnant2013-08-021-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. I had been detecting and trapping iterator == and \!= among iterators in different containers as an error. But the trapping itself is actually an error. Consider: #include <iostream> #include <vector> #include <algorithm> template <class C> void display(const C& c) { std::cout << "{"; bool first = true; for (const auto& x : c) { if (\!first) std::cout << ", "; first = false; std::cout << x; } std::cout << "}\n"; } int main() { typedef std::vector<int> V; V v1 = {1, 3, 5}; V v2 = {2, 4, 6}; display(v1); display(v2); V::iterator i = std::find(v1.begin(), v1.end(), 1); V::iterator j = std::find(v2.begin(), v2.end(), 2); if (*i == *j) i = j; // perfectly legal // ... if (i \!= j) // the only way to check v2.push_back(*i); display(v1); display(v2); } It is legal to assign an iterator from one container to another of the same type. This is required to work. One might want to test whether or not such an assignment had been made. The way one performs such a check is using the iterator's ==, \!= operator. This is a logical and necessary function and does not constitute an error. 2. I had a header circular dependence bug when _LIBCPP_DEBUG2 is defined. This caused a problem in several of the libc++ tests. Fixed. 3. There is a serious problem when _LIBCPP_DEBUG2=1 at the moment in that std::basic_string is inoperable. std::basic_string uses __wrap_iterator to implement its iterators. __wrap_iterator has been rigged up in debug mode to support vector. But string hasn't been rigged up yet. This means that one gets false positives when using std::string in debug mode. I've upped std::string's priority in www/debug_mode.html. llvm-svn: 187636
* Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ↵Howard Hinnant2013-07-231-0/+98
| | | | | | | | ignoring capture groups inside lookahead assertions. For example, matching /(?=(a))(a)/ to "a" should yield two captures: \1 = "a", \2 = "a" llvm-svn: 186954
* Bill Fisher: This patch fixes a less likely case where '\b' can back up into ↵Howard Hinnant2013-07-111-0/+63
| | | | | | | | invalid memory, when driven by a regex_iterator (for case 1, see r185273 or http://llvm.org/bugs/show_bug.cgi?id=16240) The attached test program also supplies a test for the case 1 fix in r185273. llvm-svn: 186089
* Bill Fisher: This patch fixes a bug where regex_iterator doesn't indicate ↵Howard Hinnant2013-07-091-0/+38
| | | | | | | | when it's restarting in the middle of a string. This bug causes /^a/ to match in the middle of the string "aaaaaaa", during iteration. My patch uses to communicate when is false. llvm-svn: 185950
* Provide missing '{' in parsing extended quoted characters. This fixes ↵Howard Hinnant2013-06-281-0/+72
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=16135 llvm-svn: 185211
* William Fisher: A bug in __lookahead::exec causes /(?=^)b/ to match ab. ↵Howard Hinnant2013-06-281-0/+28
| | | | | | When makes a recursive call to , it passes true for the value of . This causes a beginning-of-line anchor (^) inside a lookahead assertion to match anywhere in the text. This fixes http://llvm.org/bugs/show_bug.cgi?id=11118 llvm-svn: 185196
* Move common header files into a 'support' directory; make 'testit' include ↵Marshall Clow2013-01-0514-14/+14
| | | | | | -I to that directory; rename 'iterators.h' to 'iterator_test.h'; remove hard-coded paths to include files from more than 350 source files llvm-svn: 171594
* Removed several more different 'iterators.h' files in libcxx/testMarshall Clow2013-01-0314-14/+14
| | | | llvm-svn: 171452
* license changeHoward Hinnant2010-11-1620-40/+40
| | | | llvm-svn: 119395
* Fixing whitespace problemsHoward Hinnant2010-08-222-2/+0
| | | | llvm-svn: 111763
* [re.alg.replace]. This finishes all of <regex>. That being said, <regex> ↵Howard Hinnant2010-08-186-0/+505
| | | | | | is exceptionally difficult to thoroughly test. If anyone has the ability to test this, combined with the interest to do so, now would be a good time. :-) llvm-svn: 111333
* [re.alg.match]Howard Hinnant2010-08-147-0/+5581
| | | | llvm-svn: 111075
* Everything under [re.regex]Howard Hinnant2010-08-133-6/+0
| | | | llvm-svn: 111024
* Fixed some bugs in the ecma bracket epression regarding escaped characters, ↵Howard Hinnant2010-07-282-0/+1598
| | | | | | and got the awk grammar going. llvm-svn: 109599
* lookahead for ecmaHoward Hinnant2010-07-271-0/+62
| | | | llvm-svn: 109548
* grep and egrep grammarsHoward Hinnant2010-07-272-0/+152
| | | | llvm-svn: 109534
* continued regex development...Howard Hinnant2010-07-273-104/+156
| | | | llvm-svn: 109512
* A good start on ecma regex's. Maybe even feature complete, not sure yet. ↵Howard Hinnant2010-07-271-0/+1505
| | | | | | Also an unrelated fix to is_constructible thanks to Daniel Krugler. llvm-svn: 109479
* I believe posix extended expr is feature complete. Getting started on ecma ↵Howard Hinnant2010-07-221-0/+1025
| | | | | | exprs. llvm-svn: 109126
* A few more tests for posix extended alternationHoward Hinnant2010-07-221-7/+42
| | | | llvm-svn: 109107
* A good start on extended posix regex. Loops working. Alternation working. ↵Howard Hinnant2010-07-161-0/+445
| | | | | | Also update by-chapter completeness summary. llvm-svn: 108548
* Tests for basic posix regex templated on wchar_tHoward Hinnant2010-07-151-0/+743
| | | | llvm-svn: 108435
* Fixed to work with generalized iterators.Howard Hinnant2010-07-141-0/+23
| | | | llvm-svn: 108359
* Minor optimizations. Minor bug fixes. More tests.Howard Hinnant2010-07-141-0/+142
| | | | llvm-svn: 108331
* Bracket expressions are working (lightly tested).Howard Hinnant2010-07-131-0/+101
| | | | llvm-svn: 108280
* regex_constants icase and collate for matching a single char and for ↵Howard Hinnant2010-07-121-0/+26
| | | | | | matching back references llvm-svn: 108178
* back references for BREHoward Hinnant2010-07-121-0/+162
| | | | llvm-svn: 108168
* Redesign number 3. The previous design was not handling matching of empty ↵Howard Hinnant2010-07-121-0/+81
| | | | | | strings inside of loops. llvm-svn: 108151
* weekly update to by-chapter-summary, plus left and right anchor support in ↵Howard Hinnant2010-07-091-0/+72
| | | | | | basic posix. llvm-svn: 107938
* Marked subexpressions in a loop in basic posix working (only lightly tested ↵Howard Hinnant2010-07-081-22/+40
| | | | | | so far) llvm-svn: 107889
* First loop test passed. The data structure and search algorithm is still ↵Howard Hinnant2010-07-071-16/+31
| | | | | | crude and in-flux. But this milestone needed to be locked in. Right now every loop is implemented in terms of a structure that will handle the most complicated {min, max} loop. Though only *-loops are tested at the moment. In a future iteration *-loops will likely be optimized a little more. The only tests are for basic posix so far, but I have prototype code running for extended posix and ecma. The prototype code lacks the complicating properties of the real <regex> requirements though. llvm-svn: 107803
* First test for marked subexpressionsHoward Hinnant2010-06-301-0/+44
| | | | llvm-svn: 107317
* First, very primitive, search results on one engineHoward Hinnant2010-06-301-0/+83
| | | | llvm-svn: 107294
* two steps forward, one step back...Howard Hinnant2010-06-301-0/+12
llvm-svn: 107230
OpenPOWER on IntegriCloud