aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2016-09-23 21:13:11 +0000
committerBo Yang <teboring@google.com>2016-09-23 21:38:35 +0000
commit411968d01f6ffe0d3483426d7c8197fd50783f97 (patch)
treebbd7920d267a8d4af4af61ef36edaba0dfa3dd0e
parent37c3d05f57b1d9165e5f31ce68e13cbb0920c853 (diff)
downloadprotobuf-411968d01f6ffe0d3483426d7c8197fd50783f97.tar.gz
protobuf-411968d01f6ffe0d3483426d7c8197fd50783f97.tar.bz2
protobuf-411968d01f6ffe0d3483426d7c8197fd50783f97.zip
Fix python cpp.
-rwxr-xr-xpython/google/protobuf/internal/python_message.py5
-rw-r--r--python/google/protobuf/internal/testing_refleaks.py12
-rw-r--r--python/google/protobuf/pyext/descriptor_pool.h2
-rw-r--r--python/google/protobuf/pyext/message.cc7
-rwxr-xr-xtests.sh2
5 files changed, 13 insertions, 15 deletions
diff --git a/python/google/protobuf/internal/python_message.py b/python/google/protobuf/internal/python_message.py
index 60b4baad..dc6565d4 100755
--- a/python/google/protobuf/internal/python_message.py
+++ b/python/google/protobuf/internal/python_message.py
@@ -63,7 +63,10 @@ except ImportError:
# nothing like hermetic Python. This means lesser control on the system and
# the six.moves package may be missing (is missing on 20150321 on gMac). Be
# extra conservative and try to load the old replacement if it fails.
- import copy_reg as copyreg
+ try:
+ import copy_reg as copyreg #PY26
+ except ImportError:
+ import copyreg
# We use "as" to avoid name collisions with variables.
from google.protobuf.internal import containers
diff --git a/python/google/protobuf/internal/testing_refleaks.py b/python/google/protobuf/internal/testing_refleaks.py
index 51a9af9e..c461a9f4 100644
--- a/python/google/protobuf/internal/testing_refleaks.py
+++ b/python/google/protobuf/internal/testing_refleaks.py
@@ -38,11 +38,15 @@ If sys.gettotalrefcount() is not available (because Python was built without
the Py_DEBUG option), then this module is a no-op and tests will run normally.
"""
-import copy_reg
import gc
import sys
try:
+ import copy_reg as copyreg #PY26
+except ImportError:
+ import copyreg
+
+try:
import unittest2 as unittest #PY26
except ImportError:
import unittest
@@ -74,7 +78,7 @@ class ReferenceLeakCheckerTestCase(unittest.TestCase):
# python_message.py registers all Message classes to some pickle global
# registry, which makes the classes immortal.
# We save a copy of this registry, and reset it before we could references.
- self._saved_pickle_registry = copy_reg.dispatch_table.copy()
+ self._saved_pickle_registry = copyreg.dispatch_table.copy()
# Run the test twice, to warm up the instance attributes.
super(ReferenceLeakCheckerTestCase, self).run(result=result)
@@ -97,8 +101,8 @@ class ReferenceLeakCheckerTestCase(unittest.TestCase):
result.addError(self, sys.exc_info())
def _getRefcounts(self):
- copy_reg.dispatch_table.clear()
- copy_reg.dispatch_table.update(self._saved_pickle_registry)
+ copyreg.dispatch_table.clear()
+ copyreg.dispatch_table.update(self._saved_pickle_registry)
# It is sometimes necessary to gc.collect() multiple times, to ensure
# that all objects can be collected.
gc.collect()
diff --git a/python/google/protobuf/pyext/descriptor_pool.h b/python/google/protobuf/pyext/descriptor_pool.h
index 8de6c60b..c4d7d403 100644
--- a/python/google/protobuf/pyext/descriptor_pool.h
+++ b/python/google/protobuf/pyext/descriptor_pool.h
@@ -40,7 +40,7 @@ namespace google {
namespace protobuf {
namespace python {
-class PyMessageFactory;
+struct PyMessageFactory;
// The (meta) type of all Messages classes.
struct CMessageClass;
diff --git a/python/google/protobuf/pyext/message.cc b/python/google/protobuf/pyext/message.cc
index 1b325469..7ff99aea 100644
--- a/python/google/protobuf/pyext/message.cc
+++ b/python/google/protobuf/pyext/message.cc
@@ -2831,13 +2831,6 @@ static Message* MutableCProtoInsidePyProtoImpl(PyObject* msg) {
return cmsg->message;
}
-static const char module_docstring[] =
-"python-proto2 is a module that can be used to enhance proto2 Python API\n"
-"performance.\n"
-"\n"
-"It provides access to the protocol buffers C++ reflection API that\n"
-"implements the basic protocol buffer functions.";
-
void InitGlobals() {
// TODO(gps): Check all return values in this function for NULL and propagate
// the error (MemoryError) on up to result in an import failure. These should
diff --git a/tests.sh b/tests.sh
index 2249f550..94a92018 100755
--- a/tests.sh
+++ b/tests.sh
@@ -296,8 +296,6 @@ build_python() {
build_python_cpp() {
internal_build_cpp
internal_install_python_deps
- export LD_LIBRARY_PATH=../src/.libs # for Linux
- export DYLD_LIBRARY_PATH=../src/.libs # for OS X
cd python
# Only test Python 2.6/3.x on Linux
if [ $(uname -s) == "Linux" ]; then