[ 
https://issues.apache.org/jira/browse/AVRO-3972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ryan Skraba updated AVRO-3972:
------------------------------
    Priority: Blocker  (was: Major)

> [Build] pypy3.8 fails with 'Buffer' object is not iterable
> ----------------------------------------------------------
>
>                 Key: AVRO-3972
>                 URL: https://issues.apache.org/jira/browse/AVRO-3972
>             Project: Apache Avro
>          Issue Type: Bug
>    Affects Versions: 1.12.0
>            Reporter: Ryan Skraba
>            Priority: Blocker
>
> In the docker ubertool:
> {code}
> interop_data.py             46      2    96%
> avro/test/mock_tether_parent.py           48     30    38%
> avro/test/sample_http_client.py           30     30     0%
> avro/test/sample_http_server.py           34     34     0%
> avro/test/test_bench.py                   42      0   100%
> avro/test/test_compatibility.py          161      0   100%
> avro/test/test_datafile.py                85      0   100%
> avro/test/test_datafile_interop.py        28      3    89%
> avro/test/test_init.py                     5      0   100%
> avro/test/test_io.py                     212      0   100%
> avro/test/test_ipc.py                     11      0   100%
> avro/test/test_name.py                    95      0   100%
> avro/test/test_protocol.py                74      0   100%
> avro/test/test_schema.py                 284      4    99%
> avro/test/test_script.py                 139      2    99%
> avro/test/test_tether_task.py             45      1    98%
> avro/test/test_tether_task_runner.py      68      0   100%
> avro/test/test_tether_word_count.py       67      1    99%
> avro/test/word_count_task.py              21      0   100%
> avro/tether/__init__.py                    4      0   100%
> avro/tether/tether_task.py               159     38    76%
> avro/tether/tether_task_runner.py        118     37    69%
> avro/tether/util.py                        7      0   100%
> avro/timezones.py                         18      3    83%
> avro/tool.py                             108    108     0%
> avro/utils.py                             10      0   100%
> ----------------------------------------------------------
> TOTAL                                   4493    686    85%
> py311: OK ✔ in 20.39 seconds
> pypy3.7: skipped because could not find python interpreter with spec(s): 
> pypy3.7
> pypy3.7: SKIP ⚠ in 6.58 seconds
> pypy3.8: install_deps> python -I -m pip install coverage python-snappy 
> zstandard
> pypy3.8: install_package_deps> python -I -m pip install 'typing-extensions; 
> python_version < "3.8"'
> pypy3.8: install_package> python -I -m pip install --force-reinstall 
> --no-deps 
> /home/ryan.skraba/avro/lang/py/.tox/.tmp/package/8/avro-1.12.0+snapshot.tar.gz
> pypy3.8: commands_pre[0]> mkdir -p avro/test/interop 
> /home/ryan.skraba/avro/lang/py/../../build/interop/data
> pypy3.8: commands_pre[1]> cp -r 
> /home/ryan.skraba/avro/lang/py/../../build/interop/data avro/test/interop
> pypy3.8: commands_pre[2]> coverage run -pm avro.test.gen_interop_data 
> avro/interop.avsc avro/test/interop/data/py.avro
> Traceback (most recent call last):
>   File "/home/ryan.skraba/avro/lang/py/avro/test/gen_interop_data.py", line 
> 103, in <module>
>     raise SystemExit(main())
>   File "/home/ryan.skraba/avro/lang/py/avro/test/gen_interop_data.py", line 
> 98, in main
>     generate(args.schema_path, op)
>   File "/home/ryan.skraba/avro/lang/py/avro/test/gen_interop_data.py", line 
> 71, in generate
>     for codec, data in output:
>   File "/home/ryan.skraba/avro/lang/py/avro/test/gen_interop_data.py", line 
> 67, in <genexpr>
>     output = ((codec, gen_data(codec, datum_writer, interop_schema)) for 
> codec in CODECS_TO_VALIDATE)
>   File "/home/ryan.skraba/avro/lang/py/avro/test/gen_interop_data.py", line 
> 60, in gen_data
>     dfw.flush()
>   File "/home/ryan.skraba/avro/lang/py/avro/datafile.py", line 277, in flush
>     self._write_block()
>   File "/home/ryan.skraba/avro/lang/py/avro/datafile.py", line 241, in 
> _write_block
>     compressed_data, compressed_data_length = 
> codec.compress(uncompressed_data)
>   File "/home/ryan.skraba/avro/lang/py/avro/codecs.py", line 151, in compress
>     compressed_data = snappy.compress(data)
>   File 
> "/home/ryan.skraba/avro/lang/py/.tox/pypy3.8/lib/pypy3.8/site-packages/snappy/snappy.py",
>  line 78, in compress
>     return bytes(_compress(data))
> TypeError: 'Buffer' object is not iterable
> pypy3.8: exit 1 (1.00 seconds) /home/ryan.skraba/avro/lang/py> coverage run 
> -pm avro.test.gen_interop_data avro/interop.avsc 
> avro/test/interop/data/py.avro pid=34269
> pypy3.8: commands_post[0]> coverage combine --append
> Combined data file .coverage.4fcb8e11055e.34269.XLQAYhgx
> pypy3.8: commands_post[1]> coverage report
> Name                                   Stmts   Miss  Cover
> ----------------------------------------------------------
> avro/__init__.py                           3      0   100%
> avro/__main__.py                         143    143     0%
> avro/codecs.py                           104      5    95%
> avro/compatibility.py                    208      8    96%
> avro/constants.py                         12      0   100%
> avro/datafile.py                         227     10    96%
> avro/errors.py                            43      4    91%
> avro/io.py                               650    112    83%
> avro/ipc.py                              309     58    81%
> avro/name.py                              74      5    93%
> avro/protocol.py                         157     18    89%
> avro/schema.py                           642     30    95%
> avro/test/__init__.py                      0      0   100%
> avro/test/gen_interop_data.py             46      2    96%
> avro/test/mock_tether_parent.py           48     30    38%
> avro/test/sample_http_client.py           30     30     0%
> avro/test/sample_http_server.py           34     34     0%
> avro/test/test_bench.py                   42      0   100%
> avro/test/test_compatibility.py          161      0   100%
> avro/test/test_datafile.py                85      0   100%
> avro/test/test_datafile_interop.py        28      3    89%
> avro/test/test_init.py                     5      0   100%
> avro/test/test_io.py                     212      0   100%
> avro/test/test_ipc.py                     11      0   100%
> avro/test/test_name.py                    95      0   100%
> avro/test/test_protocol.py                74      0   100%
> avro/test/test_schema.py                 284      4    99%
> avro/test/test_script.py                 139      2    99%
> avro/test/test_tether_task.py             45      1    98%
> avro/test/test_tether_task_runner.py      68      0   100%
> avro/test/test_tether_word_count.py       67      1    99%
> avro/test/word_count_task.py              21      0   100%
> avro/tether/__init__.py                    4      0   100%
> avro/tether/tether_task.py               159     38    76%
> avro/tether/tether_task_runner.py        118     37    69%
> avro/tether/util.py                        7      0   100%
> avro/timezones.py                         18      3    83%
> avro/tool.py                             108    108     0%
> avro/utils.py                             10      0   100%
> ----------------------------------------------------------
> TOTAL                                   4491    686    85%
> pypy3.8: FAIL ✖ in 2 minutes 19.67 seconds
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to