New issue
Advanced search Search tips

Issue 701274 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Swarming's bot_main_test.py and main_test.py use the system's google.protobuf package, not the one in third_party

Project Member Reported by dsansome@chromium.org, Mar 14 2017

Issue description

This causes these tests to fail for me locally, because I have an older google.protobuf package installed.  The tests should use the one in third_party instead:

[dsansome@dsansome-z840 (roll-infra-libs) ~/cr/i/infra/luci] /usr/local/google/home/dsansome/cr/i/infra/luci/appengine/swarming/swarming_bot/bot_code/bot_main_test.py
Traceback (most recent call last):
  File "/usr/local/google/home/dsansome/cr/i/infra/luci/appengine/swarming/swarming_bot/bot_code/bot_main_test.py", line 23, in <module>
    import bot_main
  File "/usr/local/google/home/dsansome/cr/i/infra/luci/appengine/swarming/swarming_bot/bot_code/bot_main.py", line 44, in <module>
    from infra_libs import ts_mon
  File "/usr/local/google/home/dsansome/cr/i/infra/luci/client/third_party/infra_libs/__init__.py", line 5, in <module>
    from . import ts_mon  # Must be imported first so httplib2_utils can import it.
  File "/usr/local/google/home/dsansome/cr/i/infra/luci/client/third_party/infra_libs/ts_mon/__init__.py", line 5, in <module>
    from infra_libs.ts_mon.config import add_argparse_options
  File "/usr/local/google/home/dsansome/cr/i/infra/luci/client/third_party/infra_libs/ts_mon/config.py", line 15, in <module>
    from infra_libs.ts_mon.common import interface
  File "/usr/local/google/home/dsansome/cr/i/infra/luci/client/third_party/infra_libs/ts_mon/common/interface.py", line 43, in <module>
    from infra_libs.ts_mon.protos.current import metrics_pb2
  File "/usr/local/google/home/dsansome/cr/i/infra/luci/client/third_party/infra_libs/ts_mon/protos/current/metrics_pb2.py", line 9, in <module>
    from google.protobuf import symbol_database as _symbol_database
ImportError: cannot import name symbol_database

[dsansome@dsansome-z840 (roll-infra-libs) ~/cr/i/infra/luci] dpkg -L python-protobuf
/.
/usr
/usr/lib
/usr/lib/python2.7
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/google
/usr/lib/python2.7/dist-packages/google/protobuf
/usr/lib/python2.7/dist-packages/google/protobuf/__init__.py
/usr/lib/python2.7/dist-packages/google/protobuf/service.py
/usr/lib/python2.7/dist-packages/google/protobuf/message.py
/usr/lib/python2.7/dist-packages/google/protobuf/descriptor.py
/usr/lib/python2.7/dist-packages/google/protobuf/message_factory.py
/usr/lib/python2.7/dist-packages/google/protobuf/compiler
/usr/lib/python2.7/dist-packages/google/protobuf/compiler/__init__.py
/usr/lib/python2.7/dist-packages/google/protobuf/compiler/plugin_pb2.py
/usr/lib/python2.7/dist-packages/google/protobuf/descriptor_database.py
/usr/lib/python2.7/dist-packages/google/protobuf/service_reflection.py
/usr/lib/python2.7/dist-packages/google/protobuf/reflection.py
/usr/lib/python2.7/dist-packages/google/protobuf/text_format.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal
/usr/lib/python2.7/dist-packages/google/protobuf/internal/decoder.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/api_implementation.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/containers.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/__init__.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/enum_type_wrapper.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/message_listener.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/wire_format.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/python_message.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/encoder.py
/usr/lib/python2.7/dist-packages/google/protobuf/internal/type_checkers.py
/usr/lib/python2.7/dist-packages/google/protobuf/descriptor_pool.py
/usr/lib/python2.7/dist-packages/google/protobuf/descriptor_pb2.py
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/dependency_links.txt
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/namespace_packages.txt
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/PKG-INFO
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/requires.txt
/usr/lib/python2.7/dist-packages/protobuf-2.5.0.egg-info/top_level.txt
/usr/share
/usr/share/python
/usr/share/python/ns
/usr/share/python/ns/python-protobuf
/usr/share/doc
/usr/share/doc/python-protobuf
/usr/share/doc/python-protobuf/README.Debian
/usr/share/doc/python-protobuf/changelog.Debian.gz
/usr/share/doc/python-protobuf/copyright

[dsansome@dsansome-z840 (roll-infra-libs) ~/cr/i/infra/luci] dpkg -l python-protobuf | tail -n 1
ii  python-protobuf                                       2.5.0-9ubuntu1                                      all          Python bindings for protocol buffers

[dsansome@dsansome-z840 (roll-infra-libs) ~/cr/i/infra/luci] find -name symbol_database.py
./client/third_party/google/protobuf/symbol_database.py

 

Comment 2 by mar...@chromium.org, Mar 24 2017

Status: Fixed (was: Assigned)
Please reopen if you see any problem.

Sign in to add a comment