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)

Reply via email to