In python 3.7 the definition of a printable character is changed so test_flavors fails

Bug #1807976 reported by Chris Dent
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Matt Riedemann

Bug Description

'test_name_with_non_printable_characters' in the 'test_flavors' unit tests checks to see that a non-printable character cannot be allowed in a flavor name. This fails in python 3.7.

The reason it fails is because in Python 3.7 the 'unicodedata' package was updated [1] to Unicode 11 and what's printable has changed.

The fix to the problem is to use a _really_ unprintable unicode char, according unicode 11.

[1] https://docs.python.org/3/whatsnew/3.7.html#unicodedata

Tags: testing
Changed in nova:
assignee: nobody → Chris Dent (cdent)
status: New → In Progress
Changed in nova:
assignee: Chris Dent (cdent) → Balazs Gibizer (balazs-gibizer)
Changed in nova:
assignee: Balazs Gibizer (balazs-gibizer) → Matt Riedemann (mriedem)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/624055
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=2ea552e019bd427b5b1709160a6ed7da9dd23fbd
Submitter: Zuul
Branch: master

commit 2ea552e019bd427b5b1709160a6ed7da9dd23fbd
Author: Chris Dent <email address hidden>
Date: Mon Dec 10 11:22:54 2018 +0000

    Add python 3.7 unit and functional tox jobs

    Without these, if you try to run tox -epy37,functional-py37 you'll
    get a successful tox run, but no actual tests are run, which is
    rather misleading. Given the generaly availability of python 3.7
    this is a bad thing.

    Running the tests under python 3.7 identified a few minor tests
    failures, also fixed here. Each is a result of a change in behavior in
    python 3.7:

    * printable unicode changes with a new Unicode 11-based unicodedata
      package
    * intentionally raising StopIteration in a generator is now considered a
      RuntimeError, 'return' should be used instead
    * an exception message is different beween python 3 and python 2, and the
      guard for it was mapping python 3.5 and 3.6 but not 3.7.

    zuul configuration is adjusted to add an experimental job for python 3.7
    unit. A functional test job is not added, because we don't have 3.6 yet,
    and we probably want to get through that first.

    Closes-Bug: #1807976
    Closes-Bug: #1807970
    Change-Id: I37779a12d3b36eb3dc7e2733d07fe0ed23ab3da6

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 19.0.0.0rc1

This issue was fixed in the openstack/nova 19.0.0.0rc1 release candidate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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