python-cliff 1.14.0 ftbfs with Python 3.5 in Wily

Bug #1491888 reported by Barry Warsaw on 2015-09-03
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cliff
Undecided
Unassigned
python-cliff (Ubuntu)
High
Unassigned

Bug Description

Full buildlog from the Python 3.5-as-default PPA:

https://launchpadlibrarian.net/211356336/buildlog_ubuntu-wily-amd64.python-cliff_1.13.0-0ubuntu1_BUILDING.txt.gz

Should at least investigate whether new upstream 1.14.0 fixes the problem, or report the bug upstream.

Barry Warsaw (barry) on 2015-09-09
tags: added: python2.5
tags: added: python3.5
removed: python2.5
Barry Warsaw (barry) wrote :

This upstream Python 3.5 change breaks cliff's test suite:

https://bugs.python.org/issue15582

The patch is simple enough, so I'll just attach it here. I plan on uploading a fix to Ubuntu. We can resync to any new Debian release when that's available.

summary: - python-cliff 1.13.0-0ubuntu1 ftbfs with Python 3.5 in Wily
+ python-cliff 1.14.0 ftbfs with Python 3.5 in Wily
Barry Warsaw (barry) wrote :
Barry Warsaw (barry) wrote :

Actually python-cliff is DPMT so I'll upload a fix to experimental and sync it over to Wily.

Barry Warsaw (barry) wrote :

Dang, my experimental box is broken, so it'll be an Ubuntu upload for now.

tags: added: patch
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-cliff - 1.14.0-1ubuntu1

---------------
python-cliff (1.14.0-1ubuntu1) wily; urgency=medium

  * d/patches/python35-compat.patch: Fix Python 3.5 compatibility.
    (LP: #1491888)

 -- Barry Warsaw <email address hidden> Fri, 11 Sep 2015 18:38:58 -0400

Changed in python-cliff (Ubuntu):
status: New → Fix Released
Doug Hellmann (doug-hellmann) wrote :

I'm not sure how adding a docstring to the test class fixes attribute errors for mswindows on subprocess. Was that URL to the log file right?

On Sep 12, 2015, at 03:54 PM, Doug Hellmann wrote:

>I'm not sure how adding a docstring to the test class fixes attribute
>errors for mswindows on subprocess. Was that URL to the log file right?

Ah sorry for the misunderstanding. The fix for the mswindows attribute ended
up being in cmd2 (subprocess.mswindows is a private attribute that got renamed
in Python 3.5). I've reported that to the cmd2 project and fixed it in the
Ubuntu version of the package.

The issue for cliff is that inspect.getdoc() lookup now follows class
hierarchy so a test fails when the one-liner description of some options come
from the first line of a base class docstring.

Doug Hellmann (doug-hellmann) wrote :

Ah, ok, that makes *much* more sense. I'll probably address that with more logic in cliff besides your proposed patch so thanks for explaining.

Related fix proposed to branch: master
Review: https://review.openstack.org/226966

Reviewed: https://review.openstack.org/226966
Committed: https://git.openstack.org/cgit/openstack/cliff/commit/?id=25cce67529d70e3aab8653946fdf1eda12ded9b9
Submitter: Jenkins
Branch: master

commit 25cce67529d70e3aab8653946fdf1eda12ded9b9
Author: Doug Hellmann <email address hidden>
Date: Wed Sep 23 19:47:07 2015 +0000

    only use unicodecsv for python 2.x

    Only use unicodecsv for python 2, since the python 3 module works fine
    with unicode data.

    Change-Id: I8b82248e855a6986b7541ca997d8fd56628b17a5
    Related-bug: #1491888

Reviewed: https://review.openstack.org/226965
Committed: https://git.openstack.org/cgit/openstack/cliff/commit/?id=e3a24897a7ab4205319eceadf4f8f5d1bc40af86
Submitter: Jenkins
Branch: master

commit e3a24897a7ab4205319eceadf4f8f5d1bc40af86
Author: Doug Hellmann <email address hidden>
Date: Wed Sep 23 19:46:08 2015 +0000

    Fix test class docstring for py 3.5

    Add a docstring to TestCommand so we get that one instead of inheriting
    the one from the base class. In previous versions the docstring was not
    inherited, but that has changed.

    Change-Id: I90c808836f4f7651df89734ace32dcf62a351525
    Related-bug: #1491888

Reviewed: https://review.openstack.org/244665
Committed: https://git.openstack.org/cgit/openstack/cliff/commit/?id=a7bc38823661dd27702f0dd0c92409d1e9ce984a
Submitter: Jenkins
Branch: stable/liberty

commit a7bc38823661dd27702f0dd0c92409d1e9ce984a
Author: Doug Hellmann <email address hidden>
Date: Wed Sep 23 19:47:07 2015 +0000

    only use unicodecsv for python 2.x

    Only use unicodecsv for python 2, since the python 3 module works fine
    with unicode data.

    Change-Id: I8b82248e855a6986b7541ca997d8fd56628b17a5
    Related-bug: #1491888
    (cherry picked from commit 25cce67529d70e3aab8653946fdf1eda12ded9b9)

tags: added: in-stable-liberty
Steve Martinelli (stevemar) wrote :

cmd2 released (on 10/2016) a new version (0.6.9) that includes support for py35. Marking this as fix-released since we did some work in cliff for this bug.

Changed in python-cliff:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.