You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Niklas B (Jira)" <ji...@apache.org> on 2020/09/14 16:30:00 UTC

[jira] [Comment Edited] (ARROW-2651) [Python] Build & Test with PyPy

    [ https://issues.apache.org/jira/browse/ARROW-2651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17195571#comment-17195571 ] 

Niklas B edited comment on ARROW-2651 at 9/14/20, 4:29 PM:
-----------------------------------------------------------

Besides GetContiguous we (and with we I mean Matti) needed to patch a few datetime related things, [https://gist.github.com/mattip/c9c8398b58721ae5893dc8134c353f28]

Build that works with the patch available on [https://github.com/bivald/pyarrow-on-pypy3/tree/feature/latest-pypy-latest-pyarrow]

As for the test suite I had to disable IO, misc and memory since they gave segfaults. 

pytest pyarrow --ignore-glob='*test_io.py' --ignore-glob='*test_misc.py' --ignore-glob='*test_memory.py'

Gave:

33 failed, 2620 passed, 532 skipped, 13 xfailed, 10 warnings in 104.02s

 

====================================================================================================== short test summary info ======================================================================================================
 FAILED pyarrow2/tests/test_array.py::test_to_pandas_zero_copy - AttributeError: module 'sys' has no attribute 'getrefcount'
 FAILED pyarrow2/tests/test_array.py::test_array_slice - SystemError: Function returned an error result without setting an exception
 FAILED pyarrow2/tests/test_array.py::test_array_ref_to_ndarray_base - AttributeError: module 'sys' has no attribute 'getrefcount'
 FAILED pyarrow2/tests/test_array.py::test_array_conversions_no_sentinel_values - AttributeError: module 'sys' has no attribute 'getrefcount'
 FAILED pyarrow2/tests/test_array.py::test_nbytes_sizeof - TypeError: getsizeof(...)
 FAILED pyarrow2/tests/test_cffi.py::test_export_import_array - assert 1528 == 896
 FAILED pyarrow2/tests/test_cffi.py::test_export_import_batch - assert 1048 == 128
 FAILED pyarrow2/tests/test_convert_builtin.py::test_garbage_collection - assert 128 == 766912
 FAILED pyarrow2/tests/test_convert_builtin.py::test_sequence_bytes - NotImplementedError: creating contiguous readonly buffer from non-contiguous not implemented yet
 FAILED pyarrow2/tests/test_convert_builtin.py::test_map_from_dicts - AssertionError: Regex pattern 'integer is required' does not match 'expected integer, got str object'.
 FAILED pyarrow2/tests/test_csv.py::test_read_options - Failed: DID NOT RAISE <class 'AttributeError'>
 FAILED pyarrow2/tests/test_csv.py::test_parse_options - Failed: DID NOT RAISE <class 'AttributeError'>
 FAILED pyarrow2/tests/test_csv.py::test_convert_options - Failed: DID NOT RAISE <class 'AttributeError'>
 FAILED pyarrow2/tests/test_csv.py::TestSerialStreamingCSVRead::test_batch_lifetime - AssertionError: assert 1464704 == 1464576
 FAILED pyarrow2/tests/test_cython.py::test_cython_api - subprocess.CalledProcessError: Command '['/pyarrow/bin/pypy3', 'setup.py', 'build_ext', '--inplace']' returned non-zero exit status 1.
 FAILED pyarrow2/tests/test_extension_type.py::test_ext_type__lifetime - AssertionError: assert UuidType(extension<arrow.py_extension_type>) is None
 FAILED pyarrow2/tests/test_extension_type.py::test_uuid_type_pickle - AssertionError: assert UuidType(extension<arrow.py_extension_type>) is None
 FAILED pyarrow2/tests/test_extension_type.py::test_ext_array_lifetime - AssertionError: assert ParamExtType(extension<arrow.py_extension_type>) is None
 FAILED pyarrow2/tests/test_fs.py::test_py_filesystem_lifetime - AssertionError: assert <pyarrow2.tests.test_fs.DummyHandler object at 0x0000000003e696a8> is None
 FAILED pyarrow2/tests/test_pandas.py::test_to_pandas_deduplicate_integers_as_objects - assert 100 == 991
 FAILED pyarrow2/tests/test_pandas.py::test_array_uses_memory_pool - assert 103552 == 465152
 FAILED pyarrow2/tests/test_pandas.py::test_to_pandas_self_destruct - assert 6112064 == 4112064
 FAILED pyarrow2/tests/test_pandas.py::test_table_uses_memory_pool - assert 6249408 == 6112064
 FAILED pyarrow2/tests/test_pandas.py::test_object_leak_in_numpy_array - AttributeError: module 'sys' has no attribute 'getrefcount'
 FAILED pyarrow2/tests/test_pandas.py::test_object_leak_in_dataframe - AttributeError: module 'sys' has no attribute 'getrefcount'
 FAILED pyarrow2/tests/test_schema.py::test_schema_sizeof - TypeError: getsizeof(...)
 FAILED pyarrow2/tests/test_sparse_tensor.py::test_sparse_coo_tensor_base_object - AttributeError: module 'sys' has no attribute 'getrefcount'
 FAILED pyarrow2/tests/test_sparse_tensor.py::test_sparse_csr_matrix_base_object - AttributeError: module 'sys' has no attribute 'getrefcount'
 FAILED pyarrow2/tests/test_sparse_tensor.py::test_sparse_csf_tensor_base_object - AttributeError: module 'sys' has no attribute 'getrefcount'
 FAILED pyarrow2/tests/test_table.py::test_chunked_array_basics - TypeError: getsizeof(...)
 FAILED pyarrow2/tests/test_table.py::test_recordbatch_basics - TypeError: getsizeof(...)
 FAILED pyarrow2/tests/test_table.py::test_table_basics - TypeError: getsizeof(...)
 FAILED pyarrow2/tests/test_tensor.py::test_tensor_base_object - AttributeError: module 'sys' has no attribute 'getrefcount'
 ========================================================================= 33 failed, 2620 passed, 532 skipped, 13 xfailed, 10 warnings in 104.02s (0:01:44) =========================================================================


was (Author: bivald):
Besides GetContiguous we (and with me I mean Matti) needed to patch a few datetime related things, [https://gist.github.com/mattip/c9c8398b58721ae5893dc8134c353f28]

Build that works with the patch available on [https://github.com/bivald/pyarrow-on-pypy3/tree/feature/latest-pypy-latest-pyarrow]

As for the test suite I had to disable IO, misc and memory since they gave segfaults. 

pytest pyarrow --ignore-glob='*test_io.py' --ignore-glob='*test_misc.py' --ignore-glob='*test_memory.py'

Gave:

33 failed, 2620 passed, 532 skipped, 13 xfailed, 10 warnings in 104.02s

 

====================================================================================================== short test summary info ======================================================================================================
FAILED pyarrow2/tests/test_array.py::test_to_pandas_zero_copy - AttributeError: module 'sys' has no attribute 'getrefcount'
FAILED pyarrow2/tests/test_array.py::test_array_slice - SystemError: Function returned an error result without setting an exception
FAILED pyarrow2/tests/test_array.py::test_array_ref_to_ndarray_base - AttributeError: module 'sys' has no attribute 'getrefcount'
FAILED pyarrow2/tests/test_array.py::test_array_conversions_no_sentinel_values - AttributeError: module 'sys' has no attribute 'getrefcount'
FAILED pyarrow2/tests/test_array.py::test_nbytes_sizeof - TypeError: getsizeof(...)
FAILED pyarrow2/tests/test_cffi.py::test_export_import_array - assert 1528 == 896
FAILED pyarrow2/tests/test_cffi.py::test_export_import_batch - assert 1048 == 128
FAILED pyarrow2/tests/test_convert_builtin.py::test_garbage_collection - assert 128 == 766912
FAILED pyarrow2/tests/test_convert_builtin.py::test_sequence_bytes - NotImplementedError: creating contiguous readonly buffer from non-contiguous not implemented yet
FAILED pyarrow2/tests/test_convert_builtin.py::test_map_from_dicts - AssertionError: Regex pattern 'integer is required' does not match 'expected integer, got str object'.
FAILED pyarrow2/tests/test_csv.py::test_read_options - Failed: DID NOT RAISE <class 'AttributeError'>
FAILED pyarrow2/tests/test_csv.py::test_parse_options - Failed: DID NOT RAISE <class 'AttributeError'>
FAILED pyarrow2/tests/test_csv.py::test_convert_options - Failed: DID NOT RAISE <class 'AttributeError'>
FAILED pyarrow2/tests/test_csv.py::TestSerialStreamingCSVRead::test_batch_lifetime - AssertionError: assert 1464704 == 1464576
FAILED pyarrow2/tests/test_cython.py::test_cython_api - subprocess.CalledProcessError: Command '['/pyarrow/bin/pypy3', 'setup.py', 'build_ext', '--inplace']' returned non-zero exit status 1.
FAILED pyarrow2/tests/test_extension_type.py::test_ext_type__lifetime - AssertionError: assert UuidType(extension<arrow.py_extension_type>) is None
FAILED pyarrow2/tests/test_extension_type.py::test_uuid_type_pickle - AssertionError: assert UuidType(extension<arrow.py_extension_type>) is None
FAILED pyarrow2/tests/test_extension_type.py::test_ext_array_lifetime - AssertionError: assert ParamExtType(extension<arrow.py_extension_type>) is None
FAILED pyarrow2/tests/test_fs.py::test_py_filesystem_lifetime - AssertionError: assert <pyarrow2.tests.test_fs.DummyHandler object at 0x0000000003e696a8> is None
FAILED pyarrow2/tests/test_pandas.py::test_to_pandas_deduplicate_integers_as_objects - assert 100 == 991
FAILED pyarrow2/tests/test_pandas.py::test_array_uses_memory_pool - assert 103552 == 465152
FAILED pyarrow2/tests/test_pandas.py::test_to_pandas_self_destruct - assert 6112064 == 4112064
FAILED pyarrow2/tests/test_pandas.py::test_table_uses_memory_pool - assert 6249408 == 6112064
FAILED pyarrow2/tests/test_pandas.py::test_object_leak_in_numpy_array - AttributeError: module 'sys' has no attribute 'getrefcount'
FAILED pyarrow2/tests/test_pandas.py::test_object_leak_in_dataframe - AttributeError: module 'sys' has no attribute 'getrefcount'
FAILED pyarrow2/tests/test_schema.py::test_schema_sizeof - TypeError: getsizeof(...)
FAILED pyarrow2/tests/test_sparse_tensor.py::test_sparse_coo_tensor_base_object - AttributeError: module 'sys' has no attribute 'getrefcount'
FAILED pyarrow2/tests/test_sparse_tensor.py::test_sparse_csr_matrix_base_object - AttributeError: module 'sys' has no attribute 'getrefcount'
FAILED pyarrow2/tests/test_sparse_tensor.py::test_sparse_csf_tensor_base_object - AttributeError: module 'sys' has no attribute 'getrefcount'
FAILED pyarrow2/tests/test_table.py::test_chunked_array_basics - TypeError: getsizeof(...)
FAILED pyarrow2/tests/test_table.py::test_recordbatch_basics - TypeError: getsizeof(...)
FAILED pyarrow2/tests/test_table.py::test_table_basics - TypeError: getsizeof(...)
FAILED pyarrow2/tests/test_tensor.py::test_tensor_base_object - AttributeError: module 'sys' has no attribute 'getrefcount'
========================================================================= 33 failed, 2620 passed, 532 skipped, 13 xfailed, 10 warnings in 104.02s (0:01:44) =========================================================================

> [Python] Build & Test with PyPy
> -------------------------------
>
>                 Key: ARROW-2651
>                 URL: https://issues.apache.org/jira/browse/ARROW-2651
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: Python
>            Reporter: Uwe Korn
>            Priority: Major
>              Labels: outline_for_beginners
>
> At the moment, we only build with CPython in our CI matrix and only do releases for it. As reported in https://github.com/apache/arrow/issues/2089#issuecomment-393126040 not everything is working yet. This may either be due to problems on our or PyPy's side.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)