Merge pull request #903 from pherl/bazel_test

Enable python bazel tests and explicit list python dependencies.
pull/904/head
Jisi Liu 9 years ago
commit 1abf297fb9
  1. 22
      BUILD
  2. 12
      WORKSPACE
  3. 12
      six.BUILD

22
BUILD

@ -472,8 +472,6 @@ java_library(
# Python support
################################################################################
# Requires: six for python 2/3 compatibility. `pip install six`
# Hack:
# protoc generated files contain imports like:
# "from google.protobuf.xxx import yyy"
@ -485,10 +483,13 @@ java_library(
# that depend on the target.
#
# If you use python protobuf as a third_party library in your bazel managed
# project, please import the whole package to //google/protobuf in your
# project:
# 1) Please import the whole package to //google/protobuf in your
# project. Otherwise, bazel disallows generated files out of the current
# package, thus we won't be able to copy protobuf runtime files into
# //google/protobuf/.
# 2) The runtime also requires "six" for Python2/3 compatibility, please see the
# WORKSPACE file and bind "six" to your workspace as well.
internal_copied_filegroup(
name = "python_srcs",
srcs = glob(
@ -510,6 +511,7 @@ py_proto_library(
include = "src",
protoc = ":protoc",
py_extra_srcs = [":python_srcs"],
py_libs = ["//external:six"],
visibility = ["//visibility:public"],
)
@ -534,7 +536,10 @@ py_proto_library(
py_proto_library(
name = "python_specific_test_protos",
srcs = glob(["python/google/protobuf/internal/*.proto"]),
srcs = glob([
"python/google/protobuf/internal/*.proto",
"python/google/protobuf/internal/import_test_package/*.proto",
]),
include = "python",
protoc = ":protoc",
deps = [":python_common_test_protos"],
@ -552,6 +557,9 @@ py_library(
internal_protobuf_py_tests(
name = "python_tests_batch",
data = glob([
"src/google/protobuf/**/*",
]),
modules = [
"descriptor_database_test",
"descriptor_pool_test",
@ -559,13 +567,13 @@ internal_protobuf_py_tests(
"generator_test",
"json_format_test",
"message_factory_test",
# "message_test", # failed due to testdata path
"message_test",
"proto_builder_test",
# "reflection_test", # failed due to testdata path
"reflection_test",
"service_reflection_test",
"symbol_database_test",
"text_encoding_test",
# "text_format_test", # failed due to testdata path
"text_format_test",
"unknown_fields_test",
"wire_format_test",
],

@ -5,6 +5,13 @@ new_http_archive(
build_file = "gmock.BUILD",
)
new_http_archive(
name = "six_archive",
url = "https://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz#md5=34eed507548117b2ab523ab14b2f8b55",
sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
build_file = "six.BUILD",
)
bind(
name = "gtest",
actual = "@gmock_archive//:gtest",
@ -14,3 +21,8 @@ bind(
name = "gtest_main",
actual = "@gmock_archive//:gtest_main",
)
bind(
name = "six",
actual = "@six_archive//:six",
)

@ -0,0 +1,12 @@
genrule(
name = "copy_six",
srcs = ["six-1.10.0/six.py"],
outs = ["six.py"],
cmd = "cp $< $(@)",
)
py_library(
name = "six",
srcs = ["six.py"],
visibility = ["//visibility:public"],
)
Loading…
Cancel
Save