From d0716044ddc2c629ee459af00b2b876c5d8c0a3d Mon Sep 17 00:00:00 2001 From: Ramiro Morales Date: Fri, 27 May 2011 10:55:07 +0000 Subject: [PATCH] Changed a bit the strategy used to test staticfiles finders so they can cope with even more differences in case of paths under Windows. Refs #14961 git-svn-id: http://code.djangoproject.com/svn/django/trunk@16285 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/staticfiles_tests/tests.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/regressiontests/staticfiles_tests/tests.py b/tests/regressiontests/staticfiles_tests/tests.py index b8a7aa6d339..8ecae8b92c3 100644 --- a/tests/regressiontests/staticfiles_tests/tests.py +++ b/tests/regressiontests/staticfiles_tests/tests.py @@ -17,7 +17,7 @@ from django.utils.encoding import smart_unicode from django.utils._os import rmtree_errorhandler -TEST_ROOT = os.path.normcase(os.path.dirname(__file__)) +TEST_ROOT = os.path.dirname(__file__) class StaticFilesTestCase(TestCase): @@ -352,15 +352,23 @@ class TestServeAdminMedia(TestServeStatic): class FinderTestCase(object): """ - Base finder test mixin + Base finder test mixin. + + On Windows, sometimes the case of the path we ask the finders for and the + path(s) they find can differ. Compare them using os.path.normcase() to + avoid false negatives. """ def test_find_first(self): src, dst = self.find_first - self.assertEqual(self.finder.find(src), dst) + found = self.finder.find(src) + self.assertEqual(os.path.normcase(found), os.path.normcase(dst)) def test_find_all(self): src, dst = self.find_all - self.assertEqual(self.finder.find(src, all=True), dst) + found = self.finder.find(src, all=True) + found = [os.path.normcase(f) for f in found] + dst = [os.path.normcase(d) for d in dst] + self.assertEqual(found, dst) class TestFileSystemFinder(StaticFilesTestCase, FinderTestCase):