Skip to content

Commit 6bad31d

Browse files
brettchabotcopybara-androidxtest
authored andcommitted
Make TestsRegExFilter available for internal usage.
Move TestsRegExFilter to the androidx.test.filters package, and create an internal build target for only filters. PiperOrigin-RevId: 831947180
1 parent 54e9296 commit 6bad31d

File tree

5 files changed

+41
-20
lines changed

5 files changed

+41
-20
lines changed

runner/android_junit_runner/java/androidx/test/BUILD

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Description: Build rules for building androidx.test from source
22

33
load("@build_bazel_rules_android//android:rules.bzl", "android_library")
4+
load("@rules_java//java:defs.bzl", "java_library")
45
load("//build_extensions:api_checks.bzl", "api_checks")
56
load("//build_extensions:dackka_test.bzl", "dackka_test")
67
load("//build_extensions/maven:axt_android_aar.bzl", "axt_android_aar")
@@ -27,7 +28,8 @@ licenses(["notice"])
2728
android_library(
2829
name = "runner",
2930
srcs = glob(
30-
["**/*.java"],
31+
include = ["**/*.java"],
32+
exclude = ["filters/*.java"],
3133
),
3234
custom_package = "androidx.test.runner",
3335
idl_srcs = glob(["**/*.aidl"]),
@@ -36,9 +38,11 @@ android_library(
3638
"proguard_library.cfg",
3739
],
3840
exports = [
41+
":filters",
3942
"//runner/monitor",
4043
],
4144
deps = [
45+
":filters",
4246
"//opensource/androidx:annotation",
4347
"//runner/monitor",
4448
"//services/events/java/androidx/test/services/events",
@@ -49,6 +53,18 @@ android_library(
4953
],
5054
)
5155

56+
java_library(
57+
name = "filters",
58+
srcs = glob(["filters/*.java"]),
59+
visibility = [
60+
"//visibility:public",
61+
],
62+
deps = [
63+
"//opensource/androidx:annotation",
64+
"@maven//:junit_junit",
65+
],
66+
)
67+
5268
# Generate rules for the release artifacts.
5369
axt_android_aar(
5470
name = "runner_aar",

runner/android_junit_runner/java/androidx/test/internal/runner/filters/TestsRegExFilter.java renamed to runner/android_junit_runner/java/androidx/test/filters/TestsRegExFilter.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,19 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package androidx.test.internal.runner.filters;
16+
package androidx.test.filters;
1717

18-
import androidx.test.filters.AbstractFilter;
18+
import androidx.annotation.RestrictTo;
19+
import androidx.annotation.RestrictTo.Scope;
1920
import java.util.regex.Pattern;
2021
import org.junit.runner.Description;
2122

22-
/** A JUnit filter for filtering tests whose name match one of the given regular expression */
23+
/**
24+
* A JUnit filter for filtering tests whose name match one of the given regular expression.
25+
*
26+
* @hide
27+
*/
28+
@RestrictTo(Scope.LIBRARY)
2329
public final class TestsRegExFilter extends AbstractFilter {
2430

2531
private Pattern pattern = null;

runner/android_junit_runner/java/androidx/test/internal/runner/TestRequestBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
import androidx.test.filters.CustomFilter;
2525
import androidx.test.filters.RequiresDevice;
2626
import androidx.test.filters.SdkSuppress;
27+
import androidx.test.filters.TestsRegExFilter;
2728
import androidx.test.internal.runner.ClassPathScanner.ChainedClassNameFilter;
2829
import androidx.test.internal.runner.ClassPathScanner.ExcludeClassNamesFilter;
2930
import androidx.test.internal.runner.ClassPathScanner.ExcludePackageNameFilter;
3031
import androidx.test.internal.runner.ClassPathScanner.ExternalClassNameFilter;
3132
import androidx.test.internal.runner.ClassPathScanner.InclusivePackageNamesFilter;
32-
import androidx.test.internal.runner.filters.TestsRegExFilter;
3333
import androidx.test.internal.util.Checks;
3434
import androidx.tracing.Trace;
3535
import java.io.IOException;

runner/android_junit_runner/javatests/androidx/test/internal/runner/filters/BUILD renamed to runner/android_junit_runner/javatests/androidx/test/filters/BUILD

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Description: Tests for Runner
22

33
load(
4-
"//build_extensions:android_library_test.bzl",
5-
"axt_android_library_test",
4+
"//build_extensions:axt_android_local_test.bzl",
5+
"axt_android_local_test",
66
)
77

88
package(
@@ -12,17 +12,16 @@ package(
1212

1313
licenses(["notice"])
1414

15-
axt_android_library_test(
15+
axt_android_local_test(
1616
name = "TestsRegExFilterTest",
1717
srcs = [
1818
"TestsRegExFilterTest.java",
1919
],
2020
deps = [
2121
"//core",
2222
"//ext/junit",
23-
"//runner/android_junit_runner",
23+
"//runner/android_junit_runner/java/androidx/test:filters",
2424
"//runner/android_junit_runner/javatests/androidx/test/testing/fixtures",
2525
"@maven//:com_google_truth_truth",
26-
"@maven//:junit_junit",
2726
],
2827
)

runner/android_junit_runner/javatests/androidx/test/internal/runner/filters/TestsRegExFilterTest.java renamed to runner/android_junit_runner/javatests/androidx/test/filters/TestsRegExFilterTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package androidx.test.internal.runner.filters;
16+
package androidx.test.filters;
1717

1818
import static com.google.common.truth.Truth.assertThat;
1919

@@ -30,15 +30,15 @@ public static class TestFixture {}
3030

3131
@Test
3232
public void emptyPasses() {
33-
TestsRegExFilter filter = new TestsRegExFilter();
33+
androidx.test.filters.TestsRegExFilter filter = new androidx.test.filters.TestsRegExFilter();
3434
Description d = Description.createTestDescription(TestFixture.class, "any");
3535
;
3636
assertThat(filter.evaluateTest(d)).isTrue();
3737
}
3838

3939
@Test
4040
public void partialClassName() {
41-
TestsRegExFilter filter = new TestsRegExFilter();
41+
androidx.test.filters.TestsRegExFilter filter = new androidx.test.filters.TestsRegExFilter();
4242
filter.setPattern("TestFixture");
4343
Description d = Description.createTestDescription(TestFixture.class, "any");
4444

@@ -47,7 +47,7 @@ public void partialClassName() {
4747

4848
@Test
4949
public void partialClassName_noMatch() {
50-
TestsRegExFilter filter = new TestsRegExFilter();
50+
androidx.test.filters.TestsRegExFilter filter = new androidx.test.filters.TestsRegExFilter();
5151
filter.setPattern("NotTheClassImLookingFor");
5252
Description d = Description.createTestDescription(TestFixture.class, "any");
5353

@@ -56,25 +56,25 @@ public void partialClassName_noMatch() {
5656

5757
@Test
5858
public void packageMatch() {
59-
TestsRegExFilter filter = new TestsRegExFilter();
60-
filter.setPattern("androidx.test.internal.runner.filters");
59+
androidx.test.filters.TestsRegExFilter filter = new androidx.test.filters.TestsRegExFilter();
60+
filter.setPattern("androidx.test.filters");
6161
Description d = Description.createTestDescription(TestFixture.class, "any");
6262

6363
assertThat(filter.evaluateTest(d)).isTrue();
6464
}
6565

6666
@Test
6767
public void package_noMatch() {
68-
TestsRegExFilter filter = new TestsRegExFilter();
69-
filter.setPattern("androidx.test.internal.runner.filters.notit");
68+
androidx.test.filters.TestsRegExFilter filter = new androidx.test.filters.TestsRegExFilter();
69+
filter.setPattern("androidx.test.filters.notit");
7070
Description d = Description.createTestDescription(TestFixture.class, "any");
7171

7272
assertThat(filter.evaluateTest(d)).isFalse();
7373
}
7474

7575
@Test
7676
public void methodMatch() {
77-
TestsRegExFilter filter = new TestsRegExFilter();
77+
androidx.test.filters.TestsRegExFilter filter = new androidx.test.filters.TestsRegExFilter();
7878
filter.setPattern("TestFixture#any");
7979
Description d = Description.createTestDescription(TestFixture.class, "any");
8080

@@ -87,7 +87,7 @@ public void methodMatch() {
8787

8888
@Test
8989
public void methodOrMatch() {
90-
TestsRegExFilter filter = new TestsRegExFilter();
90+
androidx.test.filters.TestsRegExFilter filter = new TestsRegExFilter();
9191
filter.setPattern("TestFixture#any|TestFixture#excluded");
9292
Description d = Description.createTestDescription(TestFixture.class, "any");
9393

0 commit comments

Comments
 (0)