whipper-team / whipper

Python CD-DA ripper preferring accuracy over speed
GNU General Public License v3.0
1.15k stars 90 forks source link

tests fail due to missing accuraterip #429

Closed shibumi closed 4 years ago

shibumi commented 4 years ago

I've no idea what is going on, but the tests are failing due to missing accuraterip module. Although I can see that accuraterip is going to be build.

Whipper Version: 0.9.0 Download medium: Release Tarball PKG-INFO file:

Version: 0.9.0

Build log:

running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/whipper
copying whipper/__init__.py -> build/lib.linux-x86_64-3.8/whipper
copying whipper/__main__.py -> build/lib.linux-x86_64-3.8/whipper
creating build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/__init__.py -> build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/accurip.py -> build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/basecommand.py -> build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/cd.py -> build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/drive.py -> build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/image.py -> build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/main.py -> build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/mblookup.py -> build/lib.linux-x86_64-3.8/whipper/command
copying whipper/command/offset.py -> build/lib.linux-x86_64-3.8/whipper/command
creating build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/__init__.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/accurip.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/cache.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/checksum.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/common.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/config.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/directory.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/drive.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/encode.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/mbngs.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/path.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/program.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/renamer.py -> build/lib.linux-x86_64-3.8/whipper/common
copying whipper/common/task.py -> build/lib.linux-x86_64-3.8/whipper/common
creating build/lib.linux-x86_64-3.8/whipper/extern
copying whipper/extern/__init__.py -> build/lib.linux-x86_64-3.8/whipper/extern
copying whipper/extern/asyncsub.py -> build/lib.linux-x86_64-3.8/whipper/extern
copying whipper/extern/freedb.py -> build/lib.linux-x86_64-3.8/whipper/extern
creating build/lib.linux-x86_64-3.8/whipper/image
copying whipper/image/__init__.py -> build/lib.linux-x86_64-3.8/whipper/image
copying whipper/image/cue.py -> build/lib.linux-x86_64-3.8/whipper/image
copying whipper/image/image.py -> build/lib.linux-x86_64-3.8/whipper/image
copying whipper/image/table.py -> build/lib.linux-x86_64-3.8/whipper/image
copying whipper/image/toc.py -> build/lib.linux-x86_64-3.8/whipper/image
creating build/lib.linux-x86_64-3.8/whipper/program
copying whipper/program/__init__.py -> build/lib.linux-x86_64-3.8/whipper/program
copying whipper/program/arc.py -> build/lib.linux-x86_64-3.8/whipper/program
copying whipper/program/cdparanoia.py -> build/lib.linux-x86_64-3.8/whipper/program
copying whipper/program/cdrdao.py -> build/lib.linux-x86_64-3.8/whipper/program
copying whipper/program/flac.py -> build/lib.linux-x86_64-3.8/whipper/program
copying whipper/program/sox.py -> build/lib.linux-x86_64-3.8/whipper/program
copying whipper/program/soxi.py -> build/lib.linux-x86_64-3.8/whipper/program
copying whipper/program/utils.py -> build/lib.linux-x86_64-3.8/whipper/program
creating build/lib.linux-x86_64-3.8/whipper/result
copying whipper/result/__init__.py -> build/lib.linux-x86_64-3.8/whipper/result
copying whipper/result/logger.py -> build/lib.linux-x86_64-3.8/whipper/result
copying whipper/result/result.py -> build/lib.linux-x86_64-3.8/whipper/result
creating build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/__init__.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/common.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_command_mblookup.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_accurip.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_cache.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_common.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_config.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_directory.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_drive.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_mbngs.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_path.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_program.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_common_renamer.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_image_cue.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_image_table.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_image_toc.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_program_cdparanoia.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_program_cdrdao.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_program_sox.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_program_soxi.py -> build/lib.linux-x86_64-3.8/whipper/test
copying whipper/test/test_result_logger.py -> build/lib.linux-x86_64-3.8/whipper/test
creating build/lib.linux-x86_64-3.8/whipper/extern/task
copying whipper/extern/task/__init__.py -> build/lib.linux-x86_64-3.8/whipper/extern/task
copying whipper/extern/task/task.py -> build/lib.linux-x86_64-3.8/whipper/extern/task
running build_ext
building 'accuraterip' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/src
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c src/accuraterip-checksum.c -o build/temp.linux-x86_64-3.8/src/accuraterip-checksum.o
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/src/accuraterip-checksum.o -L/usr/lib -lsndfile -o build/lib.linux-x86_64-3.8/accuraterip.cpython-38-x86_64-linux-gnu.so
running build_scripts
creating build/scripts-3.8
copying and adjusting scripts/accuraterip-checksum -> build/scripts-3.8
changing mode of build/scripts-3.8/accuraterip-checksum from 644 to 755
==> Starting check()...
.E./usr/lib/python3.8/site-packages/twisted/internet/address.py:101: DeprecationWarning: The usage of `cmp` is deprecated and will be removed on or after 2021-06-01.  Please use `eq` and `order` instead.
  @attr.s(hash=False, repr=False, cmp=False)
.................WARNING:whipper.common.mbngs:release with ID 'c56ff16e-1d81-47de-926f-ba22891bd2bd' (The KLF - Space & Chill Out) does not have a date
........E.........INFO:whipper.image.cue:parsing .cue file '/build/whipper/src/whipper-0.9.0/whipper/test/kanye.cue'
.INFO:whipper.image.cue:parsing .cue file '/build/whipper/src/whipper-0.9.0/whipper/test/kings-separate.cue'
.INFO:whipper.image.cue:parsing .cue file '/build/whipper/src/whipper-0.9.0/whipper/test/kings-single.cue'
............................................./usr/lib/python3.8/site-packages/twisted/internet/utils.py:237: ResourceWarning: unclosed file <_io.FileIO name=14 mode='wb' closefd=True>
  def warningSuppressingWrapper(*a, **kw):
/usr/lib/python3.8/site-packages/twisted/internet/utils.py:237: ResourceWarning: unclosed file <_io.FileIO name=15 mode='wb' closefd=True>
  def warningSuppressingWrapper(*a, **kw):
../usr/lib/python3.8/sre_parse.py:114: ResourceWarning: unclosed file <_io.FileIO name=14 mode='wb' closefd=True>
  data = []
ResourceWarning: Enable tracemalloc to get the object allocation traceback
/usr/lib/python3.8/sre_parse.py:114: ResourceWarning: unclosed file <_io.FileIO name=15 mode='wb' closefd=True>
  data = []
ResourceWarning: Enable tracemalloc to get the object allocation traceback
.
======================================================================
ERROR: whipper.test.test_common_accurip (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: whipper.test.test_common_accurip
Traceback (most recent call last):
  File "/usr/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
    __import__(name)
  File "/build/whipper/src/whipper-0.9.0/whipper/test/test_common_accurip.py", line 12, in <module>
    from whipper.common import accurip
  File "/build/whipper/src/whipper-0.9.0/whipper/common/accurip.py", line 28, in <module>
    from whipper.program.arc import accuraterip_checksum
  File "/build/whipper/src/whipper-0.9.0/whipper/program/arc.py", line 1, in <module>
    import accuraterip
ModuleNotFoundError: No module named 'accuraterip'

======================================================================
ERROR: whipper.test.test_common_program (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: whipper.test.test_common_program
Traceback (most recent call last):
  File "/usr/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
    __import__(name)
  File "/build/whipper/src/whipper-0.9.0/whipper/test/test_common_program.py", line 7, in <module>
    from whipper.common import program, mbngs, config
  File "/build/whipper/src/whipper-0.9.0/whipper/common/program.py", line 30, in <module>
    from whipper.common import accurip, cache, checksum, common, mbngs, path
  File "/build/whipper/src/whipper-0.9.0/whipper/common/accurip.py", line 28, in <module>
    from whipper.program.arc import accuraterip_checksum
  File "/build/whipper/src/whipper-0.9.0/whipper/program/arc.py", line 1, in <module>
    import accuraterip
ModuleNotFoundError: No module named 'accuraterip'

----------------------------------------------------------------------
Ran 88 tests in 5.261s

FAILED (errors=2)
1 releases
- Release 1:
    Artist: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle'
    Title:  b'What\xe2\x80\x99s Up? 8 (Disc 4 of 4)'
    Type:   b'None'
    URL:    https://musicbrainz.org/release/d8e6153a-2c47-4804-9d73-0aac1081c3b1
    Tracks: 14
    Cat no: 6795-7
    Barcode: 9789162267957
      Track  1: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Best friends (sid. 96)'
      Track  2: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Best friends (sid. 97)'
      Track  3: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Working life (sid. 98\xe2\x80\x9399)'
      Track  4: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Pioneers in sport (sid. 100)'
      Track  5: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Pioneers in sport (sid. 101)'
      Track  6: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Weird, but true! (sid. 102)'
      Track  7: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Weird, but true! (sid. 103)'
      Track  8: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Useful inventions (sid. 104)'
      Track  9: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Useful inventions (sid. 105)'
      Track 10: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Friends or not friends'
      Track 11: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'People at work'
      Track 12: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Sports'
      Track 13: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Stories to tell'
      Track 14: b'J\xc3\xb6rgen Gustafsson, Eva \xc3\x96sterberg & Andy Cowle' - b'Inventions'
shibumi commented 4 years ago

Fixed via setting python path:

local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
PYTHONPATH="build/lib.linux-${CARCH}-${python_version}/" python -m unittest discover
gjabell commented 4 years ago

I'm packaging whipper for Alpine Linux and ran into this same issue; the above fix worked for most architectures but not for x86 and armv7. Does anyone know if whipper runs on those architectures?

MerlijnWajer commented 4 years ago

Well, can you see where the module does get installed and share that?

MerlijnWajer commented 4 years ago

And yes, it should work on those architectures.

JoeLametta commented 4 years ago

I'm packaging whipper for Alpine Linux

Thanks for the packaging effort! Just wanted to let you know that the py3-requests dependency won't be needed anymore in the next whipper version. Another thing: don't know if there's a way to declare optional dependencies in Alpine but, if it's doable, you could add pillow (link).