Index: third_party/re2/re2/testing/tester.h |
diff --git a/third_party/re2/re2/testing/tester.h b/third_party/re2/re2/testing/tester.h |
deleted file mode 100644 |
index d1e1b22a651ccb04486acba6b9b5d367bd3f4498..0000000000000000000000000000000000000000 |
--- a/third_party/re2/re2/testing/tester.h |
+++ /dev/null |
@@ -1,121 +0,0 @@ |
-// Copyright 2008 The RE2 Authors. All Rights Reserved. |
-// Use of this source code is governed by a BSD-style |
-// license that can be found in the LICENSE file. |
- |
-// Comparative tester for regular expression matching. |
-// Checks all implementations against each other. |
- |
-#ifndef RE2_TESTING_TESTER_H__ |
-#define RE2_TESTING_TESTER_H__ |
- |
-#include "re2/stringpiece.h" |
-#include "re2/prog.h" |
-#include "re2/regexp.h" |
-#include "re2/re2.h" |
-#include "util/pcre.h" |
- |
-namespace re2 { |
- |
-class Regexp; |
- |
-// All the supported regexp engines. |
-enum Engine { |
- kEngineBacktrack = 0, // Prog::BadSearchBacktrack |
- kEngineNFA, // Prog::SearchNFA |
- kEngineDFA, // Prog::SearchDFA, only ask whether it matched |
- kEngineDFA1, // Prog::SearchDFA, ask for match[0] |
- kEngineOnePass, // Prog::SearchOnePass, if applicable |
- kEngineBitState, // Prog::SearchBitState |
- kEngineRE2, // RE2, all submatches |
- kEngineRE2a, // RE2, only ask for match[0] |
- kEngineRE2b, // RE2, only ask whether it matched |
- kEnginePCRE, // PCRE (util/pcre.h) |
- |
- kEngineMax, |
-}; |
- |
-// Make normal math on the enum preserve the type. |
-// By default, C++ doesn't define ++ on enum, and e+1 has type int. |
-static inline void operator++(Engine& e, int unused) { |
- e = static_cast<Engine>(e+1); |
-} |
- |
-static inline Engine operator+(Engine e, int i) { |
- return static_cast<Engine>(static_cast<int>(e)+i); |
-} |
- |
-// A TestInstance caches per-regexp state for a given |
-// regular expression in a given configuration |
-// (UTF-8 vs Latin1, longest vs first match, etc.). |
-class TestInstance { |
- public: |
- struct Result; |
- |
- TestInstance(const StringPiece& regexp, Prog::MatchKind kind, |
- Regexp::ParseFlags flags); |
- ~TestInstance(); |
- Regexp::ParseFlags flags() { return flags_; } |
- bool error() { return error_; } |
- |
- // Runs a single test case: search in text, which is in context, |
- // using the given anchoring. |
- bool RunCase(const StringPiece& text, const StringPiece& context, |
- Prog::Anchor anchor); |
- |
- private: |
- // Runs a single search using the named engine type. |
- void RunSearch(Engine type, |
- const StringPiece& text, const StringPiece& context, |
- Prog::Anchor anchor, |
- Result *result); |
- |
- void LogMatch(const char* prefix, Engine e, const StringPiece& text, |
- const StringPiece& context, Prog::Anchor anchor); |
- |
- const StringPiece& regexp_str_; // regexp being tested |
- Prog::MatchKind kind_; // kind of match |
- Regexp::ParseFlags flags_; // flags for parsing regexp_str_ |
- bool error_; // error during constructor? |
- |
- Regexp* regexp_; // parsed regexp |
- int num_captures_; // regexp_->NumCaptures() cached |
- Prog* prog_; // compiled program |
- Prog* rprog_; // compiled reverse program |
- PCRE* re_; // PCRE implementation |
- RE2* re2_; // RE2 implementation |
- |
- DISALLOW_COPY_AND_ASSIGN(TestInstance); |
-}; |
- |
-// A group of TestInstances for all possible configurations. |
-class Tester { |
- public: |
- explicit Tester(const StringPiece& regexp); |
- ~Tester(); |
- |
- bool error() { return error_; } |
- |
- // Runs a single test case: search in text, which is in context, |
- // using the given anchoring. |
- bool TestCase(const StringPiece& text, const StringPiece& context, |
- Prog::Anchor anchor); |
- |
- // Run TestCase(text, text, anchor) for all anchoring modes. |
- bool TestInput(const StringPiece& text); |
- |
- // Run TestCase(text, context, anchor) for all anchoring modes. |
- bool TestInputInContext(const StringPiece& text, const StringPiece& context); |
- |
- private: |
- bool error_; |
- vector<TestInstance*> v_; |
- |
- DISALLOW_COPY_AND_ASSIGN(Tester); |
-}; |
- |
-// Run all possible tests using regexp and text. |
-bool TestRegexpOnText(const StringPiece& regexp, const StringPiece& text); |
- |
-} // namespace re2 |
- |
-#endif // RE2_TESTING_TESTER_H__ |