Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: testing/android/junit/java/src/org/chromium/testing/local/GtestFilter.java

Issue 597123002: Revert of [Android] JUnit runner + gyp changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@deps-changes
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: testing/android/junit/java/src/org/chromium/testing/local/GtestFilter.java
diff --git a/testing/android/junit/java/src/org/chromium/testing/local/GtestFilter.java b/testing/android/junit/java/src/org/chromium/testing/local/GtestFilter.java
deleted file mode 100644
index 68dcbb8716d3258f588993ab059b81e6eec5e898..0000000000000000000000000000000000000000
--- a/testing/android/junit/java/src/org/chromium/testing/local/GtestFilter.java
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.testing.local;
-
-import org.junit.runner.Description;
-import org.junit.runner.manipulation.Filter;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-/**
- * Filters tests based on a googletest-style filter string.
- */
-class GtestFilter extends Filter {
-
- private final String mFilterString;
-
- private final Set<Pattern> mPositiveRegexes;
- private final Set<Pattern> mNegativeRegexes;
-
- private static final Pattern ASTERISK = Pattern.compile("\\*");
- private static final Pattern COLON = Pattern.compile(":");
- private static final Pattern DASH = Pattern.compile("-");
- private static final Pattern PERIOD = Pattern.compile("\\.");
-
- /**
- * Creates the filter and converts the provided googletest-style filter
- * string into positive and negative regexes.
- */
- public GtestFilter(String filterString) {
- mFilterString = filterString;
- mPositiveRegexes = new HashSet<Pattern>();
- mNegativeRegexes = new HashSet<Pattern>();
-
- String[] filterStrings = COLON.split(filterString);
- for (String f : filterStrings) {
- if (f.isEmpty()) continue;
-
- String sanitized = PERIOD.matcher(f).replaceAll("\\\\.");
- sanitized = ASTERISK.matcher(sanitized).replaceAll(".*");
- int negIndex = sanitized.indexOf('-');
- if (negIndex == 0) {
- mNegativeRegexes.add(Pattern.compile(sanitized.substring(1)));
- } else if (negIndex != -1) {
- String[] c = DASH.split(sanitized, 2);
- mPositiveRegexes.add(Pattern.compile(c[0]));
- mNegativeRegexes.add(Pattern.compile(c[1]));
- } else {
- mPositiveRegexes.add(Pattern.compile(sanitized));
- }
- }
- }
-
- /**
- * Determines whether or not a test with the provided description should
- * run based on the configured positive and negative regexes.
- *
- * A test should run if:
- * - it's just a class, OR
- * - it doesn't match any of the negative regexes, AND
- * - either:
- * - there are no configured positive regexes, OR
- * - it matches at least one of the positive regexes.
- */
- @Override
- public boolean shouldRun(Description description) {
- if (description.getMethodName() == null) return true;
-
- String gtestName = description.getClassName() + "." + description.getMethodName();
- for (Pattern p : mNegativeRegexes) {
- if (p.matcher(gtestName).matches()) return false;
- }
-
- if (mPositiveRegexes.isEmpty()) return true;
-
- for (Pattern p : mPositiveRegexes) {
- if (p.matcher(gtestName).matches()) return true;
- }
-
- return false;
- }
-
- /**
- * Returns a description of this filter.
- */
- @Override
- public String describe() {
- return "gtest-filter: " + mFilterString;
- }
-
-}
-

Powered by Google App Engine
This is Rietveld 408576698