Opened 8 years ago
Last modified 8 years ago
#26677 closed Cleanup/optimization
Run i18n tests on disposable FS tree instead of source code — at Version 5
Reported by: | Ramiro Morales | Owned by: | Ramiro Morales |
---|---|---|---|
Component: | Internationalization | Version: | dev |
Severity: | Normal | Keywords: | tests isolation i18n serializemixin unit unittest |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Currently, tests that exercise translatable literal extraction to .po
files by makemessages (located on test_extraction.py
) and test that exercise compilation of .po
files to .mo
files by compilemessages (test_compilation.py
) are run under the test/i18n
test source code tree creating subdirectories and files under the different work projects/applications located there.
Proposal is to copy the relevant filesystem tree to a tempdir as provided by runtests.py
+ tempfile.mkdtemp()
as part of every test case setup.
This has the following advantages:
- Avoid weird bogus errors and failures caused by stray directories left by previous runs/debugging sessions.
- Allows us to solve the fact that currently tests on
test_compilation.py
aren't marked as needing seralized execution and are actually being run in parallel. This, for instance, causes a couple of consecutive runs of the i18n test on my Ubuntu 1.4.04 system to report misleading failures, most probably because of race conditions. - Ensure actual isolation among test cases
- Allow each of these test cases to be actually run in in parallel by our existing machinery. This allows us to be able to stop relying on
django.test.testcases.SerializeMixin
These changes possibly aren't visible on our CI infrastructure as every job there always use a clean tree but can be of help to those running the test suite and/or working on i18n tests.
Other tests (tests.py
, test_percents.py
) don't have write access to disk so they are unaffected.
Change History (5)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 8 years ago
Summary: | Run i18n tests on disposablle FS tree instead of source code → Run i18n tests on disposable FS tree instead of source code |
---|
comment:4 by , 8 years ago
Component: | Testing framework → Internationalization |
---|---|
Has patch: | set |
Triage Stage: | Unreviewed → Accepted |
comment:5 by , 8 years ago
Description: | modified (diff) |
---|
PR