diff options
author | Kevin Wojniak <kainjow@users.noreply.github.com> | 2022-01-22 21:04:30 -0800 |
---|---|---|
committer | Jens Geyer <Jens-G@users.noreply.github.com> | 2022-03-05 09:58:27 +0100 |
commit | d0e49f01ca40154348d2deaf229541e2f9ee2988 (patch) | |
tree | 50db29e967683ca5c30c1c5d6f3039655b98e82a | |
parent | 8d6694d60787e2c5e16378e3738a4b31382b6834 (diff) | |
download | thrift-d0e49f01ca40154348d2deaf229541e2f9ee2988.tar.gz |
add tests
-rwxr-xr-x | test/py/RunClientServer.py | 2 | ||||
-rwxr-xr-x | test/py/SerializationTest.py | 14 | ||||
-rw-r--r-- | test/py/generate.cmake | 4 |
3 files changed, 18 insertions, 2 deletions
diff --git a/test/py/RunClientServer.py b/test/py/RunClientServer.py index 56a408e60..cb0decf0e 100755 --- a/test/py/RunClientServer.py +++ b/test/py/RunClientServer.py @@ -259,7 +259,7 @@ def main(): parser = OptionParser() parser.add_option('--all', action="store_true", dest='all') parser.add_option('--genpydirs', type='string', dest='genpydirs', - default='default,slots,oldstyle,no_utf8strings,dynamic,dynamicslots', + default='default,slots,oldstyle,no_utf8strings,dynamic,dynamicslots,enum', help='directory extensions for generated code, used as suffixes for \"gen-py-*\" added sys.path for individual tests') parser.add_option("--port", type="int", dest="port", default=9090, help="port number for server to listen on") diff --git a/test/py/SerializationTest.py b/test/py/SerializationTest.py index ef7983568..f47c3d4d6 100755 --- a/test/py/SerializationTest.py +++ b/test/py/SerializationTest.py @@ -432,7 +432,19 @@ class SerializersTest(unittest.TestCase): self.assertEquals(obj, objcopy) # test enums - for num, name in Numberz._VALUES_TO_NAMES.items(): + def _enumerate_enum(enum_class): + if hasattr(enum_class, '_VALUES_TO_NAMES'): + # old-style enums + for num, name in enum_class._VALUES_TO_NAMES.items(): + yield (num, name) + else: + # assume Python 3.4+ IntEnum-based + from enum import IntEnum + self.assertTrue((issubclass(enum_class, IntEnum))) + for num in enum_class: + yield (num.value, num.name) + + for num, name in _enumerate_enum(Numberz): obj = Bonk(message='enum Numberz value %d is string %s' % (num, name), type=num) objcopy = Bonk() deserialize(objcopy, serialize(obj)) diff --git a/test/py/generate.cmake b/test/py/generate.cmake index 4ed14cc52..e6a6735e4 100644 --- a/test/py/generate.cmake +++ b/test/py/generate.cmake @@ -13,6 +13,7 @@ generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:old_style gen-py-oldstyle) generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:no_utf8strings gen-py-no_utf8strings) generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:dynamic gen-py-dynamic) generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:dynamic,slots gen-py-dynamicslots) +generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:enum gen-py-enum) generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py gen-py-default) generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:slots gen-py-slots) @@ -20,6 +21,7 @@ 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/DebugProtoTest.thrift py:enum gen-py-enum) generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py gen-py-default) generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py:slots gen-py-slots) @@ -27,6 +29,7 @@ generate(${MY_PROJECT_DIR}/test/DoubleConstantsTest.thrift py:old_style gen-py-o 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/DoubleConstantsTest.thrift py:enum gen-py-enum) generate(${MY_PROJECT_DIR}/test/Recursive.thrift py gen-py-default) generate(${MY_PROJECT_DIR}/test/Recursive.thrift py:slots gen-py-slots) @@ -34,3 +37,4 @@ 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) +generate(${MY_PROJECT_DIR}/test/Recursive.thrift py:enum gen-py-enum) |