Hello community,

here is the log from the commit of package python-pytest-django for 
openSUSE:Factory checked in at 2019-06-17 21:34:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-django (Old)
 and      /work/SRC/openSUSE:Factory/.python-pytest-django.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pytest-django"

Mon Jun 17 21:34:46 2019 rev:5 rq:710346 version:3.5.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-pytest-django/python-pytest-django.changes    
    2019-03-01 16:47:03.693807359 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-pytest-django.new.4811/python-pytest-django.changes
      2019-06-17 21:35:17.514997845 +0200
@@ -1,0 +2,12 @@
+Mon Jun 17 12:07:05 UTC 2019 - Tomáš Chvátal <tchva...@suse.com>
+
+- Update to 3.5.0:
+  * Run tests in the same order as Django (#223)
+  * Use verbosity=0 with disabled migrations (#729, #730)
+  * django_db_setup: warn instead of crash with teardown errors (#726)
+  * tests: fix test_sqlite_database_renamed (#739, #741)
+  * tests/conftest.py: move import of db_helpers (#737)
+  * Cleanup/improve coverage, mainly with tests (#706)
+  * Slightly revisit unittest handling (#740)
+
+-------------------------------------------------------------------

Old:
----
  pytest-django-3.4.8.tar.gz

New:
----
  pytest-django-3.5.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pytest-django.spec ++++++
--- /var/tmp/diff_new_pack.aDCMBT/_old  2019-06-17 21:35:17.894997759 +0200
+++ /var/tmp/diff_new_pack.aDCMBT/_new  2019-06-17 21:35:17.898997758 +0200
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pytest-django
-Version:        3.4.8
+Version:        3.5.0
 Release:        0
 Summary:        A Django plugin for py.test
 License:        BSD-3-Clause
@@ -71,7 +71,7 @@
 %check
 # memory operations failed in OBS not localy, thus skip them
 export DJANGO_SETTINGS_MODULE=pytest_django_test.settings_sqlite
-%python_expand PYTHONPATH=$(pwd) py.test-%{$python_bin_suffix} tests/ -k 'not 
test_sqlite_in_memory_used'
+%python_expand PYTHONPATH=$(pwd) py.test-%{$python_bin_suffix} -v tests/ -k 
'not (test_sqlite_in_memory_used or test_django_assert_num_queries_db or 
test_django_assert_max_num_queries_db)'
 
 %files %{python_files}
 %license LICENSE

++++++ pytest-django-3.4.8.tar.gz -> pytest-django-3.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/.travis.yml 
new/pytest-django-3.5.0/.travis.yml
--- old/pytest-django-3.4.8/.travis.yml 2019-02-26 16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/.travis.yml 2019-06-03 16:24:31.000000000 +0200
@@ -10,11 +10,11 @@
       services:
         - postgresql
     - python: 3.6
-      env: TOXENV=py36-dj111-sqlite-coverage
-    - python: 2.7
-      env: TOXENV=py27-dj111-mysql_innodb-coverage
+      env: TOXENV=py36-dj111-mysql_innodb-coverage
       services:
         - mysql
+    - python: 2.7
+      env: TOXENV=py27-dj111-sqlite-xdist-coverage
     - python: 3.6
       env: TOXENV=checkqa,docs
 
@@ -22,7 +22,7 @@
       python: 3.7
       env: TOXENV=py37-dj21-sqlite-coverage
     - python: 3.7
-      env: TOXENV=py37-dj22-sqlite-coverage
+      env: TOXENV=py37-dj22-sqlite-xdist-coverage
 
     # Explicitly test (older) pytest 4.1.
     - python: 3.7
@@ -49,9 +49,9 @@
         - postgresql
 
     # pypy/pypy3: not included with coverage reports (much slower then).
-    - python: pypy2.7-6.0
+    - python: pypy
       env: TOXENV=pypy-dj111-sqlite_file
-    - python: pypy3.5-6.0
+    - python: pypy3
       env: TOXENV=pypy3-dj110-sqlite
 
     - stage: test_release
@@ -98,8 +98,6 @@
   - |
     set -ex
     if [[ "${TOXENV%-coverage}" != "$TOXENV" ]]; then
-      codecov_flags=${TOXENV%-coverage}
-      codecov_flags=${codecov_flags//-/,}
-      bash <(curl -s https://codecov.io/bash) -Z -X gcov -X xcode -X gcovout 
-F "$codecov_flags"
+      bash <(curl -s https://codecov.io/bash) -Z -X gcov -X xcode -X gcovout
     fi
-    set +x
+    set +ex
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/PKG-INFO 
new/pytest-django-3.5.0/PKG-INFO
--- old/pytest-django-3.4.8/PKG-INFO    2019-02-26 16:03:07.000000000 +0100
+++ new/pytest-django-3.5.0/PKG-INFO    2019-06-03 16:24:46.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pytest-django
-Version: 3.4.8
+Version: 3.5.0
 Summary: A Django plugin for pytest.
 Home-page: https://pytest-django.readthedocs.io/
 Author: Andreas Pelme
@@ -95,5 +95,5 @@
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Testing
 Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
-Provides-Extra: docs
 Provides-Extra: testing
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/docs/conf.py 
new/pytest-django-3.5.0/docs/conf.py
--- old/pytest-django-3.4.8/docs/conf.py        2019-02-26 16:02:52.000000000 
+0100
+++ new/pytest-django-3.5.0/docs/conf.py        2019-06-03 16:24:31.000000000 
+0200
@@ -50,7 +50,7 @@
 
 def setup(app):
     # Allow linking to pytest's confvals.
-    app.add_description_unit(
+    app.add_object_type(
         "confval",
         "pytest-confval",
         objname="configuration value",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/docs/database.rst 
new/pytest-django-3.5.0/docs/database.rst
--- old/pytest-django-3.4.8/docs/database.rst   2019-02-26 16:02:52.000000000 
+0100
+++ new/pytest-django-3.5.0/docs/database.rst   2019-06-03 16:24:31.000000000 
+0200
@@ -143,7 +143,7 @@
 however influence all parts of the database setup process to make it fit in
 projects with special requirements.
 
-This section assumes some familiary with the Django test runner, Django
+This section assumes some familiarity with the Django test runner, Django
 database creation and pytest fixtures.
 
 Fixtures
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/pytest_django/fixtures.py 
new/pytest-django-3.5.0/pytest_django/fixtures.py
--- old/pytest-django-3.4.8/pytest_django/fixtures.py   2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/pytest_django/fixtures.py   2019-06-03 
16:24:31.000000000 +0200
@@ -110,7 +110,14 @@
 
     def teardown_database():
         with django_db_blocker.unblock():
-            teardown_databases(db_cfg, verbosity=request.config.option.verbose)
+            try:
+                teardown_databases(db_cfg, 
verbosity=request.config.option.verbose)
+            except Exception as exc:
+                request.node.warn(
+                    pytest.PytestWarning(
+                        "Error when trying to teardown test databases: %r" % 
exc
+                    )
+                )
 
     if not django_db_keepdb:
         request.addfinalizer(teardown_database)
@@ -148,10 +155,19 @@
 
 def _disable_native_migrations():
     from django.conf import settings
+    from django.core.management.commands import migrate
+
     from .migrations import DisableMigrations
 
     settings.MIGRATION_MODULES = DisableMigrations()
 
+    class MigrateSilentCommand(migrate.Command):
+        def handle(self, *args, **kwargs):
+            kwargs["verbosity"] = 0
+            return super(MigrateSilentCommand, self).handle(*args, **kwargs)
+
+    migrate.Command = MigrateSilentCommand
+
 
 # ############### User visible fixtures ################
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/pytest_django/plugin.py 
new/pytest-django-3.5.0/pytest_django/plugin.py
--- old/pytest-django-3.4.8/pytest_django/plugin.py     2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/pytest_django/plugin.py     2019-06-03 
16:24:31.000000000 +0200
@@ -245,14 +245,14 @@
     early_config.addinivalue_line(
         "markers",
         "django_db(transaction=False): Mark the test as using "
-        "the django test database.  The *transaction* argument marks will "
+        "the Django test database.  The *transaction* argument marks will "
         "allow you to use real transactions in the test like Django's "
         "TransactionTestCase.",
     )
     early_config.addinivalue_line(
         "markers",
         "urls(modstr): Use a different URLconf for this test, similar to "
-        "the `urls` attribute of Django `TestCase` objects.  *modstr* is "
+        "the `urls` attribute of Django's `TestCase` objects.  *modstr* is "
         "a string specifying the module of a URL config, e.g. "
         '"my_app.test_urls".',
     )
@@ -425,6 +425,30 @@
             _disable_class_methods(item.cls)
 
 
+def pytest_collection_modifyitems(session, config, items):
+    def get_order_number(test):
+        marker_db = test.get_closest_marker('django_db')
+        if marker_db:
+            transaction = validate_django_db(marker_db)[0]
+            if transaction is True:
+                return 1
+        else:
+            transaction = None
+
+        fixtures = getattr(test, 'funcargnames', [])
+        if "transactional_db" in fixtures:
+            return 1
+
+        if transaction is False:
+            return 0
+        if "db" in fixtures:
+            return 0
+
+        return 2
+
+    items[:] = sorted(items, key=get_order_number)
+
+
 @pytest.fixture(autouse=True, scope="session")
 def django_test_environment(request):
     """
@@ -488,43 +512,42 @@
 @pytest.fixture(autouse=True, scope="class")
 def _django_setup_unittest(request, django_db_blocker):
     """Setup a django unittest, internal to pytest-django."""
-    if django_settings_is_configured() and is_django_unittest(request):
-        request.getfixturevalue("django_test_environment")
-        request.getfixturevalue("django_db_setup")
-
-        django_db_blocker.unblock()
-
-        cls = request.node.cls
-
-        # implement missing (as of 1.10) debug() method for django's TestCase
-        # see pytest-dev/pytest-django#406
-        def _cleaning_debug(self):
-            testMethod = getattr(self, self._testMethodName)
-            skipped = getattr(self.__class__, "__unittest_skip__", False) or 
getattr(
-                testMethod, "__unittest_skip__", False
-            )
-
-            if not skipped:
-                self._pre_setup()
-            super(cls, self).debug()
-            if not skipped:
-                self._post_teardown()
+    if not django_settings_is_configured() or not is_django_unittest(request):
+        yield
+        return
+
+    request.getfixturevalue("django_db_setup")
 
-        cls.debug = _cleaning_debug
+    cls = request.node.cls
+
+    # implement missing (as of 1.10) debug() method for django's TestCase
+    # see pytest-dev/pytest-django#406
+    def _cleaning_debug(self):
+        testMethod = getattr(self, self._testMethodName)
+        skipped = getattr(self.__class__, "__unittest_skip__", False) or 
getattr(
+            testMethod, "__unittest_skip__", False
+        )
 
+        if not skipped:
+            self._pre_setup()
+        super(cls, self).debug()
+        if not skipped:
+            self._post_teardown()
+
+    cls.debug = _cleaning_debug
+
+    with django_db_blocker.unblock():
         if _handle_unittest_methods:
             _restore_class_methods(cls)
             cls.setUpClass()
             _disable_class_methods(cls)
 
-            def teardown():
-                _restore_class_methods(cls)
-                cls.tearDownClass()
-                django_db_blocker.restore()
+            yield
 
-            request.addfinalizer(teardown)
+            _restore_class_methods(cls)
+            cls.tearDownClass()
         else:
-            request.addfinalizer(django_db_blocker.restore)
+            yield
 
 
 @pytest.fixture(scope="function", autouse=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/pytest_django.egg-info/PKG-INFO 
new/pytest-django-3.5.0/pytest_django.egg-info/PKG-INFO
--- old/pytest-django-3.4.8/pytest_django.egg-info/PKG-INFO     2019-02-26 
16:03:07.000000000 +0100
+++ new/pytest-django-3.5.0/pytest_django.egg-info/PKG-INFO     2019-06-03 
16:24:46.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pytest-django
-Version: 3.4.8
+Version: 3.5.0
 Summary: A Django plugin for pytest.
 Home-page: https://pytest-django.readthedocs.io/
 Author: Andreas Pelme
@@ -95,5 +95,5 @@
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Testing
 Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
-Provides-Extra: docs
 Provides-Extra: testing
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/pytest_django_test/app/models.py 
new/pytest-django-3.5.0/pytest_django_test/app/models.py
--- old/pytest-django-3.4.8/pytest_django_test/app/models.py    2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/pytest_django_test/app/models.py    2019-06-03 
16:24:31.000000000 +0200
@@ -3,9 +3,3 @@
 
 class Item(models.Model):
     name = models.CharField(max_length=100)
-
-    def __unicode__(self):
-        return self.name
-
-    def __str__(self):
-        return self.name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/pytest_django_test/app/views.py 
new/pytest-django-3.5.0/pytest_django_test/app/views.py
--- old/pytest-django-3.4.8/pytest_django_test/app/views.py     2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/pytest_django_test/app/views.py     2019-06-03 
16:24:31.000000000 +0200
@@ -6,9 +6,8 @@
 
 
 def admin_required_view(request):
-    if request.user.is_staff:
-        return HttpResponse(Template("You are an admin").render(Context()))
-    return HttpResponse(Template("Access denied").render(Context()))
+    assert request.user.is_staff
+    return HttpResponse(Template("You are an admin").render(Context()))
 
 
 def item_count(request):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/pytest_django_test/db_helpers.py 
new/pytest-django-3.5.0/pytest_django_test/db_helpers.py
--- old/pytest-django-3.4.8/pytest_django_test/db_helpers.py    2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/pytest_django_test/db_helpers.py    2019-06-03 
16:24:31.000000000 +0200
@@ -47,7 +47,7 @@
 
 def run_mysql(*args):
     user = _settings.get("USER", None)
-    if user:
+    if user:  # pragma: no branch
         args = ("-u", user) + tuple(args)
     args = ("mysql",) + tuple(args)
     return run_cmd(*args)
@@ -61,110 +61,97 @@
         pytest.skip("Do not test db reuse since database does not support it")
 
 
-def drop_database(name=TEST_DB_NAME, suffix=None):
-    assert bool(name) ^ bool(suffix), "name and suffix cannot be used together"
+def drop_database(name=TEST_DB_NAME):
+    db_engine = get_db_engine()
 
-    if suffix:
-        name = "%s_%s" % (name, suffix)
-
-    if get_db_engine() == "postgresql_psycopg2":
+    if db_engine == "postgresql_psycopg2":
         r = run_cmd("psql", "postgres", "-c", "DROP DATABASE %s" % name)
         assert "DROP DATABASE" in force_text(
             r.std_out
         ) or "does not exist" in force_text(r.std_err)
         return
 
-    if get_db_engine() == "mysql":
+    if db_engine == "mysql":
         r = run_mysql("-e", "DROP DATABASE %s" % name)
         assert "database doesn't exist" in force_text(r.std_err) or 
r.status_code == 0
         return
 
-    if get_db_engine() == "sqlite3":
-        if name == ":memory:":
-            raise AssertionError("sqlite in-memory database cannot be 
dropped!")
-        if os.path.exists(name):
-            os.unlink(name)
-        return
-
-    raise AssertionError("%s cannot be tested properly!" % get_db_engine())
+    assert db_engine == "sqlite3", "%s cannot be tested properly!" % db_engine
+    assert name != ":memory:", "sqlite in-memory database cannot be dropped!"
+    if os.path.exists(name):  # pragma: no branch
+        os.unlink(name)
 
 
 def db_exists(db_suffix=None):
     name = TEST_DB_NAME
+    db_engine = get_db_engine()
 
     if db_suffix:
         name = "%s_%s" % (name, db_suffix)
 
-    if get_db_engine() == "postgresql_psycopg2":
+    if db_engine == "postgresql_psycopg2":
         r = run_cmd("psql", name, "-c", "SELECT 1")
         return r.status_code == 0
 
-    if get_db_engine() == "mysql":
+    if db_engine == "mysql":
         r = run_mysql(name, "-e", "SELECT 1")
         return r.status_code == 0
 
-    if get_db_engine() == "sqlite3":
-        if TEST_DB_NAME == ":memory:":
-            raise AssertionError(
-                "sqlite in-memory database cannot be checked for existence!"
-            )
-        return os.path.exists(name)
-
-    raise AssertionError("%s cannot be tested properly!" % get_db_engine())
+    assert db_engine == "sqlite3", "%s cannot be tested properly!" % db_engine
+    assert TEST_DB_NAME != ":memory:", (
+        "sqlite in-memory database cannot be checked for existence!")
+    return os.path.exists(name)
 
 
 def mark_database():
-    if get_db_engine() == "postgresql_psycopg2":
+    db_engine = get_db_engine()
+
+    if db_engine == "postgresql_psycopg2":
         r = run_cmd("psql", TEST_DB_NAME, "-c", "CREATE TABLE mark_table();")
         assert r.status_code == 0
         return
 
-    if get_db_engine() == "mysql":
+    if db_engine == "mysql":
         r = run_mysql(TEST_DB_NAME, "-e", "CREATE TABLE mark_table(kaka int);")
         assert r.status_code == 0
         return
 
-    if get_db_engine() == "sqlite3":
-        if TEST_DB_NAME == ":memory:":
-            raise AssertionError("sqlite in-memory database cannot be marked!")
-
-        conn = sqlite3.connect(TEST_DB_NAME)
-        try:
-            with conn:
-                conn.execute("CREATE TABLE mark_table(kaka int);")
-        finally:  # Close the DB even if an error is raised
-            conn.close()
-        return
-
-    raise AssertionError("%s cannot be tested properly!" % get_db_engine())
+    assert db_engine == "sqlite3", "%s cannot be tested properly!" % db_engine
+    assert TEST_DB_NAME != ":memory:", (
+        "sqlite in-memory database cannot be marked!")
+
+    conn = sqlite3.connect(TEST_DB_NAME)
+    try:
+        with conn:
+            conn.execute("CREATE TABLE mark_table(kaka int);")
+    finally:  # Close the DB even if an error is raised
+        conn.close()
 
 
 def mark_exists():
-    if get_db_engine() == "postgresql_psycopg2":
+    db_engine = get_db_engine()
+
+    if db_engine == "postgresql_psycopg2":
         r = run_cmd("psql", TEST_DB_NAME, "-c", "SELECT 1 FROM mark_table")
 
         # When something pops out on std_out, we are good
         return bool(r.std_out)
 
-    if get_db_engine() == "mysql":
+    if db_engine == "mysql":
         r = run_mysql(TEST_DB_NAME, "-e", "SELECT 1 FROM mark_table")
 
         return r.status_code == 0
 
-    if get_db_engine() == "sqlite3":
-        if TEST_DB_NAME == ":memory:":
-            raise AssertionError(
-                "sqlite in-memory database cannot be checked for mark!"
-            )
-
-        conn = sqlite3.connect(TEST_DB_NAME)
-        try:
-            with conn:
-                conn.execute("SELECT 1 FROM mark_table")
-                return True
-        except sqlite3.OperationalError:
-            return False
-        finally:  # Close the DB even if an error is raised
-            conn.close()
-
-    raise AssertionError("%s cannot be tested properly!" % get_db_engine())
+    assert db_engine == "sqlite3", "%s cannot be tested properly!" % db_engine
+    assert TEST_DB_NAME != ":memory:", (
+        "sqlite in-memory database cannot be checked for mark!")
+
+    conn = sqlite3.connect(TEST_DB_NAME)
+    try:
+        with conn:
+            conn.execute("SELECT 1 FROM mark_table")
+            return True
+    except sqlite3.OperationalError:
+        return False
+    finally:  # Close the DB even if an error is raised
+        conn.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-django-3.4.8/pytest_django_test/settings_base.py 
new/pytest-django-3.5.0/pytest_django_test/settings_base.py
--- old/pytest-django-3.4.8/pytest_django_test/settings_base.py 2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/pytest_django_test/settings_base.py 2019-06-03 
16:24:31.000000000 +0200
@@ -16,12 +16,7 @@
 
 # Used to construct unique test database names to allow detox to run multiple
 # versions at the same time
-uid = os.getenv("UID", "")
-
-if uid:
-    db_suffix = "_%s" % uid
-else:
-    db_suffix = ""
+db_suffix = "_%s" % os.getuid()
 
 MIDDLEWARE = [
     "django.contrib.sessions.middleware.SessionMiddleware",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/tests/conftest.py 
new/pytest-django-3.5.0/tests/conftest.py
--- old/pytest-django-3.4.8/tests/conftest.py   2019-02-26 16:02:52.000000000 
+0100
+++ new/pytest-django-3.5.0/tests/conftest.py   2019-06-03 16:24:31.000000000 
+0200
@@ -6,8 +6,6 @@
 import six
 from django.conf import settings
 
-from pytest_django_test.db_helpers import DB_NAME, TEST_DB_NAME
-
 try:
     import pathlib
 except ImportError:
@@ -40,6 +38,8 @@
 
 @pytest.fixture(scope="function")
 def django_testdir(request, testdir, monkeypatch):
+    from pytest_django_test.db_helpers import DB_NAME, TEST_DB_NAME
+
     marker = request.node.get_closest_marker("django_project")
 
     options = _marker_apifun(**(marker.kwargs if marker else {}))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/tests/test_db_setup.py 
new/pytest-django-3.5.0/tests/test_db_setup.py
--- old/pytest-django-3.4.8/tests/test_db_setup.py      2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/tests/test_db_setup.py      2019-06-03 
16:24:31.000000000 +0200
@@ -29,6 +29,38 @@
     result.stdout.fnmatch_lines(["*test_db_can_be_accessed PASSED*"])
 
 
+def test_db_order(django_testdir):
+    """Test order in which tests are being executed."""
+
+    django_testdir.create_test_module('''
+        import pytest
+
+        from .app.models import Item
+
+        @pytest.mark.django_db(transaction=True)
+        def test_run_second_decorator():
+            pass
+
+        def test_run_second_fixture(transactional_db):
+            pass
+
+        def test_run_first_fixture(db):
+            pass
+
+        @pytest.mark.django_db
+        def test_run_first_decorator():
+            pass
+    ''')
+    result = django_testdir.runpytest_subprocess('-v', '-s')
+    assert result.ret == 0
+    result.stdout.fnmatch_lines([
+        "*test_run_first_fixture*",
+        "*test_run_first_decorator*",
+        "*test_run_second_decorator*",
+        "*test_run_second_fixture*",
+    ])
+
+
 def test_db_reuse(django_testdir):
     """
     Test the re-use db functionality.
@@ -246,7 +278,13 @@
 
                 assert conn_default.vendor == 'sqlite'
                 db_name = conn_default.creation._get_test_db_name()
-                assert 'file:memorydb' in db_name
+
+                # can_share_in_memory_db was removed in Django 2.1, and
+                # used in _get_test_db_name before.
+                if getattr(conn_default.features, "can_share_in_memory_db", 
True):
+                    assert 'file:memorydb' in db_name
+                else:
+                    assert db_name == ":memory:"
 
                 assert conn_db2.vendor == 'sqlite'
                 db_name = conn_db2.creation._get_test_db_name()
@@ -262,7 +300,7 @@
 @pytest.mark.skipif(
     get_django_version() >= (1, 9),
     reason=(
-        "Django 1.9 requires migration and has no concept " "of initial data 
fixtures"
+        "Django 1.9 requires migration and has no concept of initial data 
fixtures"
     ),
 )
 def test_initial_data(django_testdir_initial):
@@ -295,7 +333,8 @@
 
             @pytest.mark.django_db
             def test_inner_migrations():
-                pass
+                from .app.models import Item
+                Item.objects.create()
         """
         )
 
@@ -308,10 +347,11 @@
         )
 
         result = django_testdir.runpytest_subprocess(
-            "--nomigrations", "--tb=short", "-v"
+            "--nomigrations", "--tb=short", "-vv", "-s",
         )
         assert result.ret == 0
-        result.stdout.fnmatch_lines(["*test_inner_migrations*PASSED*"])
+        assert "Operations to perform:" not in result.stdout.str()
+        result.stdout.fnmatch_lines(["*= 1 passed in *"])
 
     def test_migrations_run(self, django_testdir):
         testdir = django_testdir
@@ -321,7 +361,8 @@
 
             @pytest.mark.django_db
             def test_inner_migrations():
-                pass
+                from .app.models import Item
+                Item.objects.create()
             """
         )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-django-3.4.8/tests/test_django_configurations.py 
new/pytest-django-3.5.0/tests/test_django_configurations.py
--- old/pytest-django-3.4.8/tests/test_django_configurations.py 2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/tests/test_django_configurations.py 2019-06-03 
16:24:31.000000000 +0200
@@ -6,16 +6,6 @@
 
 pytest.importorskip("configurations")
 
-try:
-    import configurations.importer
-
-    configurations
-except ImportError as e:
-    if "LaxOptionParser" in e.args[0]:
-        pytest.skip(
-            "This version of django-configurations is incompatible with 
Django: "  # noqa
-            "https://github.com/jezdez/django-configurations/issues/65";
-        )  # noqa
 
 BARE_SETTINGS = """
 from configurations import Configuration
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/tests/test_fixtures.py 
new/pytest-django-3.5.0/tests/test_fixtures.py
--- old/pytest-django-3.4.8/tests/test_fixtures.py      2019-02-26 
16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/tests/test_fixtures.py      2019-06-03 
16:24:31.000000000 +0200
@@ -522,11 +522,8 @@
 
 
         def admin_required_view(request):
-            if request.user.is_staff:
-                return HttpResponse(
-                    Template('You are an admin').render(Context()))
-            return HttpResponse(
-                    Template('Access denied').render(Context()))
+            assert request.user.is_staff
+            return HttpResponse(Template('You are an admin').render(Context()))
         """,
         "views.py",
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-django-3.4.8/tox.ini 
new/pytest-django-3.5.0/tox.ini
--- old/pytest-django-3.4.8/tox.ini     2019-02-26 16:02:52.000000000 +0100
+++ new/pytest-django-3.5.0/tox.ini     2019-06-03 16:24:31.000000000 +0200
@@ -19,8 +19,8 @@
     dj19: Django>=1.9,<1.10
     dj18: Django>=1.8,<1.9
 
-    mysql_myisam: mysql-python==1.2.5
-    mysql_innodb: mysql-python==1.2.5
+    mysql_myisam: mysqlclient==1.4.2.post1
+    mysql_innodb: mysqlclient==1.4.2.post1
 
     postgres: psycopg2-binary
     coverage: coverage-enable-subprocess


Reply via email to