blob: 85ffeebbee45925ff638b02ea0f887b654889ae6 [file]
load("@rules_java//java:defs.bzl", "java_binary", "java_library", "java_test")
package(default_testonly = 1)
filegroup(
name = "srcs",
testonly = 0,
srcs = glob(["**"]),
visibility = ["//src/test/java/net/starlark/java:__pkg__"],
)
# EvalTests test the Starlark interpreter.
java_test(
name = "EvalTests",
srcs = [
"CompactImmutableDictTest.java",
"DynamicTypeCheckTest.java",
"EvalTests.java", # (suite)
"EvalUtilsTest.java",
"EvaluationTest.java",
"EvaluationTestCase.java",
"Examples.java",
"FunctionTest.java",
"ImmutableKeyTrackingDictTest.java",
"MethodLibraryTest.java",
"MutabilityTest.java",
"PrinterTest.java",
"StarlarkAnnotationsTest.java",
"StarlarkClassTest.java",
"StarlarkEvaluationTest.java",
"StarlarkFlagGuardingTest.java",
"StarlarkListTest.java",
"StarlarkMutableTest.java",
"StarlarkThreadDebuggingTest.java",
"StarlarkThreadTest.java",
"StaticTypeCheckTest.java",
"SymbolGeneratorTest.java",
],
jvm_flags = [
"-Dfile.encoding=UTF8",
# StarlarkListTest.concat_failsCleanlyOnOverflow() needs at least 4GB of max heap
"-Xmx4096m",
],
deps = [
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
"//src/main/java/net/starlark/java/syntax",
"//src/test/java/net/starlark/java/syntax:TestUtils",
"//third_party:auto_value",
"//third_party:guava",
"//third_party:guava-testlib",
"//third_party:jsr305",
"//third_party:junit4",
"//third_party:truth",
],
)
# Script-based tests of the Starlark interpreter.
java_library(
name = "ScriptTest_lib",
srcs = ["ScriptTest.java"],
data = glob(["testdata/*.star"]),
deps = [
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
"//src/main/java/net/starlark/java/lib/json",
"//src/main/java/net/starlark/java/syntax",
"//third_party:error_prone_annotations",
"//third_party:guava",
],
)
java_test(
name = "ScriptTest",
main_class = "net.starlark.java.eval.ScriptTest",
use_testrunner = False,
runtime_deps = [":ScriptTest_lib"],
)
java_test(
name = "ScriptTest_Latin1",
jvm_flags = ["-Dnet.starlark.java.eval.ScriptTest.utf8ByteStrings=true"],
main_class = "net.starlark.java.eval.ScriptTest",
use_testrunner = False,
runtime_deps = [":ScriptTest_lib"],
)
# Integration test of the Starlark CPU profiler, which requires its own process.
java_test(
name = "CpuProfilerTest",
srcs = ["CpuProfilerTest.java"],
data = ["//src/main/java/net/starlark/java/eval:cpu_profiler_jni"],
jvm_flags = ["-Djava.library.path=src/main/java/net/starlark/java/eval"],
main_class = "net.starlark.java.eval.CpuProfilerTest",
tags = ["no_windows"],
use_testrunner = False,
deps = [
"//src/main/java/net/starlark/java/eval",
"//src/main/java/net/starlark/java/eval:cpu_profiler_native_support_impl",
"//src/main/java/net/starlark/java/syntax",
"//third_party/pprof:profile_java_proto",
],
)
# Script-based benchmarks of the Starlark interpreter.
java_binary(
name = "Benchmarks",
srcs = ["Benchmarks.java"],
data = glob(["testdata/bench_*.star"]),
jvm_flags = ["-Dfile.encoding=UTF8"],
deps = [
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
"//src/main/java/net/starlark/java/lib/json",
"//src/main/java/net/starlark/java/syntax",
"//third_party:guava",
],
)