aboutsummaryrefslogtreecommitdiff
path: root/BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'BUILD')
-rw-r--r--BUILD145
1 files changed, 145 insertions, 0 deletions
diff --git a/BUILD b/BUILD
new file mode 100644
index 0000000..82be038
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,145 @@
+# Wycheproof tests
+
+java_library(
+ name = "utils",
+ srcs = [
+ "java/com/google/security/wycheproof/EcUtil.java",
+ "java/com/google/security/wycheproof/RandomUtil.java",
+ "java/com/google/security/wycheproof/TestUtil.java",
+ ],
+)
+
+common_deps = [
+ ":utils",
+]
+
+test_srcs = glob(["java/com/google/security/wycheproof/testcases/*.java"]) + ["java/com/google/security/wycheproof/WycheproofRunner.java"]
+
+# These targets run all tests.
+
+load(":build_defs.bzl", "bouncycastle_all_tests", "spongycastle_all_tests")
+
+# Generates BouncyCastleAllTests_1_xx target for all available versions,
+# plus a BouncyCastleAllTests alias for latest stable.
+#
+# To test latest stable:
+# $ bazel test BouncyCastleAllTests
+#
+# To test other versions, e.g., v1.52:
+# $ bazel test BouncyCastleAllTests_1_52
+#
+# To test all known versions (warning, will take a long time):
+# $ bazel test BouncyCastleAllTest_*
+bouncycastle_all_tests(
+ # This test takes a long time, because key generation for DSA and DH generate new parameters.
+ size = "large",
+ srcs = ["java/com/google/security/wycheproof/BouncyCastleAllTests.java"] + test_srcs,
+ test_class = "com.google.security.wycheproof.BouncyCastleAllTests",
+ deps = common_deps,
+)
+
+java_test(
+ name = "BouncyCastleAllTestsLocal",
+ # this target requires specifing a shell variable, thus won't work with the wildcard target patterns.
+ # with tags=["manual"] it'll be excluded from said patterns.
+ tags = ["manual"],
+ size = "large",
+ srcs = ["java/com/google/security/wycheproof/BouncyCastleAllTests.java"] + test_srcs,
+ test_class = "com.google.security.wycheproof.BouncyCastleAllTests",
+ deps = common_deps + ["@local//:bouncycastle_jar"],
+)
+
+# Generates SpongyCastleAllTests_1_xx target for all available versions,
+# plus a SpongyCastleAllTests alias for latest stable.
+#
+# To test latest stable:
+# $ bazel test SpongyCastleAllTests
+#
+# To test other versions, e.g., v1.52.0.0:
+# $ bazel test SpongyCastleAllTests_1_52
+#
+# To test all known versions (warning, will take a long time):
+# $ bazel test SpongyCastleAllTests_*
+spongycastle_all_tests(
+ # This test takes a long time, because key generation for DSA and DH generate new parameters.
+ size = "large",
+ srcs = ["java/com/google/security/wycheproof/SpongyCastleAllTests.java"] + test_srcs,
+ test_class = "com.google.security.wycheproof.SpongyCastleAllTests",
+ deps = common_deps,
+)
+
+# These targets exclude slow tests.
+
+load(":build_defs.bzl", "bouncycastle_tests", "spongycastle_tests")
+
+# Generates BouncyCastleTest_1_xx target for all available versions,
+# plus a BouncyCastleTest alias for latest stable.
+#
+# To test latest stable:
+# $ bazel test BouncyCastleTest
+#
+# To test other versions, e.g., v1.52:
+# $ bazel test BouncyCastleTest_1_52
+#
+# To test all known versions:
+# $ bazel test BouncyCastleTest_*
+bouncycastle_tests(
+ size = "large",
+ srcs = ["java/com/google/security/wycheproof/BouncyCastleTest.java"] + test_srcs,
+ test_class = "com.google.security.wycheproof.BouncyCastleTest",
+ deps = common_deps,
+)
+
+java_test(
+ name = "BouncyCastleTestLocal",
+ # this target requires specifing a shell variable, thus won't work with the wildcard target patterns.
+ # with tags=["manual"] it'll be excluded from said patterns.
+ tags = ["manual"],
+ size = "large",
+ srcs = ["java/com/google/security/wycheproof/BouncyCastleTest.java"] + test_srcs,
+ test_class = "com.google.security.wycheproof.BouncyCastleTest",
+ deps = common_deps + ["@local//:bouncycastle_jar"],
+)
+
+# Generates SpongyCastleTest_1_xx target for all available versions,
+# plus a SpongyCastleTest alias for latest stable.
+#
+# To test latest stable:
+# $ bazel test SpongyCastleTest
+#
+# To test other versions, e.g., v1.52.0.0:
+# $ bazel test SpongyCastleTest_1_52
+#
+# To test all known versions:
+# $ bazel test SpongyCastleTest_*
+spongycastle_tests(
+ size = "large",
+ srcs = ["java/com/google/security/wycheproof/SpongyCastleTest.java"] + test_srcs,
+ test_class = "com.google.security.wycheproof.SpongyCastleTest",
+ deps = common_deps,
+)
+
+# OpenJDK tests
+java_test(
+ name = "OpenJDKTest",
+ size = "large",
+ srcs = ["java/com/google/security/wycheproof/OpenJDKTest.java"] + test_srcs,
+ test_class = "com.google.security.wycheproof.OpenJDKTest",
+ deps = common_deps,
+)
+
+java_test(
+ name = "OpenJDKAllTests",
+ size = "large",
+ srcs = ["java/com/google/security/wycheproof/OpenJDKAllTests.java"] + test_srcs,
+ test_class = "com.google.security.wycheproof.OpenJDKAllTests",
+ deps = common_deps,
+)
+
+# Platform-independent tests
+java_test(
+ name = "ProviderIndependentTest",
+ size = "small",
+ srcs = ["java/com/google/security/wycheproof/ProviderIndependentTest.java"] + test_srcs,
+ deps = common_deps,
+)