BUILD 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
  2. config_setting(
  3. name = "windows_x86_64",
  4. values = {"cpu": "x64_windows"},
  5. )
  6. go_library(
  7. name = "go_default_library",
  8. srcs = [
  9. "cases.go",
  10. "executor.go",
  11. "harness.go",
  12. "worker.go",
  13. ],
  14. importpath = "github.com/envoyproxy/protoc-gen-validate/tests/harness/executor",
  15. visibility = ["//visibility:private"],
  16. deps = [
  17. "//tests/harness:harness_go_proto",
  18. "//tests/harness/cases:go",
  19. "//tests/harness/cases/other_package:go",
  20. "@org_golang_google_protobuf//proto:go_default_library",
  21. "@org_golang_google_protobuf//types/known/anypb:go_default_library",
  22. "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
  23. "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
  24. "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
  25. "@org_golang_x_net//context:go_default_library",
  26. ],
  27. )
  28. go_binary(
  29. name = "executor",
  30. data = ["//tests/harness/cc:cc-harness"] + select({
  31. ":windows_x86_64": [
  32. "//tests/harness/go/main:go-harness-exe",
  33. ],
  34. "//conditions:default": [
  35. "//tests/harness/go/main:go-harness-bin",
  36. "//tests/harness/java:java-harness",
  37. "//tests/harness/python:python-harness",
  38. ],
  39. }),
  40. embed = [":go_default_library"],
  41. importpath = "github.com/envoyproxy/protoc-gen-validate/tests/harness/executor",
  42. visibility = ["//visibility:private"],
  43. )
  44. [
  45. sh_test(
  46. name = "executor_" + lang + "_test",
  47. srcs = ["executor_test.sh"],
  48. args = [
  49. "$(location :executor)",
  50. "-" + lang,
  51. ],
  52. data = [":executor"],
  53. # This could be sharded more, but each shard incurs overhead and test
  54. # execution is already sharded by having separate test rules for each language.
  55. shard_count = 5,
  56. deps = ["@bazel_tools//tools/bash/runfiles"],
  57. )
  58. for lang in ("cc", "go", "java", "python")
  59. ]