--- Begin Message ---
Subject: |
python-orator build fails |
Date: |
Mon, 02 Mar 2020 13:08:09 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Build log extract:
--8<---------------cut here---------------start------------->8---
======================================================================
ERROR: orator.commands.migrations (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: orator.commands.migrations
Traceback (most recent call last):
File
"/gnu/store/78w7y0lxar70j512iqw8x3nimzj10yga-python-3.7.4/lib/python3.7/unittest/loader.py",
line 470, in _find_test_path
package = self._get_module_from_name(name)
File
"/gnu/store/78w7y0lxar70j512iqw8x3nimzj10yga-python-3.7.4/lib/python3.7/unittest/loader.py",
line 377, in _get_module_from_name
__import__(name)
File
"/tmp/guix-build-python-orator-0.9.7.drv-0/orator-0.9.7/orator/commands/migrations/__init__.py",
line 3, in <module>
from .install_command import InstallCommand
File
"/tmp/guix-build-python-orator-0.9.7.drv-0/orator-0.9.7/orator/commands/migrations/install_command.py",
line 4, in <module>
from .base_command import BaseCommand
File
"/tmp/guix-build-python-orator-0.9.7.drv-0/orator-0.9.7/orator/commands/migrations/base_command.py",
line 5, in <module>
from ..command import Command
File
"/tmp/guix-build-python-orator-0.9.7.drv-0/orator-0.9.7/orator/commands/command.py",
line 4, in <module>
from cleo import Command as BaseCommand, InputOption, ListInput
ImportError: cannot import name 'InputOption' from 'cleo'
(/gnu/store/iwhbrhr49wf6gxhxlripjf4ij0y41r3x-python-cleo-0.7.6/lib/python3.7/site-packages/cleo/__init__.py)
======================================================================
ERROR: orator.commands.seeds (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: orator.commands.seeds
Traceback (most recent call last):
File
"/gnu/store/78w7y0lxar70j512iqw8x3nimzj10yga-python-3.7.4/lib/python3.7/unittest/loader.py",
line 470, in _find_test_path
package = self._get_module_from_name(name)
File
"/gnu/store/78w7y0lxar70j512iqw8x3nimzj10yga-python-3.7.4/lib/python3.7/unittest/loader.py",
line 377, in _get_module_from_name
__import__(name)
File
"/tmp/guix-build-python-orator-0.9.7.drv-0/orator-0.9.7/orator/commands/seeds/__init__.py",
line 3, in <module>
from .make_command import SeedersMakeCommand
File
"/tmp/guix-build-python-orator-0.9.7.drv-0/orator-0.9.7/orator/commands/seeds/make_command.py",
line 7, in <module>
from .base_command import BaseCommand
File
"/tmp/guix-build-python-orator-0.9.7.drv-0/orator-0.9.7/orator/commands/seeds/base_command.py",
line 4, in <module>
from ..command import Command
File
"/tmp/guix-build-python-orator-0.9.7.drv-0/orator-0.9.7/orator/commands/command.py",
line 4, in <module>
from cleo import Command as BaseCommand, InputOption, ListInput
ImportError: cannot import name 'InputOption' from 'cleo'
(/gnu/store/iwhbrhr49wf6gxhxlripjf4ij0y41r3x-python-cleo-0.7.6/lib/python3.7/site-packages/cleo/__init__.py)
----------------------------------------------------------------------
Ran 6 tests in 0.001s
FAILED (errors=6)
Test failed: <unittest.runner.TextTestResult run=6 errors=6 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=6 errors=6 failures=0>
command "python" "-c" "import setuptools,
tokenize;__file__='setup.py';f=getattr(tokenize, 'open',
open)(__file__);code=f.read().replace('\\r\\n',
'\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with
status 1
--8<---------------cut here---------------end--------------->8---
Tested on master c1febbbf94ee794d7a97dbde12102634f2b13529.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#39869: python-orator build fails |
Date: |
Fri, 20 Mar 2020 22:45:01 +0100 |
User-agent: |
Notmuch/0.29.3 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) |
This was a surprisingly deep rabbit hole that ended pretty
unsatisfactory with commit 51d42caa94515f43d677bdd76d53bf8bb8c7bc4e.
According to a comment in the package definition, the tests were never
supposed to run, so in the end they were just disabled.
I discovered a pattern that I hadn't seen yet in the Python ecosystem:
orator and many of its dependencies are no longer using setup.py.
Instead they have a file called pyproject.toml and calls out to a tool
called "poetry" to create distribution tarballs, run tests, etc; and it
apparently also creates a setup.py for the PyPI distribution.
I did not study poetry enough to figure out how it works, but we might
need a poetry-build-system or some such if the trend continues. Mainly
because all packages using it seem to be stripping tests from the PyPI
release! :-/
signature.asc
Description: PGP signature
--- End Message ---