THRIFT-5899: Python tests fail for the Appveyor MSVC builds (#3229)
* Temporarily switch off shared build
- See THRIFT-5898
* Skip type_hints tests for python lower than 3.7
- PR#2929 called out that the changes breaks Python 3.5 since types came in in 3.6
- Python 3.6 errors out with 'from __future__ import annotations' since it looks like it was only added in 3.7
* More appveyer issues on Windows due to old python
* Remove enum tests for old python versions
- Getting `raise TApplicationException(TApplicationException.MISSING_RESULT, "testEnum failed: unknown result"` error
- PR#2825 state it is a breaking change, not sure why and for what version of Python
* Disable SSL tests for old Python
- Appveyor error: ` AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLS_CLIENT'`
* Can't get the test to skip so revert the change that broke it
- See PR#3050
* THRIFT-5900: Pin the cross test stage to python 3.13
- See https://issues.apache.org/jira/browse/THRIFT-5900
diff --git a/test/py/RunClientServer.py b/test/py/RunClientServer.py
index f48224f..ede6a30 100755
--- a/test/py/RunClientServer.py
+++ b/test/py/RunClientServer.py
@@ -212,6 +212,9 @@
# skip any servers that don't work with SSL
if with_ssl and try_server in SKIP_SSL:
return False
+ if with_ssl and (sys.version_info < (3,7)):
+ print('Skipping \'with_ssl\' test since python 3.7 or later is required')
+ return False
if self.verbose > 0:
print('\nTest run #%d: (includes %s) Server=%s, Proto=%s, zlib=%s, SSL=%s'
% (test_count, genpydir, try_server, try_proto, with_zlib, with_ssl))
@@ -243,6 +246,9 @@
# skip any servers that don't work with SSL
if with_ssl and try_server in SKIP_SSL:
continue
+ if with_ssl and (sys.version_info < (3,7)):
+ print('Skipping \'with_ssl\' test since python 3.7 or later is required')
+ continue
test_count += 1
if self.verbose > 0:
print('\nTest run #%d: (includes %s) Server=%s, Proto=%s, zlib=%s, SSL=%s'
@@ -277,6 +283,12 @@
generated_dirs = []
for gp_dir in options.genpydirs.split(','):
+ if gp_dir == 'type_hints' and (sys.version_info < (3,7)):
+ print('Skipping \'type_hints\' test since python 3.7 or later is required')
+ continue
+ if gp_dir == 'enum' and (sys.version_info < (3,7)):
+ print('Skipping \'enum\' test since python 3.7 or later is required')
+ continue
generated_dirs.append('gen-py-%s' % (gp_dir))
# commandline permits a single class name to be specified to override SERVERS=[...]