diff options
| author | Ramiro Morales <ramiro@rmorales.net> | 2013-10-02 06:57:56 -0300 |
|---|---|---|
| committer | Ramiro Morales <cramm0@gmail.com> | 2013-10-02 07:33:52 -0300 |
| commit | 3ec368014d0d74e14a7ed98ccfd638ffe0e62863 (patch) | |
| tree | 75d70f67ff168c3f870d1ada78fdd6a45084d154 | |
| parent | 65950805eb638d6539d7fde7f89dd2215d158ff9 (diff) | |
[1.6.x] Made skipping of symlink-related makemessages test smarter.
os.symlink() is available starting with Windows Vista but can fail at
runtime.
0f46ec315e from master.
| -rw-r--r-- | tests/i18n/commands/extraction.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/i18n/commands/extraction.py b/tests/i18n/commands/extraction.py index 4139abdd37..341fa1b020 100644 --- a/tests/i18n/commands/extraction.py +++ b/tests/i18n/commands/extraction.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import os import re import shutil +from unittest import SkipTest import warnings from django.core import management @@ -314,11 +315,20 @@ class SymlinkExtractorTests(ExtractorTests): os.chdir(self._cwd) def test_symlink(self): + # On Python < 3.2 os.symlink() exists only on Unix if hasattr(os, 'symlink'): if os.path.exists(self.symlinked_dir): self.assertTrue(os.path.islink(self.symlinked_dir)) else: - os.symlink(os.path.join(self.test_dir, 'templates'), self.symlinked_dir) + # On Python >= 3.2) os.symlink() exists always but then can + # fail at runtime when user hasn't the needed permissions on + # WIndows versions that support symbolink links (>= 6/Vista). + # See Python issue 9333 (http://bugs.python.org/issue9333). + # Skip the test in that case + try: + os.symlink(os.path.join(self.test_dir, 'templates'), self.symlinked_dir) + except (OSError, NotImplementedError): + raise SkipTest("os.symlink() is available on this OS but can't be used by this user.") os.chdir(self.test_dir) management.call_command('makemessages', locale=LOCALE, verbosity=0, symlinks=True) self.assertTrue(os.path.exists(self.PO_FILE)) |
