diff options
| author | Carl Meyer <carl@oddbird.net> | 2014-11-19 14:08:57 -0700 |
|---|---|---|
| committer | Carl Meyer <carl@oddbird.net> | 2014-11-19 15:03:47 -0700 |
| commit | 47b7f601eeb93bd7a91f87b77da658212f2f2314 (patch) | |
| tree | 8be3a84ed5a6bf6891e84b76820ef38231d2f440 | |
| parent | 4932a7b8e0a25c7447d7ad7ae8ae53a35d2541ac (diff) | |
Fixed #23872 -- Removed sensitivity of migrations tests to CWD.
| -rw-r--r-- | tests/migrations/test_base.py | 6 | ||||
| -rw-r--r-- | tests/migrations/test_commands.py | 28 |
2 files changed, 19 insertions, 15 deletions
diff --git a/tests/migrations/test_base.py b/tests/migrations/test_base.py index ca733a72d1..7b3e2a9fcd 100644 --- a/tests/migrations/test_base.py +++ b/tests/migrations/test_base.py @@ -1,5 +1,8 @@ -from django.test import TransactionTestCase +import os + from django.db import connection +from django.test import TransactionTestCase +from django.utils._os import upath class MigrationTestBase(TransactionTestCase): @@ -8,6 +11,7 @@ class MigrationTestBase(TransactionTestCase): """ available_apps = ["migrations"] + test_dir = os.path.abspath(os.path.dirname(upath(__file__))) def get_table_description(self, table): with connection.cursor() as cursor: diff --git a/tests/migrations/test_commands.py b/tests/migrations/test_commands.py index 83826e819d..ddbcfb343a 100644 --- a/tests/migrations/test_commands.py +++ b/tests/migrations/test_commands.py @@ -11,7 +11,6 @@ from django.core.management import call_command, CommandError from django.db.migrations import questioner from django.test import override_settings from django.utils import six -from django.utils._os import upath from django.utils.encoding import force_text from .models import UnicodeModel, UnserializableModel @@ -144,8 +143,6 @@ class MakeMigrationsTests(MigrationTestBase): def setUp(self): MakeMigrationsTests.creation_counter += 1 - self._cwd = os.getcwd() - self.test_dir = os.path.abspath(os.path.dirname(upath(__file__))) self.migration_dir = os.path.join(self.test_dir, 'migrations_%d' % self.creation_counter) self.migration_pkg = "migrations.migrations_%d" % self.creation_counter self._old_models = apps.app_configs['migrations'].models.copy() @@ -155,19 +152,21 @@ class MakeMigrationsTests(MigrationTestBase): apps.all_models['migrations'] = self._old_models apps.clear_cache() + _cwd = os.getcwd() os.chdir(self.test_dir) try: - self._rmrf(self.migration_dir) - except OSError: - pass - - try: - self._rmrf(os.path.join(self.test_dir, - "test_migrations_path_doesnt_exist")) - except OSError: - pass + try: + self._rmrf(self.migration_dir) + except OSError: + pass - os.chdir(self._cwd) + try: + self._rmrf(os.path.join(self.test_dir, + "test_migrations_path_doesnt_exist")) + except OSError: + pass + finally: + os.chdir(_cwd) def _rmrf(self, dname): if os.path.commonprefix([self.test_dir, os.path.abspath(dname)]) != self.test_dir: @@ -550,7 +549,8 @@ class SquashMigrationsTest(MigrationTestBase): Tests running the squashmigrations command. """ - path = "migrations/test_migrations/0001_squashed_0002_second.py" + path = "test_migrations/0001_squashed_0002_second.py" + path = os.path.join(MigrationTestBase.test_dir, path) def tearDown(self): if os.path.exists(self.path): |
