Opened 12 years ago
Closed 12 years ago
#20603 closed Cleanup/optimization (fixed)
Make the test suite even faster with available apps
| Reported by: | Aymeric Augustin | Owned by: | nobody |
|---|---|---|---|
| Component: | Testing framework | Version: | dev |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Accepted | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
There's a few TestCases that run call_command('syncdb', ...). They would be much faster with a suitable value of available_apps.
As usual the idea is from Anssi: https://github.com/akaariai/django/commit/b101db2d5f738535aef18db73db2a156666346e3
Note:
See TracTickets
for help on using tickets.
The following hack helps locate culprits:
diff --git a/django/core/management/sql.py b/django/core/management/sql.py index b58d89f..eeeb483 100644 --- a/django/core/management/sql.py +++ b/django/core/management/sql.py @@ -207,6 +207,10 @@ def emit_pre_sync_signal(create_models, verbosity, interactive, db): def emit_post_sync_signal(created_models, verbosity, interactive, db): # Emit the post_sync signal for every application. + num_apps = len(models.get_apps()) + print("post-syncdb on %d apps" % num_apps) + if num_apps > 10: + import pdb; pdb.set_trace() for app in models.get_apps(): app_name = app.__name__.split('.')[-2] if verbosity >= 2:(Type
btwhenever you enter pdb to check which test is running, thencto resume the tests.)