diff options
| author | Brandon Taylor <alsoicode@gmail.com> | 2014-10-07 13:53:19 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-10-09 14:58:20 -0400 |
| commit | 16ed35fafc0583b485a0289afda632f8261ecc96 (patch) | |
| tree | 1a5dc1b66304aa1f8278e8a851575f488b8fdc30 | |
| parent | 92a17eaae081a213171b044858d6fc29df2df733 (diff) | |
Fixed #23612 -- Normalized fixuture paths to allow referencing relative paths on Windows.
| -rw-r--r-- | django/core/management/commands/loaddata.py | 2 | ||||
| -rw-r--r-- | tests/fixtures_regress/tests.py | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/django/core/management/commands/loaddata.py b/django/core/management/commands/loaddata.py index 9cd5a232fd..05cf769489 100644 --- a/django/core/management/commands/loaddata.py +++ b/django/core/management/commands/loaddata.py @@ -186,7 +186,7 @@ class Command(BaseCommand): fixture_name = os.path.basename(fixture_name) else: fixture_dirs = self.fixture_dirs - if os.path.sep in fixture_name: + if os.path.sep in os.path.normpath(fixture_name): fixture_dirs = [os.path.join(dir_, os.path.dirname(fixture_name)) for dir_ in fixture_dirs] fixture_name = os.path.basename(fixture_name) diff --git a/tests/fixtures_regress/tests.py b/tests/fixtures_regress/tests.py index c01411e158..cc95a41b10 100644 --- a/tests/fixtures_regress/tests.py +++ b/tests/fixtures_regress/tests.py @@ -857,3 +857,15 @@ class TestTicket11101(TransactionTestCase): self.assertEqual(Thingy.objects.count(), 1) transaction.set_rollback(True) self.assertEqual(Thingy.objects.count(), 0) + + +class TestLoadFixtureFromOtherAppDirectory(TestCase): + """ + #23612 -- fixtures path should be normalized to allow referencing relative + paths on Windows. + """ + fixtures = ['fixtures_regress/fixtures/absolute.json'] + + def test_fixtures_loaded(self): + count = Absolute.objects.count() + self.assertGreater(count, 0, "Fixtures not loaded properly.") |
