• 
      

    Fix unit tests regressions involving SiteConfiguration and HTML output.

    Review Request #8300 — Created July 20, 2016 and submitted — Latest diff uploaded

    Information

    Djblets
    release-0.10.x
    e57fc89...

    Reviewers

    The Features change broke all unit tests that deal with
    SiteConfiguration. This happened because djblets.features, which
    is put into INSTALLED_APPS, would import djblets.features.checkers,
    which imported SiteConfiguration.

    It's not valid for a module in INSTALLED_APPS to directly or indirectly
    import a model. While this didn't actually break things in Django 1.6,
    it does in 1.7 and higher, due to more strict behavior for model
    loading. This import ended up preventing SiteConfiguration from being
    properly synchronized to the database.

    To fix this, the SiteConfiguration import has been moved into the
    function that needs it.

    There were also two other HTML-related failures.

    1) There was a check in the conditions tests that broke due to the
    addition of newlines in generated HTML for one of the widgets we use.
    We now use assertHTMLEqual() to perform a more suitable check.

    2) We allowed use of an older Pygments releases, but tested against
    newer HTML. We're now requiring a more modern version in
    dev-requirements.txt.

    Unit tests pass against Django 1.6 and 1.8.