Commit 411968d0 authored by Bo Yang's avatar Bo Yang

Fix python cpp.

parent 37c3d05f
...@@ -63,7 +63,10 @@ except ImportError: ...@@ -63,7 +63,10 @@ except ImportError:
# nothing like hermetic Python. This means lesser control on the system and # 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 # 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. # 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. # We use "as" to avoid name collisions with variables.
from google.protobuf.internal import containers from google.protobuf.internal import containers
......
...@@ -38,10 +38,14 @@ If sys.gettotalrefcount() is not available (because Python was built without ...@@ -38,10 +38,14 @@ 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. the Py_DEBUG option), then this module is a no-op and tests will run normally.
""" """
import copy_reg
import gc import gc
import sys import sys
try:
import copy_reg as copyreg #PY26
except ImportError:
import copyreg
try: try:
import unittest2 as unittest #PY26 import unittest2 as unittest #PY26
except ImportError: except ImportError:
...@@ -74,7 +78,7 @@ class ReferenceLeakCheckerTestCase(unittest.TestCase): ...@@ -74,7 +78,7 @@ class ReferenceLeakCheckerTestCase(unittest.TestCase):
# python_message.py registers all Message classes to some pickle global # python_message.py registers all Message classes to some pickle global
# registry, which makes the classes immortal. # registry, which makes the classes immortal.
# We save a copy of this registry, and reset it before we could references. # 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. # Run the test twice, to warm up the instance attributes.
super(ReferenceLeakCheckerTestCase, self).run(result=result) super(ReferenceLeakCheckerTestCase, self).run(result=result)
...@@ -97,8 +101,8 @@ class ReferenceLeakCheckerTestCase(unittest.TestCase): ...@@ -97,8 +101,8 @@ class ReferenceLeakCheckerTestCase(unittest.TestCase):
result.addError(self, sys.exc_info()) result.addError(self, sys.exc_info())
def _getRefcounts(self): def _getRefcounts(self):
copy_reg.dispatch_table.clear() copyreg.dispatch_table.clear()
copy_reg.dispatch_table.update(self._saved_pickle_registry) copyreg.dispatch_table.update(self._saved_pickle_registry)
# It is sometimes necessary to gc.collect() multiple times, to ensure # It is sometimes necessary to gc.collect() multiple times, to ensure
# that all objects can be collected. # that all objects can be collected.
gc.collect() gc.collect()
......
...@@ -40,7 +40,7 @@ namespace google { ...@@ -40,7 +40,7 @@ namespace google {
namespace protobuf { namespace protobuf {
namespace python { namespace python {
class PyMessageFactory; struct PyMessageFactory;
// The (meta) type of all Messages classes. // The (meta) type of all Messages classes.
struct CMessageClass; struct CMessageClass;
......
...@@ -2831,13 +2831,6 @@ static Message* MutableCProtoInsidePyProtoImpl(PyObject* msg) { ...@@ -2831,13 +2831,6 @@ static Message* MutableCProtoInsidePyProtoImpl(PyObject* msg) {
return cmsg->message; 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() { void InitGlobals() {
// TODO(gps): Check all return values in this function for NULL and propagate // 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 // the error (MemoryError) on up to result in an import failure. These should
......
...@@ -296,8 +296,6 @@ build_python() { ...@@ -296,8 +296,6 @@ build_python() {
build_python_cpp() { build_python_cpp() {
internal_build_cpp internal_build_cpp
internal_install_python_deps internal_install_python_deps
export LD_LIBRARY_PATH=../src/.libs # for Linux
export DYLD_LIBRARY_PATH=../src/.libs # for OS X
cd python cd python
# Only test Python 2.6/3.x on Linux # Only test Python 2.6/3.x on Linux
if [ $(uname -s) == "Linux" ]; then if [ $(uname -s) == "Linux" ]; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment