| load("@rules_java//java:defs.bzl", "java_library", "java_test") | |
| # Description: | |
| # Skyframe tests. | |
| package( | |
| default_applicable_licenses = ["//:license"], | |
| default_testonly = 1, | |
| default_visibility = ["//visibility:private"], | |
| ) | |
| filegroup( | |
| name = "srcs", | |
| testonly = 0, | |
| srcs = glob(["**"]), | |
| visibility = ["//src:__pkg__"], | |
| ) | |
| TESTUTIL_FILES = [ | |
| "AbstractSkyFunctionEnvironmentForTesting.java", | |
| "TrackingAwaiter.java", | |
| "GraphTester.java", | |
| "GenericFunctionException.java", | |
| "InvalidationProgressReceiver.java", | |
| "SimpleSkyframeLookupResult.java", | |
| "SomeErrorException.java", | |
| "TrackingProgressReceiver.java", | |
| "ValueOrUntypedException.java", | |
| "WalkableGraphUtils.java", | |
| # Truth Subject, SubjectFactory, and Graph files. | |
| ] + glob(["*Subject.java"]) + glob(["*SubjectFactory.java"]) + glob(["*Graph.java"]) + glob(["*Helper.java"]) | |
| java_library( | |
| name = "testutil", | |
| srcs = TESTUTIL_FILES, | |
| visibility = [ | |
| "//src/test/java/com/google/devtools/build/lib:__subpackages__", | |
| ], | |
| deps = [ | |
| "//src/main/java/com/google/devtools/build/lib/concurrent:thread_safety", | |
| "//src/main/java/com/google/devtools/build/lib/events", | |
| "//src/main/java/com/google/devtools/build/lib/skyframe/serialization:visible-for-serialization", | |
| "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", | |
| "//src/main/java/com/google/devtools/build/lib/util", | |
| "//src/main/java/com/google/devtools/build/skyframe", | |
| "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", | |
| "//src/main/java/com/google/devtools/build/skyframe:version", | |
| "//src/test/java/com/google/devtools/build/lib/testutil:TestUtils", | |
| "//third_party/java/auto:auto_value", | |
| "//third_party/java/guava:base", | |
| "//third_party/java/guava:collect", | |
| "//third_party/java/guava:concurrent", | |
| "//third_party/java/jsr305_annotations", | |
| "//third_party/java/truth", | |
| ], | |
| ) | |
| java_library( | |
| name = "skyframe_tests", | |
| srcs = glob( | |
| ["*.java"], | |
| exclude = TESTUTIL_FILES, | |
| ), | |
| deps = [ | |
| ":testutil", | |
| "//src/main/java/com/google/devtools/build/lib/bugreport", | |
| "//src/main/java/com/google/devtools/build/lib/cmdline", | |
| "//src/main/java/com/google/devtools/build/lib/collect/nestedset", | |
| "//src/main/java/com/google/devtools/build/lib/concurrent", | |
| "//src/main/java/com/google/devtools/build/lib/events", | |
| "//src/main/java/com/google/devtools/build/lib/events:event_bus_event_handler", | |
| "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", | |
| "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils:round-tripping", | |
| "//src/main/java/com/google/devtools/build/lib/util", | |
| "//src/main/java/com/google/devtools/build/skyframe", | |
| "//src/main/java/com/google/devtools/build/skyframe:cpu_heavy_skykey", | |
| "//src/main/java/com/google/devtools/build/skyframe:graph_inconsistency_java_proto", | |
| "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", | |
| "//src/main/java/com/google/devtools/build/skyframe:version", | |
| "//src/test/java/com/google/devtools/build/lib/testutil:EventUtils", | |
| "//src/test/java/com/google/devtools/build/lib/testutil:TestRunnableWrapper", | |
| "//src/test/java/com/google/devtools/build/lib/testutil:TestSuite", | |
| "//src/test/java/com/google/devtools/build/lib/testutil:TestThread", | |
| "//src/test/java/com/google/devtools/build/lib/testutil:TestUtils", | |
| "//third_party/java/auto:auto_value", | |
| "//third_party/java/caffeine", | |
| "//third_party/java/guava:base", | |
| "//third_party/java/guava:collect", | |
| "//third_party/java/guava:concurrent", | |
| "//third_party/java/guava:eventbus", | |
| "//third_party/java/guava:testing", | |
| "//third_party/java/jsr305_annotations", | |
| "//third_party/java/junit", | |
| "//third_party/java/mockito", | |
| "//third_party/java/testparameterinjector", | |
| "//third_party/java/truth", | |
| ], | |
| ) | |
| java_test( | |
| name = "SkyframeTests", | |
| size = "medium", | |
| shard_count = 2, | |
| tags = ["not_run:arm"], | |
| test_class = "com.google.devtools.build.skyframe.AllTests", | |
| runtime_deps = [":skyframe_tests"], | |
| ) | |
| java_test( | |
| name = "SkyframeEvictionTest", | |
| size = "small", | |
| tags = ["cpu:4"], # Have some real CPUs to better suss out concurrency bugs | |
| test_class = "com.google.devtools.build.skyframe.SkyframeEvictionTest", | |
| runtime_deps = [":skyframe_tests"], | |
| ) |