Commit Graph

108 Commits

Author SHA1 Message Date
Elvis Pranskevichus
b40f5c227f
THRIFT-4002: Make generated exception classes immutable by default
Currently, the generated exception classes are not hashable under
Python 3 because of the generated `__eq__` method.  Exception objects
are generally expected to be hashable by the Python standard library.
Post-construction mutation of an exception object seems like a very
unlikely case, so enable hashing for all exceptions by making them
immutable by default.  This also adds a way to opt-out of immutability
by setting the `python.immutable` annotation to `"false"`.
2019-12-10 20:44:24 +00:00
James E. King III
9804ab983a THRIFT-4780: finish the server implementation of multi in python server
- Add default processor handling to python multi
2019-02-08 17:16:17 -05:00
James E. King III
3ec4031a4c THRIFT-4405: fix cygwin on appveyor 2019-02-01 11:13:49 -05:00
James E. King III
84d9cd27f9 THRIFT-4405: Enhance python cross test client for pedantic sequence id handling 2019-02-01 11:13:49 -05:00
James E. King III
b96c43892a THRIFT-4717: fix up make clean with autoconf 2019-01-25 23:33:54 -05:00
Neil Williams
66a44c5d8d THRIFT-4621 Add THeader for Python
Client: py
2018-09-01 10:24:43 +09:00
James E. King III
2068544a09 THRIFT-4548: add python cross test client multiplexed protocol support
Client: py
2018-04-13 13:20:49 -04:00
James E. King III
6f8c99e981 THRIFT-3118: add http (for non-ssl and for ssl) to the python cross tests 2018-04-05 10:25:19 -04:00
Ozan Can Altiok
e46419b5ec THRIFT-4476: Typecasting problem on double list items,
emitting doubles with high precision
Client: cpp
Client: erl
Client: java
Client: js
Client: py

This closes #1511
2018-03-20 16:28:15 -04:00
James E. King, III
350fe7531f THRIFT-4370: build generated code before running static code analysis;
fix E722 flake8 issues identified in python code

This closes #1399
2017-10-26 11:37:02 -04:00
James E. King, III
0ad20bdbfe THRIFT-4351: use travis build stages to optimize build,
avoiding duplicate rebuilds of the same image, and also
allow personal docker hub repositories for private fork
builds to be optimized. Move ubsan build to artful image
because it catches more stuff and fix what was found.

THRIFT-4345: solidify docker build strategy for maximum
coverage: trusty, xenial, artful as stock as they can be

THRIFT-4344: add top level language summary markdown and
update readme with a new image on the layered architecture

THRIFT-3847: remove VERSION macro from config.h which
was causing a conflict on artful builds.

THRIFT-4359: fix haxe map/set decode when key is binary,
as a missing break statement caused it to use an int
during decode

This closes #1389
2017-10-19 11:29:04 -04:00
Elvis Pranskevichus
2d1fe88db3 THRIFT-4206: Fix decoding of strings in containers with py:dynamic and py:utf8strings
Client: py

_read_by_ttype and _write_by_ttype must be using the *element* spec
and not the container spec when determining the correct read/write
handler.

This closes #1273
2017-09-25 17:11:33 -07:00
Thomas Petazzoni
1744cdcb67 configure.ac, Makefile.am: introduce THRIFT variable to support cross-compilation
The thrift build system currently assumes that the thrift compiler is
always available in $(top_builddir)/compiler/cpp/thrift. However, in a
cross-compilation context, this location contains the thrift compiler
built for the target... which obviously will not run on the build
machine.

In order to support such cross-compilation situation, we introduce the
THRIFT variable as a an argument for the configure script (using
AC_ARG_VAR). If not specified, it defaults to the existing value of
using compiler/cpp/thrift from the build directory, but it can be
overridden when calling ./configure.

Note that $(top_builddir) cannot be used within the configure script,
so we simply use `pwd`, which is the same as the top_builddir.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

This closes #1336
This closes #1350
2017-09-09 07:50:54 -07:00
Eric Conner
c34653f751 THRIFT-2642 Recursive structs don't work in python
Client: Python
Patch: Eric Conner <eric@pinterest.com>

This closes #1293
2017-07-06 22:59:10 +02:00
Nobuaki Sukegawa
4626fd889d THRIFT-3938 Python TNonblockingServer does not work with SSL
This closes #1100
2017-02-12 21:11:36 +09:00
Nobuaki Sukegawa
06e8fd4a08 THRIFT-3694 [Windows] Disable tests of a few servers that are not supported
This closes #909
2016-03-02 23:44:23 +09:00
Nobuaki Sukegawa
d479e23a1d THRIFT-3691 Run flake8 Python style check on Travis-CI
Client: Build (Python)
Patch: Nobuaki Sukegawa

This closes #907
2016-02-28 12:05:14 +09:00
Nobuaki Sukegawa
e9b3234b28 THRIFT-3682 Do not reuse refused sockets in test scripts
Client: Test
Patch: Nobuaki Sukegawa

This closes #902
2016-02-27 16:55:55 +09:00
Nobuaki Sukegawa
7af189a236 THRIFT-3613 Port Python C extension to Python 3
Client: Python
Patch: Nobuaki Sukegawa

This closes #845
2016-02-13 23:12:34 +09:00
Nobuaki Sukegawa
6525f6ae87 THRIFT-3612 Add Python C extension for compact protocol
Client: Python
Patch: Nobuaki Sukegawa

This closes #844
2016-02-13 23:12:34 +09:00
Nobuaki Sukegawa
4708409c2d THRIFT-3601 Better conformance to PEP8 for generated code
This closes #837
2016-02-05 20:48:07 +09:00
Nobuaki Sukegawa
10308cb975 THRIFT-3596 Better conformance to PEP8
This closes #832
2016-02-04 14:28:24 +09:00
Nobuaki Sukegawa
7b545b5720 THRIFT-3532 Add configurable string and container read size limit to Python protocols
This closes #787
2016-01-13 20:25:23 +09:00
Nobuaki Sukegawa
a3b88a012e THRIFT-3503 Enable py:utf8string by default
This closes #779
2016-01-11 11:41:14 +09:00
Nobuaki Sukegawa
33744b0524 THRIFT-3515 Python 2.6 compatibility and test on CI
This closes #766
2016-01-05 03:02:35 +09:00
Nobuaki Sukegawa
b78d781b2e THRIFT-3438 Enable py:new_style by default
Client: Python
Patch: Nobuaki Sukegawa

This closes #759
2016-01-02 22:54:16 +09:00
Nobuaki Sukegawa
7b8946941e THRIFT-3504 Fix FastbinaryTest.py
Client: Python
Patch: Nobuaki Sukegawa

This closes #757
2016-01-02 22:54:16 +09:00
Nobuaki Sukegawa
9b35a7c021 THRIFT-3495 Minor enhancements and fixes for cross test
This closes #750
2015-12-24 02:11:17 +09:00
Nobuaki Sukegawa
e841b3dac6 THRIFT-162 Thrift structures are unhashable, preventing them from being used as set elements
Client: Python
Patch: David Reiss, Nobuaki Sukegawa

This closes #714
2015-11-28 00:08:07 +01:00
Nobuaki Sukegawa
cacce2f1d5 THRIFT-3440 Python make check takes too much time
Client: Test Python
Patch: Nobuaki Sukegawa

This closes #711
2015-11-23 21:24:24 +09:00
Nobuaki Sukegawa
bc7e480d0f THRIFT-3350 Python JSON protocol does not encode binary as Base64
Client: Python
Patch: Nobuaki Sukegawa

This closes #697
2015-11-15 14:00:18 +09:00
Nobuaki Sukegawa
a185d7e785 THRIFT-1857 Python 3 Support
Client: Python
Patch: Nobuaki Sukegawa

Add py3 cross test
2015-11-06 21:24:24 +09:00
Nobuaki Sukegawa
760511f59b THRIFT-1857 Python 3 Support
Client: Python
Patch: Thomas Bartelmess, Eevee (Alex Munroe), helgridly, Christian Verkerk, Jeroen Vlek, Nobuaki Sukegawa

This closes #213 and closes #680
2015-11-06 21:24:16 +09:00
Nobuaki Sukegawa
228b328f7b THRIFT-3376 C# and Python JSON protocol double values lose precision
Client: C#, Python, C++, Ruby
Patch: Nobuaki Sukegawa <nsukeg@gmail.com>

This closes #643
2015-10-14 00:40:23 +02:00
Nobuaki Sukegawa
64b8f6ca15 THRIFT-3375 Python TJSONProtocol encodes utf8 string values in an incompatible way
This closes #642
2015-10-11 00:23:31 +02:00
Randy Abernethy
983bf7de41 THRIFT-3373: cross test cleanup
Client: build, node, c_glib, cpp, hs, py, rb
Patch: Nobuaki Sukegawa

Github Pull Request:
This closes #641
commit 338f1a502961a4f63b0bd4b3dae4099062d6d17f
Author: Nobuaki Sukegawa <nsukeg@gmail.com>
Date: 2015-10-09T17:25:18Z
THRIFT-3373 Various fixes for cross test servers and clients
2015-10-09 12:28:57 -07:00
Roger Meier
a03464c526 THRIFT-3322 CMake generated "make check" failes on python_test
Patch: Claudius Heine
2015-09-30 08:15:53 +02:00
Nobuaki Sukegawa
01ede042aa THRIFT-3360 Improve cross test servers and clients further
This closes #629
2015-09-28 20:38:37 +02:00
jfarrell
a1ae93f4be THRIFT-3290: Using from in variable names causes the generated Python code to have errors
Client: py
Patch: Prathik Rajendran

Adds 'from' to the reserved words list for py

This closes #579
2015-09-24 22:58:45 -04:00
Jens Geyer
d629ea0bb2 THRIFT-3347 Improve cross test servers and clients
Client: TestSuite, C++, Perl, NodeJS, c_glib, Haskell, Python
Patch: Nobuaki Sukegawa <nsukeg@gmail.com>

This closes #621
2015-09-23 21:20:38 +02:00
Roger Meier
840f3ef649 THRIFT-3340 Python: enable json tests again
This closed #613
2015-09-21 23:36:27 +02:00
Nobuaki Sukegawa
a649e7473b THRIFT-3337 Add testBool method to cross tests
This closes #611
2015-09-21 23:07:39 +02:00
Roger Meier
6857b7fe90 THRIFT-2918 Race condition in Python TProcessPoolServer test 2015-09-17 09:46:24 +02:00
Jens Geyer
f7d327ae96 THRIFT-2918 Race condition in Python TProcessPoolServer test
Client: Python
Patch: Jens Geyer
2015-07-25 15:44:20 +02:00
Roger Meier
74d503e0eb THRIFT-2850 CMake for Apache Thrift
Change project name to "Apache Thrift" and add test/py

fix: add missing test/py/CMakeLists.txt and update package name
2015-06-05 07:10:19 +02:00
Nobuaki Sukegawa
ef0a8fa62a THRIFT-3138 "make check" parallel execution is underministic 2015-05-10 18:25:56 +02:00
Roger Meier
41ad4342c5 THRIFT-847 Test Framework harmonization across all languages
THRIFT-2946 Enhance usability of cross test framework

Patch: Nobuaki Sukegawa

This closes: #358
2015-03-24 22:30:40 +01:00
Jens Geyer
8bcfdd98ae THRIFT-2886 Integrate binary type in standard Thrift cross test
Client: C_glib, C++, D, Erlang, Go, Haskell, Lua, Java/Me, JavaScript, Node, Ocaml, Perl, PHP, Python, Ruby
Patch: Jens Geyer

This closes #341

Minimal server-side implementations and TODO stubs for various languages to let "make check" succeeed.
Not contained in this patch and still TODO:
- client side implementations, i.e. calls to testBinary() and appropriate tests
- server side hex printout missing for some languages
2015-01-03 17:37:54 +01:00
Roger Meier
81a1f996bc THRIFT-2602 fix missing dist files
- add automake 1.13 dependency to configure.ac and doc
- use serial-tests instead of .NOTPARALLEL (introduced by THRIFT-1829)

Patch: Roger Meier
2014-10-22 14:09:43 +02:00
Konrad Grochowski
d5f3be5ebd THRIFT-2757: py - checkIntegerLimits optimized
Client: Python
2014-10-08 15:40:00 +02:00