** Changed in: horizon
       Status: Fix Committed => Fix Released

** Changed in: horizon
    Milestone: None => juno-1

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

Title:
  Tox failing on py27dj14 environment

Status in OpenStack Dashboard (Horizon):
  Fix Released

Bug description:
  Full test log: http://paste.openstack.org/show/62066/

  It seems like django.test.assertContain is unable to parse template
  html.

  Further inspection revealed that there is a difference in parsing
  between start tag and end tag and even more, difference between
  parsing tags with and without the attributes:

  HTMLParser.tagfind.match('<script>document.write("something")</script>',
  1).end() would result in 7, so the parsed tag will be 'script'

  but

  HTMLParser.tagfind.match('<script
  type="text/javascript">document.write("something")</script>', 1).end()
  will result in 8 and a parsed tag of 'script ' (with tailing
  whitespace)

  Somewhere between 2.7.3 and 2.7.4 Python had changed its
  HTMLParser.tagfind regex [1, 2]. Django relied heavily on this regex
  with its own _HtmlParser modification [3] and hadn't react fast enough
  to land the fix in 1.4 [4].

  So what we are having here is for particular configuration including
  both python 2.7.4+ and django 1.4, django.test.assertContain would not
  be able to properly parse perfectly valid html and would fail this
  tests.

  The question is what should we do in this case. Should we limit
  py27dj14 environment with basepython of 2.7.3, should we disable this
  tests on Django 1.4, replace the assertion function with one without
  the bug or just completely ignore that bug as irrelevant?

  ---

  [1] http://hg.python.org/cpython/file/70274d53c1dd/Lib/HTMLParser.py#l25
  [2] http://hg.python.org/cpython/file/026ee0057e2d/Lib/HTMLParser.py#l25
  [3] 
https://github.com/django/django/blob/98a1e14e093211f15e91daa4c9de0402be5d31b8/django/utils/html_parser.py#L36-L39
  [4] 
https://github.com/django/django/commit/6bc1b222994301782bd80780bdeec8c4eb44631a

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to