Upgrading dependency to Thrift 0.12.0
This commit is contained in:
parent
3e4590dcc0
commit
356978cb42
1302 changed files with 101701 additions and 26784 deletions
5
vendor/git.apache.org/thrift.git/test/py/FastbinaryTest.py
generated
vendored
5
vendor/git.apache.org/thrift.git/test/py/FastbinaryTest.py
generated
vendored
|
@ -50,6 +50,7 @@ class TDevNullTransport(TTransport.TTransportBase):
|
|||
def isOpen(self):
|
||||
return True
|
||||
|
||||
|
||||
ooe1 = OneOfEach()
|
||||
ooe1.im_true = True
|
||||
ooe1.im_false = False
|
||||
|
@ -85,6 +86,10 @@ hm.big[1].a_bite = 0x22
|
|||
|
||||
hm.contain.add(("and a one", "and a two"))
|
||||
hm.contain.add(("then a one, two", "three!", "FOUR!"))
|
||||
if sys.version_info[0] == 2 and os.environ.get('THRIFT_TEST_PY_NO_UTF8STRINGS'):
|
||||
hm.contain.add((u"\xd7\n\a\t".encode('utf8'),))
|
||||
else:
|
||||
hm.contain.add((u"\xd7\n\a\t",))
|
||||
hm.contain.add(())
|
||||
|
||||
hm.bonks["nothing"] = []
|
||||
|
|
19
vendor/git.apache.org/thrift.git/test/py/Makefile.am
generated
vendored
19
vendor/git.apache.org/thrift.git/test/py/Makefile.am
generated
vendored
|
@ -18,25 +18,38 @@
|
|||
#
|
||||
AUTOMAKE_OPTIONS = serial-tests
|
||||
|
||||
THRIFT = $(top_builddir)/compiler/cpp/thrift
|
||||
|
||||
py_unit_tests = RunClientServer.py
|
||||
|
||||
thrift_gen = \
|
||||
gen-py/ThriftTest/__init__.py \
|
||||
gen-py/DebugProtoTest/__init__.py \
|
||||
gen-py/DoubleConstantsTest/__init__.py \
|
||||
gen-py/Recursive/__init__.py \
|
||||
gen-py-default/ThriftTest/__init__.py \
|
||||
gen-py-default/DebugProtoTest/__init__.py \
|
||||
gen-py-default/DoubleConstantsTest/__init__.py \
|
||||
gen-py-default/Recursive/__init__.py \
|
||||
gen-py-slots/ThriftTest/__init__.py \
|
||||
gen-py-slots/DebugProtoTest/__init__.py \
|
||||
gen-py-slots/DoubleConstantsTest/__init__.py \
|
||||
gen-py-slots/Recursive/__init__.py \
|
||||
gen-py-oldstyle/ThriftTest/__init__.py \
|
||||
gen-py-oldstyle/DebugProtoTest/__init__.py \
|
||||
gen-py-oldstyle/DoubleConstantsTest/__init__.py \
|
||||
gen-py-oldstyle/Recursive/__init__.py \
|
||||
gen-py-no_utf8strings/ThriftTest/__init__.py \
|
||||
gen-py-no_utf8strings/DebugProtoTest/__init__.py \
|
||||
gen-py-no_utf8strings/DoubleConstantsTest/__init__.py \
|
||||
gen-py-no_utf8strings/Recursive/__init__.py \
|
||||
gen-py-dynamic/ThriftTest/__init__.py \
|
||||
gen-py-dynamic/DebugProtoTest/__init__.py \
|
||||
gen-py-dynamic/DoubleConstantsTest/__init__.py \
|
||||
gen-py-dynamic/Recursive/__init__.py \
|
||||
gen-py-dynamicslots/ThriftTest/__init__.py \
|
||||
gen-py-dynamicslots/DebugProtoTest/__init__.py
|
||||
gen-py-dynamicslots/DebugProtoTest/__init__.py \
|
||||
gen-py-dynamicslots/DoubleConstantsTest/__init__.py \
|
||||
gen-py-dynamicslots/Recursive/__init__.py
|
||||
|
||||
|
||||
precross: $(thrift_gen)
|
||||
BUILT_SOURCES = $(thrift_gen)
|
||||
|
|
4
vendor/git.apache.org/thrift.git/test/py/RunClientServer.py
generated
vendored
4
vendor/git.apache.org/thrift.git/test/py/RunClientServer.py
generated
vendored
|
@ -38,6 +38,7 @@ SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
|
|||
SCRIPTS = [
|
||||
'FastbinaryTest.py',
|
||||
'TestFrozen.py',
|
||||
'TestRenderedDoubleConstants.py',
|
||||
'TSimpleJSONProtocolTest.py',
|
||||
'SerializationTest.py',
|
||||
'TestEof.py',
|
||||
|
@ -46,7 +47,7 @@ SCRIPTS = [
|
|||
]
|
||||
FRAMED = ["TNonblockingServer"]
|
||||
SKIP_ZLIB = ['TNonblockingServer', 'THttpServer']
|
||||
SKIP_SSL = ['TNonblockingServer', 'THttpServer']
|
||||
SKIP_SSL = ['THttpServer']
|
||||
EXTRA_DELAY = dict(TProcessPoolServer=5.5)
|
||||
|
||||
PROTOS = [
|
||||
|
@ -55,6 +56,7 @@ PROTOS = [
|
|||
'binary',
|
||||
'compact',
|
||||
'json',
|
||||
'header',
|
||||
]
|
||||
|
||||
|
||||
|
|
67
vendor/git.apache.org/thrift.git/test/py/SerializationTest.py
generated
vendored
67
vendor/git.apache.org/thrift.git/test/py/SerializationTest.py
generated
vendored
|
@ -35,6 +35,11 @@ from ThriftTest.ttypes import (
|
|||
Xtruct2,
|
||||
)
|
||||
|
||||
from Recursive.ttypes import RecTree
|
||||
from Recursive.ttypes import RecList
|
||||
from Recursive.ttypes import CoRec
|
||||
from Recursive.ttypes import CoRec2
|
||||
from Recursive.ttypes import VectorTest
|
||||
from DebugProtoTest.ttypes import CompactProtoTestStruct, Empty
|
||||
from thrift.transport import TTransport
|
||||
from thrift.protocol import TBinaryProtocol, TCompactProtocol, TJSONProtocol
|
||||
|
@ -285,6 +290,67 @@ class AbstractTest(unittest.TestCase):
|
|||
for value in bad_values:
|
||||
self.assertRaises(Exception, self._serialize, value)
|
||||
|
||||
def testRecTree(self):
|
||||
"""Ensure recursive tree node can be created."""
|
||||
children = []
|
||||
for idx in range(1, 5):
|
||||
node = RecTree(item=idx, children=None)
|
||||
children.append(node)
|
||||
|
||||
parent = RecTree(item=0, children=children)
|
||||
serde_parent = self._deserialize(RecTree, self._serialize(parent))
|
||||
self.assertEquals(0, serde_parent.item)
|
||||
self.assertEquals(4, len(serde_parent.children))
|
||||
for child in serde_parent.children:
|
||||
# Cannot use assertIsInstance in python 2.6?
|
||||
self.assertTrue(isinstance(child, RecTree))
|
||||
|
||||
def _buildLinkedList(self):
|
||||
head = cur = RecList(item=0)
|
||||
for idx in range(1, 5):
|
||||
node = RecList(item=idx)
|
||||
cur.nextitem = node
|
||||
cur = node
|
||||
return head
|
||||
|
||||
def _collapseLinkedList(self, head):
|
||||
out_list = []
|
||||
cur = head
|
||||
while cur is not None:
|
||||
out_list.append(cur.item)
|
||||
cur = cur.nextitem
|
||||
return out_list
|
||||
|
||||
def testRecList(self):
|
||||
"""Ensure recursive linked list can be created."""
|
||||
rec_list = self._buildLinkedList()
|
||||
serde_list = self._deserialize(RecList, self._serialize(rec_list))
|
||||
out_list = self._collapseLinkedList(serde_list)
|
||||
self.assertEquals([0, 1, 2, 3, 4], out_list)
|
||||
|
||||
def testCoRec(self):
|
||||
"""Ensure co-recursive structures can be created."""
|
||||
item1 = CoRec()
|
||||
item2 = CoRec2()
|
||||
|
||||
item1.other = item2
|
||||
item2.other = item1
|
||||
|
||||
# NOTE [econner724,2017-06-21]: These objects cannot be serialized as serialization
|
||||
# results in an infinite loop. fbthrift also suffers from this
|
||||
# problem.
|
||||
|
||||
def testRecVector(self):
|
||||
"""Ensure a list of recursive nodes can be created."""
|
||||
mylist = [self._buildLinkedList(), self._buildLinkedList()]
|
||||
myvec = VectorTest(lister=mylist)
|
||||
|
||||
serde_vec = self._deserialize(VectorTest, self._serialize(myvec))
|
||||
golden_list = [0, 1, 2, 3, 4]
|
||||
for cur_list in serde_vec.lister:
|
||||
out_list = self._collapseLinkedList(cur_list)
|
||||
self.assertEqual(golden_list, out_list)
|
||||
|
||||
|
||||
class NormalBinaryTest(AbstractTest):
|
||||
protocol_factory = TBinaryProtocol.TBinaryProtocolFactory()
|
||||
|
@ -386,5 +452,6 @@ def suite():
|
|||
suite.addTest(loader.loadTestsFromTestCase(SerializersTest))
|
||||
return suite
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main(defaultTest="suite", testRunner=unittest.TextTestRunner(verbosity=2))
|
||||
|
|
132
vendor/git.apache.org/thrift.git/test/py/TestClient.py
generated
vendored
132
vendor/git.apache.org/thrift.git/test/py/TestClient.py
generated
vendored
|
@ -32,8 +32,18 @@ SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
|
|||
|
||||
class AbstractTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
if options.http_path:
|
||||
self.transport = THttpClient.THttpClient(options.host, port=options.port, path=options.http_path)
|
||||
if options.trans == 'http':
|
||||
uri = '{0}://{1}:{2}{3}'.format(('https' if options.ssl else 'http'),
|
||||
options.host,
|
||||
options.port,
|
||||
(options.http_path if options.http_path else '/'))
|
||||
if options.ssl:
|
||||
__cafile = os.path.join(os.path.dirname(SCRIPT_DIR), "keys", "CA.pem")
|
||||
__certfile = os.path.join(os.path.dirname(SCRIPT_DIR), "keys", "client.crt")
|
||||
__keyfile = os.path.join(os.path.dirname(SCRIPT_DIR), "keys", "client.key")
|
||||
self.transport = THttpClient.THttpClient(uri, cafile=__cafile, cert_file=__certfile, key_file=__keyfile)
|
||||
else:
|
||||
self.transport = THttpClient.THttpClient(uri)
|
||||
else:
|
||||
if options.ssl:
|
||||
from thrift.transport import TSSLSocket
|
||||
|
@ -53,6 +63,9 @@ class AbstractTest(unittest.TestCase):
|
|||
self.transport.open()
|
||||
protocol = self.get_protocol(self.transport)
|
||||
self.client = ThriftTest.Client(protocol)
|
||||
# for multiplexed services:
|
||||
protocol2 = self.get_protocol2(self.transport)
|
||||
self.client2 = SecondService.Client(protocol2) if protocol2 is not None else None
|
||||
|
||||
def tearDown(self):
|
||||
self.transport.close()
|
||||
|
@ -97,6 +110,11 @@ class AbstractTest(unittest.TestCase):
|
|||
self.assertEqual(self.client.testString(s1), s1)
|
||||
self.assertEqual(self.client.testString(s2), s2)
|
||||
|
||||
def testMultiplexed(self):
|
||||
if self.client2 is not None:
|
||||
print('testMultiplexed')
|
||||
self.assertEqual(self.client2.secondtestString('foobar'), 'testString("foobar")')
|
||||
|
||||
def testBool(self):
|
||||
print('testBool')
|
||||
self.assertEqual(self.client.testBool(True), True)
|
||||
|
@ -250,44 +268,117 @@ class AbstractTest(unittest.TestCase):
|
|||
self.assertEqual(self.client.testString('Python'), 'Python')
|
||||
|
||||
|
||||
class NormalBinaryTest(AbstractTest):
|
||||
class MultiplexedOptionalTest(AbstractTest):
|
||||
def get_protocol2(self, transport):
|
||||
return None
|
||||
|
||||
|
||||
class BinaryTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
return TBinaryProtocol.TBinaryProtocolFactory().getProtocol(transport)
|
||||
|
||||
|
||||
class CompactTest(AbstractTest):
|
||||
class MultiplexedBinaryTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
return TCompactProtocol.TCompactProtocolFactory().getProtocol(transport)
|
||||
wrapped_proto = TBinaryProtocol.TBinaryProtocolFactory().getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "ThriftTest")
|
||||
|
||||
def get_protocol2(self, transport):
|
||||
wrapped_proto = TBinaryProtocol.TBinaryProtocolFactory().getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "SecondService")
|
||||
|
||||
|
||||
class JSONTest(AbstractTest):
|
||||
def get_protocol(self, transport):
|
||||
return TJSONProtocol.TJSONProtocolFactory().getProtocol(transport)
|
||||
|
||||
|
||||
class AcceleratedBinaryTest(AbstractTest):
|
||||
class AcceleratedBinaryTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
return TBinaryProtocol.TBinaryProtocolAcceleratedFactory(fallback=False).getProtocol(transport)
|
||||
|
||||
|
||||
class AcceleratedCompactTest(AbstractTest):
|
||||
class MultiplexedAcceleratedBinaryTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
wrapped_proto = TBinaryProtocol.TBinaryProtocolAcceleratedFactory(fallback=False).getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "ThriftTest")
|
||||
|
||||
def get_protocol2(self, transport):
|
||||
wrapped_proto = TBinaryProtocol.TBinaryProtocolAcceleratedFactory(fallback=False).getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "SecondService")
|
||||
|
||||
|
||||
class CompactTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
return TCompactProtocol.TCompactProtocolFactory().getProtocol(transport)
|
||||
|
||||
|
||||
class MultiplexedCompactTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
wrapped_proto = TCompactProtocol.TCompactProtocolFactory().getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "ThriftTest")
|
||||
|
||||
def get_protocol2(self, transport):
|
||||
wrapped_proto = TCompactProtocol.TCompactProtocolFactory().getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "SecondService")
|
||||
|
||||
|
||||
class AcceleratedCompactTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
return TCompactProtocol.TCompactProtocolAcceleratedFactory(fallback=False).getProtocol(transport)
|
||||
|
||||
|
||||
class MultiplexedAcceleratedCompactTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
wrapped_proto = TCompactProtocol.TCompactProtocolAcceleratedFactory(fallback=False).getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "ThriftTest")
|
||||
|
||||
def get_protocol2(self, transport):
|
||||
wrapped_proto = TCompactProtocol.TCompactProtocolAcceleratedFactory(fallback=False).getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "SecondService")
|
||||
|
||||
|
||||
class JSONTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
return TJSONProtocol.TJSONProtocolFactory().getProtocol(transport)
|
||||
|
||||
|
||||
class MultiplexedJSONTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
wrapped_proto = TJSONProtocol.TJSONProtocolFactory().getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "ThriftTest")
|
||||
|
||||
def get_protocol2(self, transport):
|
||||
wrapped_proto = TJSONProtocol.TJSONProtocolFactory().getProtocol(transport)
|
||||
return TMultiplexedProtocol.TMultiplexedProtocol(wrapped_proto, "SecondService")
|
||||
|
||||
|
||||
class HeaderTest(MultiplexedOptionalTest):
|
||||
def get_protocol(self, transport):
|
||||
factory = THeaderProtocol.THeaderProtocolFactory()
|
||||
return factory.getProtocol(transport)
|
||||
|
||||
|
||||
def suite():
|
||||
suite = unittest.TestSuite()
|
||||
loader = unittest.TestLoader()
|
||||
if options.proto == 'binary': # look for --proto on cmdline
|
||||
suite.addTest(loader.loadTestsFromTestCase(NormalBinaryTest))
|
||||
suite.addTest(loader.loadTestsFromTestCase(BinaryTest))
|
||||
elif options.proto == 'accel':
|
||||
suite.addTest(loader.loadTestsFromTestCase(AcceleratedBinaryTest))
|
||||
elif options.proto == 'compact':
|
||||
suite.addTest(loader.loadTestsFromTestCase(CompactTest))
|
||||
elif options.proto == 'accelc':
|
||||
suite.addTest(loader.loadTestsFromTestCase(AcceleratedCompactTest))
|
||||
elif options.proto == 'compact':
|
||||
suite.addTest(loader.loadTestsFromTestCase(CompactTest))
|
||||
elif options.proto == 'header':
|
||||
suite.addTest(loader.loadTestsFromTestCase(HeaderTest))
|
||||
elif options.proto == 'json':
|
||||
suite.addTest(loader.loadTestsFromTestCase(JSONTest))
|
||||
elif options.proto == 'multi':
|
||||
suite.addTest(loader.loadTestsFromTestCase(MultiplexedBinaryTest))
|
||||
elif options.proto == 'multia':
|
||||
suite.addTest(loader.loadTestsFromTestCase(MultiplexedAcceleratedBinaryTest))
|
||||
elif options.proto == 'multiac':
|
||||
suite.addTest(loader.loadTestsFromTestCase(MultiplexedAcceleratedCompactTest))
|
||||
elif options.proto == 'multic':
|
||||
suite.addTest(loader.loadTestsFromTestCase(MultiplexedCompactTest))
|
||||
elif options.proto == 'multij':
|
||||
suite.addTest(loader.loadTestsFromTestCase(MultiplexedJSONTest))
|
||||
else:
|
||||
raise AssertionError('Unknown protocol given with --protocol: %s' % options.proto)
|
||||
return suite
|
||||
|
@ -301,6 +392,7 @@ class OwnArgsTestProgram(unittest.TestProgram):
|
|||
self.testNames = ([self.defaultTest])
|
||||
self.createTests()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = OptionParser()
|
||||
parser.add_option('--libpydir', type='string', dest='libpydir',
|
||||
|
@ -324,9 +416,9 @@ if __name__ == "__main__":
|
|||
dest="verbose", const=0,
|
||||
help="minimal output")
|
||||
parser.add_option('--protocol', dest="proto", type="string",
|
||||
help="protocol to use, one of: accel, binary, compact, json")
|
||||
help="protocol to use, one of: accel, accelc, binary, compact, header, json, multi, multia, multiac, multic, multij")
|
||||
parser.add_option('--transport', dest="trans", type="string",
|
||||
help="transport to use, one of: buffered, framed")
|
||||
help="transport to use, one of: buffered, framed, http")
|
||||
parser.set_defaults(framed=False, http_path=None, verbose=1, host='localhost', port=9090, proto='binary')
|
||||
options, args = parser.parse_args()
|
||||
|
||||
|
@ -334,6 +426,10 @@ if __name__ == "__main__":
|
|||
sys.path.insert(0, os.path.join(SCRIPT_DIR, options.genpydir))
|
||||
sys.path.insert(0, local_libpath())
|
||||
|
||||
if options.http_path:
|
||||
options.trans = 'http'
|
||||
|
||||
from ThriftTest import SecondService
|
||||
from ThriftTest import ThriftTest
|
||||
from ThriftTest.ttypes import Xtruct, Xtruct2, Numberz, Xception, Xception2
|
||||
from thrift.Thrift import TException
|
||||
|
@ -343,6 +439,8 @@ if __name__ == "__main__":
|
|||
from thrift.transport import TZlibTransport
|
||||
from thrift.protocol import TBinaryProtocol
|
||||
from thrift.protocol import TCompactProtocol
|
||||
from thrift.protocol import THeaderProtocol
|
||||
from thrift.protocol import TJSONProtocol
|
||||
from thrift.protocol import TMultiplexedProtocol
|
||||
|
||||
OwnArgsTestProgram(defaultTest="suite", testRunner=unittest.TextTestRunner(verbosity=1))
|
||||
|
|
1
vendor/git.apache.org/thrift.git/test/py/TestEof.py
generated
vendored
1
vendor/git.apache.org/thrift.git/test/py/TestEof.py
generated
vendored
|
@ -127,5 +127,6 @@ def suite():
|
|||
suite.addTest(loader.loadTestsFromTestCase(TestEof))
|
||||
return suite
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main(defaultTest="suite", testRunner=unittest.TextTestRunner(verbosity=2))
|
||||
|
|
1
vendor/git.apache.org/thrift.git/test/py/TestFrozen.py
generated
vendored
1
vendor/git.apache.org/thrift.git/test/py/TestFrozen.py
generated
vendored
|
@ -118,5 +118,6 @@ def suite():
|
|||
suite.addTest(loader.loadTestsFromTestCase(TestFrozenAcceleratedCompact))
|
||||
return suite
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main(defaultTest="suite", testRunner=unittest.TextTestRunner(verbosity=2))
|
||||
|
|
177
vendor/git.apache.org/thrift.git/test/py/TestRenderedDoubleConstants.py
generated
vendored
Normal file
177
vendor/git.apache.org/thrift.git/test/py/TestRenderedDoubleConstants.py
generated
vendored
Normal file
|
@ -0,0 +1,177 @@
|
|||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
import unittest
|
||||
|
||||
from DoubleConstantsTest import constants
|
||||
|
||||
#
|
||||
# In order to run the test under Windows. We need to create symbolic link
|
||||
# name 'thrift' to '../src' folder by using:
|
||||
#
|
||||
# mklink /D thrift ..\src
|
||||
#
|
||||
|
||||
|
||||
class TestRenderedDoubleConstants(unittest.TestCase):
|
||||
ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST = \
|
||||
"failed to verify a double constant generated by Thrift (expected = %f, got = %f)"
|
||||
ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_LIST_TEST =\
|
||||
"failed to verify a list item by Thrift (expected = %f, got = %f)"
|
||||
ASSERTION_MESSAGE_FOR_TYPE_CHECKS = "the rendered variable with name %s is not of double type"
|
||||
|
||||
# to make sure the variables inside Thrift files are generated correctly
|
||||
def test_rendered_double_constants(self):
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT = 1.0
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT = -100.0
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT = 9223372036854775807.0
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT = -9223372036854775807.0
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS = 3.14159265359
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE = 1000000.1
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE = -1000000.1
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE = 1.7e+308
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE = 9223372036854775816.43
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE = -1.7e+308
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE = -9223372036854775816.43
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST, EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT, places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_INT_CONSTANT, constants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST, EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT,
|
||||
places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT,
|
||||
constants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST, EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT,
|
||||
places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT,
|
||||
constants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST, EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT,
|
||||
places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT,
|
||||
constants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST,
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS, places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS,
|
||||
constants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST, EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE,
|
||||
places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE,
|
||||
constants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST,
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE, places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE,
|
||||
constants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST, EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE, places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_DOUBLE,
|
||||
constants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST,
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE, places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE,
|
||||
constants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST, EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE, places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_SMALL_DOUBLE,
|
||||
constants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST))
|
||||
self.assertAlmostEqual(
|
||||
constants.DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST,
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE, places=7,
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_RENDERED_DOUBLE_CONSTANTS_TEST % (
|
||||
EXPECTED_DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE,
|
||||
constants.DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST))
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_INT_CONSTANT_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_NEGATIVE_INT_CONSTANT_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_LARGEST_INT_CONSTANT_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_SMALLEST_INT_CONSTANT_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_DOUBLE_WITH_MANY_DECIMALS_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_FRACTIONAL_DOUBLE_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_NEGATIVE_FRACTIONAL_DOUBLE_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_LARGE_DOUBLE_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_LARGE_FRACTIONAL_DOUBLE_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_SMALL_DOUBLE_TEST")
|
||||
self.assertTrue(
|
||||
isinstance(constants.DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST, float),
|
||||
msg=TestRenderedDoubleConstants.ASSERTION_MESSAGE_FOR_TYPE_CHECKS %
|
||||
"DOUBLE_ASSIGNED_TO_NEGATIVE_BUT_LARGE_FRACTIONAL_DOUBLE_TEST")
|
||||
|
||||
# to make sure the variables inside Thrift files are generated correctly
|
||||
def test_rendered_double_list(self):
|
||||
EXPECTED_DOUBLE_LIST = [1.0, -100.0, 100.0, 9223372036854775807.0, -9223372036854775807.0, 3.14159265359,
|
||||
1000000.1, -1000000.1, 1.7e+308, -1.7e+308, 9223372036854775816.43,
|
||||
-9223372036854775816.43]
|
||||
self.assertEqual(len(constants.DOUBLE_LIST_TEST), len(EXPECTED_DOUBLE_LIST))
|
||||
for i, expectedValue in enumerate(EXPECTED_DOUBLE_LIST):
|
||||
self.assertAlmostEqual(constants.DOUBLE_LIST_TEST[i], expectedValue, places=7)
|
||||
|
||||
|
||||
def suite():
|
||||
suite = unittest.TestSuite()
|
||||
loader = unittest.TestLoader()
|
||||
suite.addTest(loader.loadTestsFromTestCase(TestRenderedDoubleConstants))
|
||||
return suite
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main(defaultTest="suite", testRunner=unittest.TextTestRunner(verbosity=2))
|
55
vendor/git.apache.org/thrift.git/test/py/TestServer.py
generated
vendored
55
vendor/git.apache.org/thrift.git/test/py/TestServer.py
generated
vendored
|
@ -21,6 +21,7 @@
|
|||
from __future__ import division
|
||||
import logging
|
||||
import os
|
||||
import signal
|
||||
import sys
|
||||
import time
|
||||
from optparse import OptionParser
|
||||
|
@ -180,20 +181,26 @@ class TestHandler(object):
|
|||
def main(options):
|
||||
# set up the protocol factory form the --protocol option
|
||||
prot_factories = {
|
||||
'binary': TBinaryProtocol.TBinaryProtocolFactory,
|
||||
'accel': TBinaryProtocol.TBinaryProtocolAcceleratedFactory,
|
||||
'compact': TCompactProtocol.TCompactProtocolFactory,
|
||||
'accelc': TCompactProtocol.TCompactProtocolAcceleratedFactory,
|
||||
'json': TJSONProtocol.TJSONProtocolFactory,
|
||||
'accel': TBinaryProtocol.TBinaryProtocolAcceleratedFactory(),
|
||||
'accelc': TCompactProtocol.TCompactProtocolAcceleratedFactory(),
|
||||
'binary': TBinaryProtocol.TBinaryProtocolFactory(),
|
||||
'compact': TCompactProtocol.TCompactProtocolFactory(),
|
||||
'header': THeaderProtocol.THeaderProtocolFactory(allowed_client_types=[
|
||||
THeaderTransport.THeaderClientType.HEADERS,
|
||||
THeaderTransport.THeaderClientType.FRAMED_BINARY,
|
||||
THeaderTransport.THeaderClientType.UNFRAMED_BINARY,
|
||||
THeaderTransport.THeaderClientType.FRAMED_COMPACT,
|
||||
THeaderTransport.THeaderClientType.UNFRAMED_COMPACT,
|
||||
]),
|
||||
'json': TJSONProtocol.TJSONProtocolFactory(),
|
||||
}
|
||||
pfactory_cls = prot_factories.get(options.proto, None)
|
||||
if pfactory_cls is None:
|
||||
pfactory = prot_factories.get(options.proto, None)
|
||||
if pfactory is None:
|
||||
raise AssertionError('Unknown --protocol option: %s' % options.proto)
|
||||
pfactory = pfactory_cls()
|
||||
try:
|
||||
pfactory.string_length_limit = options.string_limit
|
||||
pfactory.container_length_limit = options.container_limit
|
||||
except:
|
||||
except Exception:
|
||||
# Ignore errors for those protocols that does not support length limit
|
||||
pass
|
||||
|
||||
|
@ -201,14 +208,23 @@ def main(options):
|
|||
if len(args) > 1:
|
||||
raise AssertionError('Only one server type may be specified, not multiple types.')
|
||||
server_type = args[0]
|
||||
if options.trans == 'http':
|
||||
server_type = 'THttpServer'
|
||||
|
||||
# Set up the handler and processor objects
|
||||
handler = TestHandler()
|
||||
processor = ThriftTest.Processor(handler)
|
||||
|
||||
global server
|
||||
|
||||
# Handle THttpServer as a special case
|
||||
if server_type == 'THttpServer':
|
||||
server = THttpServer.THttpServer(processor, ('', options.port), pfactory)
|
||||
if options.ssl:
|
||||
__certfile = os.path.join(os.path.dirname(SCRIPT_DIR), "keys", "server.crt")
|
||||
__keyfile = os.path.join(os.path.dirname(SCRIPT_DIR), "keys", "server.key")
|
||||
server = THttpServer.THttpServer(processor, ('', options.port), pfactory, cert_file=__certfile, key_file=__keyfile)
|
||||
else:
|
||||
server = THttpServer.THttpServer(processor, ('', options.port), pfactory)
|
||||
server.serve()
|
||||
sys.exit(0)
|
||||
|
||||
|
@ -255,7 +271,7 @@ def main(options):
|
|||
logging.info('Requesting server to stop()')
|
||||
try:
|
||||
server.stop()
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
signal.signal(signal.SIGALRM, clean_shutdown)
|
||||
signal.alarm(4)
|
||||
|
@ -267,7 +283,16 @@ def main(options):
|
|||
# enter server main loop
|
||||
server.serve()
|
||||
|
||||
|
||||
def exit_gracefully(signum, frame):
|
||||
print("SIGINT received\n")
|
||||
server.shutdown() # doesn't work properly, yet
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
signal.signal(signal.SIGINT, exit_gracefully)
|
||||
|
||||
parser = OptionParser()
|
||||
parser.add_option('--libpydir', type='string', dest='libpydir',
|
||||
help='include this directory to sys.path for locating library code')
|
||||
|
@ -287,12 +312,12 @@ if __name__ == '__main__':
|
|||
dest="verbose", const=0,
|
||||
help="minimal output")
|
||||
parser.add_option('--protocol', dest="proto", type="string",
|
||||
help="protocol to use, one of: accel, binary, compact, json")
|
||||
help="protocol to use, one of: accel, accelc, binary, compact, json")
|
||||
parser.add_option('--transport', dest="trans", type="string",
|
||||
help="transport to use, one of: buffered, framed")
|
||||
help="transport to use, one of: buffered, framed, http")
|
||||
parser.add_option('--container-limit', dest='container_limit', type='int', default=None)
|
||||
parser.add_option('--string-limit', dest='string_limit', type='int', default=None)
|
||||
parser.set_defaults(port=9090, verbose=1, proto='binary')
|
||||
parser.set_defaults(port=9090, verbose=1, proto='binary', transport='buffered')
|
||||
options, args = parser.parse_args()
|
||||
|
||||
# Print TServer log to stdout so that the test-runner can redirect it to log files
|
||||
|
@ -304,11 +329,13 @@ if __name__ == '__main__':
|
|||
from ThriftTest import ThriftTest
|
||||
from ThriftTest.ttypes import Xtruct, Xception, Xception2, Insanity
|
||||
from thrift.Thrift import TException
|
||||
from thrift.transport import THeaderTransport
|
||||
from thrift.transport import TTransport
|
||||
from thrift.transport import TSocket
|
||||
from thrift.transport import TZlibTransport
|
||||
from thrift.protocol import TBinaryProtocol
|
||||
from thrift.protocol import TCompactProtocol
|
||||
from thrift.protocol import THeaderProtocol
|
||||
from thrift.protocol import TJSONProtocol
|
||||
from thrift.server import TServer, TNonblockingServer, THttpServer
|
||||
|
||||
|
|
7
vendor/git.apache.org/thrift.git/test/py/TestSocket.py
generated
vendored
7
vendor/git.apache.org/thrift.git/test/py/TestSocket.py
generated
vendored
|
@ -36,7 +36,7 @@ class TimeoutTest(unittest.TestCase):
|
|||
self.listen_sock.bind(('localhost', self.port))
|
||||
self.listen_sock.listen(5)
|
||||
break
|
||||
except:
|
||||
except Exception:
|
||||
if i == 49:
|
||||
raise
|
||||
|
||||
|
@ -50,7 +50,7 @@ class TimeoutTest(unittest.TestCase):
|
|||
socket.setTimeout(10)
|
||||
socket.open()
|
||||
leaky.append(socket)
|
||||
except:
|
||||
except Exception:
|
||||
self.assert_(time.time() - starttime < 5.0)
|
||||
|
||||
def testWriteTimeout(self):
|
||||
|
@ -64,9 +64,10 @@ class TimeoutTest(unittest.TestCase):
|
|||
while True:
|
||||
lsock.write("hi" * 100)
|
||||
|
||||
except:
|
||||
except Exception:
|
||||
self.assert_(time.time() - starttime < 5.0)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
suite = unittest.TestSuite()
|
||||
loader = unittest.TestLoader()
|
||||
|
|
14
vendor/git.apache.org/thrift.git/test/py/generate.cmake
generated
vendored
14
vendor/git.apache.org/thrift.git/test/py/generate.cmake
generated
vendored
|
@ -20,3 +20,17 @@ generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:old_style gen-py-oldsty
|
|||
generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:no_utf8strings gen-py-no_utf8strings)
|
||||
generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:dynamic gen-py-dynamic)
|
||||
generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:dynamic,slots gen-py-dynamicslots)
|
||||
|
||||
generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py gen-py-default)
|
||||
generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py:slots gen-py-slots)
|
||||
generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py:old_style gen-py-oldstyle)
|
||||
generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py:no_utf8strings gen-py-no_utf8strings)
|
||||
generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py:dynamic gen-py-dynamic)
|
||||
generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py:dynamic,slots gen-py-dynamicslots)
|
||||
|
||||
generate(${MY_PROJECT_DIR}/test/Recursive.thrift py gen-py-default)
|
||||
generate(${MY_PROJECT_DIR}/test/Recursive.thrift py:slots gen-py-slots)
|
||||
generate(${MY_PROJECT_DIR}/test/Recursive.thrift py:old_style gen-py-oldstyle)
|
||||
generate(${MY_PROJECT_DIR}/test/Recursive.thrift py:no_utf8strings gen-py-no_utf8strings)
|
||||
generate(${MY_PROJECT_DIR}/test/Recursive.thrift py:dynamic gen-py-dynamic)
|
||||
generate(${MY_PROJECT_DIR}/test/Recursive.thrift py:dynamic,slots gen-py-dynamicslots)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue