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

Ryan Skraba commented on AVRO-4208:
-----------------------------------

This was fixed in 1.12.0 by AVRO-3832, which should be applied to branch-1.11.

Cherry-picked to 
[branch-1.11|https://github.com/apache/avro/commit/7e91f9bd76a2c2c078b6ef8e29700acde7c0f923].

> [build][py] test_datafile_interop.sh fails on branch-1.11
> ---------------------------------------------------------
>
>                 Key: AVRO-4208
>                 URL: https://issues.apache.org/jira/browse/AVRO-4208
>             Project: Apache Avro
>          Issue Type: Improvement
>    Affects Versions: 1.11.5
>            Reporter: Ryan Skraba
>            Priority: Major
>
> {{cd lang/py && TOX_SKIP_ENV=lint python3 -m tox 
> --skip-missing-interpreters}} 
> fails only on pypy3.10 with:
> {code}
> pypy3.10: install_package> python -I -m pip install --force-reinstall 
> --no-deps 
> /home/ryanskraba/avro/lang/py/.tox/.tmp/package/29/avro-1.11.5.tar.gz
> pypy3.10: commands_pre[0]> mkdir -p avro/test/interop 
> /home/ryanskraba/avro/lang/py/../../build/interop/data
> pypy3.10: commands_pre[1]> cp -r 
> /home/ryanskraba/avro/lang/py/../../build/interop/data avro/test/interop
> pypy3.10: commands_pre[2]> coverage run -pm avro.test.gen_interop_data 
> avro/interop.avsc avro/test/interop/data/py.avro
> pypy3.10: commands_pre[3]> cp -r avro/test/interop/data 
> /home/ryanskraba/avro/lang/py/../../build/interop
> pypy3.10: commands[0]> coverage run -pm unittest discover --buffer --failfast
> /home/ryanskraba/avro/lang/py/avro/schema.py:1173: IgnoredLogicalType: 
> Unknown unknown-logical-type, using string.
>   warnings.warn(avro.errors.IgnoredLogicalType(f"Unknown {logical_type}, 
> using {type_}."))
> /home/ryanskraba/avro/lang/py/avro/schema.py:1169: IgnoredLogicalType: 
> Logical type timestamp-millis requires literal type long, not string.
>   warnings.warn(
> /home/ryanskraba/avro/lang/py/avro/schema.py:1173: IgnoredLogicalType: 
> Unknown unknown-logical-type, using string.
>   warnings.warn(avro.errors.IgnoredLogicalType(f"Unknown {logical_type}, 
> using {type_}."))
> /home/ryanskraba/avro/lang/py/avro/schema.py:1169: IgnoredLogicalType: 
> Logical type timestamp-millis requires literal type long, not string.
>   warnings.warn(
> /home/ryanskraba/avro/lang/py/avro/test/test_tether_word_count.py:89: 
> DeprecationWarning: Use shutil.which instead of find_executable
>   return bool(distutils.spawn.find_executable("java"))
> .............
> Stdout:
> SKIPPING 
> /home/ryanskraba/avro/lang/py/avro/test/interop/data/py_zstandard.avro due to 
> an unsupported codec
> .F
> ======================================================================
> FAIL: test_interop (avro.test.test_datafile_interop.TestDataFileInterop)
> Test Interop
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/home/ryanskraba/avro/lang/py/avro/test/test_datafile_interop.py", 
> line 38, in test_interop
>     self.assertGreater(os.stat(filename).st_size, 0)
> AssertionError: 0 not greater than 0
> Stdout:
> SKIPPING 
> /home/ryanskraba/avro/lang/py/avro/test/interop/data/py_zstandard.avro due to 
> an unsupported codec
> ----------------------------------------------------------------------
> Ran 15 tests in 4.395s
> FAILED (failures=1)
> pypy3.10: exit 1 (5.92 seconds) /home/ryanskraba/avro/lang/py> coverage run 
> -pm unittest discover --buffer --failfast pid=3036
> pypy3.10: commands_post[0]> coverage combine --append
> Combined data file .coverage.c26e92c58009.3025.XGofJIwx
> Combined data file .coverage.c26e92c58009.3036.XPozAphx
> pypy3.10: commands_post[1]> coverage report
> Name                                   Stmts   Miss  Cover
> ----------------------------------------------------------
> avro/__init__.py                           3      0   100%
> avro/__main__.py                         142    142     0%
> avro/codecs.py                           104      6    94%
> avro/compatibility.py                    208      8    96%
> avro/constants.py                         11      0   100%
> avro/datafile.py                         226     10    96%
> avro/errors.py                            43      4    91%
> avro/io.py                               651    113    83%
> avro/ipc.py                              287     58    80%
> avro/name.py                              71      4    94%
> avro/protocol.py                         156     18    88%
> avro/schema.py                           602     26    96%
> avro/test/__init__.py                      0      0   100%
> avro/test/gen_interop_data.py             44      2    95%
> 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      1    96%
> avro/test/test_init.py                     5      0   100%
> avro/test/test_io.py                     212      0   100%
> avro/test/test_ipc.py                     10      0   100%
> avro/test/test_name.py                    94      0   100%
> avro/test/test_protocol.py                73      0   100%
> avro/test/test_schema.py                 271      0   100%
> avro/test/test_script.py                 139      2    99%
> avro/test/test_tether_task.py             46      1    98%
> avro/test/test_tether_task_runner.py      70      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                    3      0   100%
> avro/tether/tether_task.py               159     38    76%
> avro/tether/tether_task_runner.py        118     36    69%
> avro/tether/util.py                        7      0   100%
> avro/timezones.py                         18      3    83%
> avro/tool.py                             107    107     0%
> avro/utils.py                              8      1    88%
> ----------------------------------------------------------
> TOTAL                                   4404    675    85%
>   build: OK (2.28 seconds)
>   docs: OK (3.36=setup[1.66]+cmd[1.70] seconds)
>   typechecks: OK (2.22=setup[1.65]+cmd[0.00,0.00,0.09,0.00,0.09,0.06,0.32] 
> seconds)
>   py36: SKIP (0.39 seconds)
>   py37: SKIP (0.00 seconds)
>   py38: OK (12.81=setup[1.63]+cmd[0.00,0.00,0.08,0.00,10.71,0.06,0.32] 
> seconds)
>   py39: OK (12.46=setup[1.41]+cmd[0.00,0.00,0.09,0.00,10.57,0.06,0.32] 
> seconds)
>   py310: OK (34.93=setup[5.69]+cmd[0.00,0.00,0.69,0.01,26.76,0.52,1.25] 
> seconds)
>   py311: SKIP (0.01 seconds)
>   pypy3.10: FAIL code 1 
> (14.29=setup[5.93]+cmd[0.00,0.00,0.75,0.00,5.92,0.50,1.18] seconds)
>   evaluation failed :( (82.81 seconds)
> {code}
> There does seem to be a problem with one of the generated interop files:
> {code}
> ryanskraba@c26e92c58009:~/avro/lang/py$ ls -lah ./avro/test/interop/data
> total 216K
> drwxr-xr-x. 2 ryanskraba ryanskraba  260 Nov 17 18:39 .
> drwxr-xr-x. 3 ryanskraba ryanskraba   60 Nov 17 18:39 ..
> -rw-r--r--. 1 ryanskraba ryanskraba  36K Nov 17 19:23 java.avro
> -rw-r--r--. 1 ryanskraba ryanskraba  29K Nov 17 19:23 java_bzip2.avro
> -rw-r--r--. 1 ryanskraba ryanskraba  31K Nov 17 19:23 java_deflate.avro
> -rw-r--r--. 1 ryanskraba ryanskraba  36K Nov 17 19:23 java_snappy.avro
> -rw-r--r--. 1 ryanskraba ryanskraba  29K Nov 17 19:23 java_xz.avro
> -rw-r--r--. 1 ryanskraba ryanskraba  30K Nov 17 19:23 java_zstandard.avro
> -rw-r--r--. 1 ryanskraba ryanskraba    0 Nov 17 19:23 py.avro
> -rw-r--r--. 1 ryanskraba ryanskraba 1.5K Nov 17 19:23 py_bzip2.avro
> -rw-r--r--. 1 ryanskraba ryanskraba 1.4K Nov 17 19:23 py_deflate.avro
> -rw-r--r--. 1 ryanskraba ryanskraba 1.4K Nov 17 19:23 py_snappy.avro
> -rw-r--r--. 1 ryanskraba ryanskraba 1.4K Nov 17 19:23 py_zstandard.avro
> {code}



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

Reply via email to