Define PY_SSIZE_T_CLEAN to use PyObject_CallFunction
When using the building functions for the fallback scenario
in readBytes, a SystemError is raised in python 3.10 (raised
as a warning till python 3.9) due to the use of "#yi" for the output
buffer argument.
Extra test cases are added to cover serialization/deserialization
both with compact & binary protocol both with and without the
c-extension
diff --git a/lib/py/src/ext/binary.cpp b/lib/py/src/ext/binary.cpp
index 85d8d92..423fa8f 100644
--- a/lib/py/src/ext/binary.cpp
+++ b/lib/py/src/ext/binary.cpp
@@ -17,6 +17,7 @@
* under the License.
*/
+#define PY_SSIZE_T_CLEAN
#include "ext/binary.h"
namespace apache {
namespace thrift {