Bug 2220367 - F39FailsToInstall: python3-nudatus
Summary: F39FailsToInstall: python3-nudatus
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-nudatus
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.12 F39FailsToInstall 2220045 2220613
TreeView+ depends on / blocked
 
Reported: 2023-07-05 19:16 UTC by Fedora Fails To Install
Modified: 2023-07-25 17:54 UTC (History)
3 users (show)

Fixed In Version: python-nudatus-0.0.5-9.fc39
Clone Of:
Environment:
Last Closed: 2023-07-25 17:54:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github ZanderBrown nudatus pull 11 0 None open Fix pytest usage: .value can only be used after the context manager exits 2023-07-25 17:21:43 UTC

Description Fedora Fails To Install 2023-07-05 19:16:37 UTC
Hello,

Please note that this comment was generated automatically by https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py
If you feel that this output has mistakes, please open an issue at https://pagure.io/releng/

Your package (python-nudatus) Fails To Install in Fedora 39:

can't install python3-nudatus:
  - nothing provides python(abi) = 3.11 needed by python3-nudatus-0.0.5-7.fc38.noarch
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.


P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors. To reproduce, use the koji/local repo only, e.g. in mock:

    $ mock -r fedora-39-x86_64 --config-opts mirrored=False install python3-nudatus


P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages

Thanks!

Comment 1 Miro Hrončok 2023-07-11 09:18:27 UTC
=================================== FAILURES ===================================
_________________________ test_mangle_with_bad_syntax __________________________
    def test_mangle_with_bad_syntax():
        """
        Check that mangle throws an
        exception for a badly formatted script
        """
        script = ""
        with open("tests/bigscript_bad.py") as f:
            script = f.read()
        assert len(script) > 0
>       with pytest.raises(tokenize.TokenError):
E       Failed: DID NOT RAISE <class 'tokenize.TokenError'>
tests/test_nudatus.py:47: Failed
__________________________ test_main_with_bad_script ___________________________
capfd = <_pytest.capture.CaptureFixture object at 0x7f78c1bc3830>
    def test_main_with_bad_script(capfd):
        with pytest.raises(SystemExit) as ex:
            with mock.patch("sys.argv", ["nudatus", "tests/bigscript_bad.py"]):
                nudatus.main()
>           assert ex.value.code == 1
tests/test_nudatus.py:98: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <ExceptionInfo for raises contextmanager>
    @property
    def value(self) -> E:
        """The exception value."""
>       assert (
            self._excinfo is not None
        ), ".value can only be used after the context manager exits"
E       AssertionError: .value can only be used after the context manager exits
/usr/lib/python3.12/site-packages/_pytest/_code/code.py:541: AssertionError
----------------------------- Captured stdout call -----------------------------
from microbit import *
)
def show_num(num):
    if 1 + 1 == 2 and 2 + 2 == 4 or 3 + 3 == 6 \
       and 3 - 3 == 0 and 'this is nonsense' == 'this is nonsense':
        print('Hello')
        text = """
		This should survive
		"""
    i = Image()
    i.fill(0)
    if num & 0b00001000:
        i.set_pixel(0, 2, 9)
    if num & 0b00000100:
        i.set_pixel(1, 2, 9)
    if num & 0b00000010:
        i.set_pixel(2, 2, 9)
    if num & 0b00000001:
        i.set_pixel(3, 2, 9)
    display.show(i)
show_num(12)
=========================== short test summary info ============================
FAILED tests/test_nudatus.py::test_mangle_with_bad_syntax - Failed: DID NOT R...
FAILED tests/test_nudatus.py::test_main_with_bad_script - AssertionError: .va...
========================= 2 failed, 5 passed in 0.14s ==========================

Comment 2 Miro Hrončok 2023-07-25 17:21:44 UTC
https://github.com/ZanderBrown/nudatus/pull/11 is the easy part -- the tests still fail with:

============================= test session starts ==============================
platform linux -- Python 3.12.0b4, pytest-7.4.0, pluggy-1.2.0
cachedir: .tox/py312/.pytest_cache
rootdir: .../rpmbuild/fedora-scm/python-nudatus/nudatus
collected 7 items

tests/test_nudatus.py ..F...F                                            [100%]

=================================== FAILURES ===================================
_________________________ test_mangle_with_bad_syntax __________________________

    def test_mangle_with_bad_syntax():
        """
        Check that mangle throws an
        exception for a badly formatted script
        """
        script = ""
        with open("tests/bigscript_bad.py") as f:
            script = f.read()
        assert len(script) > 0
>       with pytest.raises(tokenize.TokenError):
E       Failed: DID NOT RAISE <class 'tokenize.TokenError'>

tests/test_nudatus.py:47: Failed
__________________________ test_main_with_bad_script ___________________________

capfd = <_pytest.capture.CaptureFixture object at 0x7fc3fcca27e0>

    def test_main_with_bad_script(capfd):
>       with pytest.raises(SystemExit) as ex:
E       Failed: DID NOT RAISE <class 'SystemExit'>

tests/test_nudatus.py:95: Failed
----------------------------- Captured stdout call -----------------------------
from microbit import *

















)
def show_num(num):
    if 1 + 1 == 2 and 2 + 2 == 4 or 3 + 3 == 6 \
       and 3 - 3 == 0 and 'this is nonsense' == 'this is nonsense':
        print('Hello')
        text = """
		This should survive
		"""
    i = Image()
    i.fill(0)
    if num & 0b00001000:
        i.set_pixel(0, 2, 9)
    if num & 0b00000100:
        i.set_pixel(1, 2, 9)
    if num & 0b00000010:
        i.set_pixel(2, 2, 9)
    if num & 0b00000001:
        i.set_pixel(3, 2, 9)
    display.show(i)

show_num(12)
=========================== short test summary info ============================
FAILED tests/test_nudatus.py::test_mangle_with_bad_syntax - Failed: DID NOT R...
FAILED tests/test_nudatus.py::test_main_with_bad_script - Failed: DID NOT RAI...
========================= 2 failed, 5 passed in 0.04s ==========================


Note You need to log in before you can comment on or make changes to this bug.