← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1807976] Re: In python 3.7 the definition of a printable character is changed so test_flavors fails

 

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 <cdent@xxxxxxxxxxxxx>
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

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1807976

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

Status in OpenStack Compute (nova):
  Fix Released

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1807976/+subscriptions


References