Bug 1676278 - python-ipykernel: FTBFS in Fedora rawhide/f30
Summary: python-ipykernel: FTBFS in Fedora rawhide/f30
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-ipykernel
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: F30FTBFS
TreeView+ depends on / blocked
 
Reported: 2019-02-11 22:29 UTC by Fedora Release Engineering
Modified: 2019-02-14 16:44 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-02-14 16:44:25 UTC


Attachments (Terms of Use)
build.log (1.00 KB, text/plain)
2019-02-11 22:29 UTC, Fedora Release Engineering
no flags Details
root.log (1.00 KB, text/plain)
2019-02-11 22:29 UTC, Fedora Release Engineering
no flags Details
state.log (657 bytes, text/plain)
2019-02-11 22:29 UTC, Fedora Release Engineering
no flags Details

Description Fedora Release Engineering 2019-02-11 22:29:13 UTC
python-ipykernel failed to build from source in Fedora rawhide/f30

https://koji.fedoraproject.org/koji/taskinfo?taskID=32530264


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Please fix python-ipykernel at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
python-ipykernel will be orphaned. Before branching of Fedora 31,
python-ipykernel will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://fedoraproject.org/wiki/Fails_to_build_from_source

Comment 1 Fedora Release Engineering 2019-02-11 22:29:15 UTC
Created attachment 1533769 [details]
build.log

file build.log too big, will only attach last 1024 bytes

Comment 2 Fedora Release Engineering 2019-02-11 22:29:17 UTC
Created attachment 1533770 [details]
root.log

file root.log too big, will only attach last 1024 bytes

Comment 3 Fedora Release Engineering 2019-02-11 22:29:18 UTC
Created attachment 1533771 [details]
state.log

Comment 4 Miro Hrončok 2019-02-12 01:00:03 UTC
A switch to pytest and update to 4.10.0 got me to this:

=================================== FAILURES ===================================
________________________________ test_sys_path _________________________________

    def test_sys_path():
        """test that sys.path doesn't get messed up by default"""
        with kernel() as kc:
            msg_id, content = execute(kc=kc, code="import sys; print (repr(sys.path[0]))")
            stdout, stderr = assemble_output(kc.iopub_channel)
>           assert stdout == "''\n"
E           assert "'/builddir/b...nel-4.10.0'\n" == "''\n"
E             - '/builddir/build/BUILD/ipykernel-4.10.0'
E             + ''

ipykernel/tests/test_kernel.py:56: AssertionError
__________________________ test_sys_path_profile_dir ___________________________

    def test_sys_path_profile_dir():
        """test that sys.path doesn't get messed up when `--profile-dir` is specified"""
    
        with new_kernel(['--profile-dir', locate_profile('default')]) as kc:
            msg_id, content = execute(kc=kc, code="import sys; print (repr(sys.path[0]))")
            stdout, stderr = assemble_output(kc.iopub_channel)
>           assert stdout == "''\n"
E           assert "'/builddir/b...nel-4.10.0'\n" == "''\n"
E             - '/builddir/build/BUILD/ipykernel-4.10.0'
E             + ''

ipykernel/tests/test_kernel.py:64: AssertionError
________________________________ test_complete _________________________________

    def test_complete():
        with kernel() as kc:
            execute(u'a = 1', kc=kc)
            wait_for_idle(kc)
            cell = 'import IPython\nb = a.'
            kc.complete(cell)
            reply = kc.get_shell_msg(block=True, timeout=TIMEOUT)
            c = reply['content']
            assert c['status'] == 'ok'
>           assert c['cursor_start'] == cell.find('a.')
E           AssertionError: assert 21 == 19
E            +  where 19 = <built-in method find of str object at 0x7f7a3ba748e8>('a.')
E            +    where <built-in method find of str object at 0x7f7a3ba748e8> = 'import IPython\nb = a.'.find

ipykernel/tests/test_kernel.py:252: AssertionError
=============================== warnings summary ===============================


I'd very much like to update to 5.x, but there's no Python 2 support and ipykrnel is need for ipython and that is blocked by:

https://src.fedoraproject.org/rpms/python-line_profiler/pull-request/1
https://src.fedoraproject.org/rpms/python-ipdb/pull-request/2

Nevertheless I'll see if 5.x gets the same failures.

Comment 5 Miro Hrončok 2019-02-12 01:03:38 UTC
=================================== FAILURES ===================================
________________________________ test_sys_path _________________________________

    def test_sys_path():
        """test that sys.path doesn't get messed up by default"""
        with kernel() as kc:
            msg_id, content = execute(kc=kc, code="import sys; print (repr(sys.path[0]))")
            stdout, stderr = assemble_output(kc.iopub_channel)
>           assert stdout == "''\n"
E           assert "'/builddir/b...rnel-5.1.0'\n" == "''\n"
E             - '/builddir/build/BUILD/ipykernel-5.1.0'
E             + ''

ipykernel/tests/test_kernel.py:57: AssertionError
__________________________ test_sys_path_profile_dir ___________________________

    def test_sys_path_profile_dir():
        """test that sys.path doesn't get messed up when `--profile-dir` is specified"""
    
        with new_kernel(['--profile-dir', locate_profile('default')]) as kc:
            msg_id, content = execute(kc=kc, code="import sys; print (repr(sys.path[0]))")
            stdout, stderr = assemble_output(kc.iopub_channel)
>           assert stdout == "''\n"
E           assert "'/builddir/b...rnel-5.1.0'\n" == "''\n"
E             - '/builddir/build/BUILD/ipykernel-5.1.0'
E             + ''

ipykernel/tests/test_kernel.py:65: AssertionError
________________________________ test_complete _________________________________

    def test_complete():
        with kernel() as kc:
            execute(u'a = 1', kc=kc)
            wait_for_idle(kc)
            cell = 'import IPython\nb = a.'
            kc.complete(cell)
            reply = kc.get_shell_msg(block=True, timeout=TIMEOUT)
            c = reply['content']
            assert c['status'] == 'ok'
>           assert c['cursor_start'] == cell.find('a.')
E           AssertionError: assert 21 == 19
E            +  where 19 = <built-in method find of str object at 0x7f270b13b198>('a.')
E            +    where <built-in method find of str object at 0x7f270b13b198> = 'import IPython\nb = a.'.find

ipykernel/tests/test_kernel.py:253: AssertionError
=============================== warnings summary ===============================

Yes it does, I'll report to upstream.

Comment 6 Miro Hrončok 2019-02-12 01:26:41 UTC
https://github.com/ipython/ipykernel/issues/387

Comment 7 Miro Hrončok 2019-02-14 15:50:35 UTC
"The tests are failing because they are checking for some underlying behavior in IPython, which changed. Everything is actually behaving as it's supposed to, we just need to update the tests to match expectations."


Let's skip 'em!

Comment 8 Miro Hrončok 2019-02-14 16:44:25 UTC
Updated to 5.1.0, deselected the failing tests.


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