From b420f38d4213e14943ab215b62d3ad2d793adfc2 Mon Sep 17 00:00:00 2001 From: Jonathan Dursi Date: Tue, 28 Mar 2017 17:59:04 -0400 Subject: [PATCH 1/4] Protobuf 3.2.0 --- .travis.yml | 6 +++--- constraints.txt | 2 +- requirements.txt | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8e26039..7950501 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ sudo: false cache: directories: - $HOME/.cache/pip - - /tmp/proto3.1.0 + - /tmp/proto3.2.0 install: - pip install pip --upgrade @@ -21,8 +21,8 @@ before_script: - pip install -r dev-requirements.txt -c constraints.txt before_install: - - bash tools/travis-install-protoc.sh 3.1.0 - - export PATH=/tmp/proto3.1.0/bin:$PATH + - bash tools/travis-install-protoc.sh 3.2.0 + - export PATH=/tmp/proto3.2.0/bin:$PATH # run_tests.py runs everything under the script: tag so only put commands # under it that we want to run (and want to be able to run) as local tests diff --git a/constraints.txt b/constraints.txt index 80f2cb6..77fa022 100644 --- a/constraints.txt +++ b/constraints.txt @@ -24,4 +24,4 @@ # ga4gh-schemas==0.1.0 # #git+git://github.com/ga4gh/ga4gh-common.git@master#egg=ga4gh_common -#git+git://github.com/ga4gh/schemas.git@master#egg=ga4gh_schemas +git+git://github.com/ljdursi/ga4gh-schemas.git@protobuf_3.2.0#egg=ga4gh_schemas diff --git a/requirements.txt b/requirements.txt index 399aaea..86fe6c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,6 @@ # These requirements are read directly into setup.py, so specify them # in the order that they should be in in setup.py ga4gh_common==0.0.7 -ga4gh_schemas==0.6.0a10.post1 +ga4gh_schemas requests -protobuf==3.1.0.post1 +protobuf==3.2.0 From 5b979394369705ddf9209d3a726329e01d2f6f36 Mon Sep 17 00:00:00 2001 From: Jonathan Dursi Date: Tue, 28 Mar 2017 18:33:18 -0400 Subject: [PATCH 2/4] Make more rigorous FakeObj for protobuf C++ implementation conformance --- tests/unit/test_cli.py | 47 +++------------------------------------ tests/unit/test_client.py | 2 +- 2 files changed, 4 insertions(+), 45 deletions(-) diff --git a/tests/unit/test_cli.py b/tests/unit/test_cli.py index 51b13fe..e52ad6a 100644 --- a/tests/unit/test_cli.py +++ b/tests/unit/test_cli.py @@ -17,6 +17,8 @@ import ga4gh.common.utils as utils import ga4gh.schemas.protocol as protocol +import test.unit.fakeobj_pb2 as fakeobj + class TestClientArguments(unittest.TestCase): """ @@ -427,51 +429,8 @@ def __init__(self, outputFormat='text'): self.baseUrl = 'baseUrl' self.verbose = 'verbose' - class FakeObject(protocol.message.Message): - __metaclass__ = python_message.GeneratedProtocolMessageType - - FILE = descriptor.FileDescriptor(__file__, "test", "") - DESCRIPTOR = descriptor.Descriptor( - "FakeObject", - "test.FakeObject", - filename=__file__, - file=FILE, - containing_type=None, - fields=[ - descriptor.FieldDescriptor( - name="name", - full_name="test.FakeObject.name", - index=0, - number=1, - type=descriptor.FieldDescriptor.TYPE_STRING, - cpp_type=descriptor.FieldDescriptor.CPPTYPE_STRING, - label=descriptor.FieldDescriptor.LABEL_REQUIRED, - default_value="", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None - ), - descriptor.FieldDescriptor( - name="id", - full_name="test.FakeObject.id", - index=1, - number=2, - type=descriptor.FieldDescriptor.TYPE_STRING, - cpp_type=descriptor.FieldDescriptor.CPPTYPE_STRING, - label=descriptor.FieldDescriptor.LABEL_REQUIRED, - default_value="", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None - ) - ], nested_types=[], enum_types=[], extensions=[]) - def makeFakeObject(self): - returnObj = self.FakeObject() + returnObj = fakeobj.FakeObject() returnObj.id = 'id' returnObj.name = 'name' return returnObj diff --git a/tests/unit/test_client.py b/tests/unit/test_client.py index 32524bd..e371263 100644 --- a/tests/unit/test_client.py +++ b/tests/unit/test_client.py @@ -132,7 +132,7 @@ def testSearchVariantAnnotations(self): reference_name=self.referenceName, start=self.start, end=self.end, - effects=[{"term": "just a term"}, {"term_id": "an id"}], + effects=[{b"term": b"just a term"}, {b"term_id": b"an id"}], reference_id=self.referenceId) def testSearchFeatures(self): From 305e65c4a22d382eafc2fab832cbcf1a33c6c3df Mon Sep 17 00:00:00 2001 From: Jonathan Dursi Date: Tue, 28 Mar 2017 18:48:42 -0400 Subject: [PATCH 3/4] Create a proper FakeObject --- tests/unit/fakeobj.proto | 6 ++++ tests/unit/fakeobj_pb2.py | 74 +++++++++++++++++++++++++++++++++++++++ tests/unit/test_cli.py | 2 +- 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 tests/unit/fakeobj.proto create mode 100644 tests/unit/fakeobj_pb2.py diff --git a/tests/unit/fakeobj.proto b/tests/unit/fakeobj.proto new file mode 100644 index 0000000..2a92fcc --- /dev/null +++ b/tests/unit/fakeobj.proto @@ -0,0 +1,6 @@ +package fakeobj; + +message FakeObject { + required string name = 1; + required string id = 2; +} diff --git a/tests/unit/fakeobj_pb2.py b/tests/unit/fakeobj_pb2.py new file mode 100644 index 0000000..c367f5a --- /dev/null +++ b/tests/unit/fakeobj_pb2.py @@ -0,0 +1,74 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: fakeobj.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +from google.protobuf import descriptor_pb2 +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='fakeobj.proto', + package='fakeobj', + serialized_pb=_b('\n\rfakeobj.proto\x12\x07\x66\x61keobj\"&\n\nFakeObject\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\n\n\x02id\x18\x02 \x02(\t') +) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + + + +_FAKEOBJECT = _descriptor.Descriptor( + name='FakeObject', + full_name='fakeobj.FakeObject', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='fakeobj.FakeObject.name', index=0, + number=1, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='id', full_name='fakeobj.FakeObject.id', index=1, + number=2, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + extension_ranges=[], + oneofs=[ + ], + serialized_start=26, + serialized_end=64, +) + +DESCRIPTOR.message_types_by_name['FakeObject'] = _FAKEOBJECT + +FakeObject = _reflection.GeneratedProtocolMessageType('FakeObject', (_message.Message,), dict( + DESCRIPTOR = _FAKEOBJECT, + __module__ = 'fakeobj_pb2' + # @@protoc_insertion_point(class_scope:fakeobj.FakeObject) + )) +_sym_db.RegisterMessage(FakeObject) + + +# @@protoc_insertion_point(module_scope) diff --git a/tests/unit/test_cli.py b/tests/unit/test_cli.py index e52ad6a..8f0ef97 100644 --- a/tests/unit/test_cli.py +++ b/tests/unit/test_cli.py @@ -17,7 +17,7 @@ import ga4gh.common.utils as utils import ga4gh.schemas.protocol as protocol -import test.unit.fakeobj_pb2 as fakeobj +import tests.unit.fakeobj_pb2 as fakeobj class TestClientArguments(unittest.TestCase): From c315d3c53a17a4c4740be6d26b389aa03bae94df Mon Sep 17 00:00:00 2001 From: Jonathan Dursi Date: Tue, 28 Mar 2017 21:05:16 -0400 Subject: [PATCH 4/4] Remove unused imports --- tests/unit/test_cli.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/unit/test_cli.py b/tests/unit/test_cli.py index 8f0ef97..6e1e436 100644 --- a/tests/unit/test_cli.py +++ b/tests/unit/test_cli.py @@ -9,13 +9,9 @@ import mock import unittest -import google.protobuf.descriptor as descriptor -import google.protobuf.internal.python_message as python_message - import ga4gh.client.cli as cli_client import ga4gh.common.utils as utils -import ga4gh.schemas.protocol as protocol import tests.unit.fakeobj_pb2 as fakeobj