Ryan Skraba created AVRO-4208:
---------------------------------
Summary: [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
{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)