#28320: Parallel testing: Please implement a signal or call checks after test DB
creation but before cloning it.
------------------------------------------------+------------------------
               Reporter:  László Károlyi        |          Owner:  nobody
                   Type:  Cleanup/optimization  |         Status:  new
              Component:  Testing framework     |        Version:  1.11
               Severity:  Normal                |       Keywords:
           Triage Stage:  Unreviewed            |      Has patch:  0
    Needs documentation:  0                     |    Needs tests:  0
Patch needs improvement:  0                     |  Easy pickings:  0
                  UI/UX:  0                     |
------------------------------------------------+------------------------
 Hi,

 I tried to reach someone on IRC, but actually it's better to document my
 issue here, maybe there will be a solution to it eventually.

 I'm trying to use the new and shiny parallel testing functionality of
 Django 1.11, and I've run into problems with it.

 So I have functionality implemented on `check` and the `post_migrate`
 signal, where I conditionally insert stuff into the DB that can't be
 inserted by fixtures, and also conditionally modify DB fields that can't
 be done from the ORM. (the latter is basically changing collation on a
 column)

 It seems that the post_migrate signal is run randomly before and after the
 test creation, and checks are only run *after* the DB is cloned, so I
 don't have a sufficient point where I can have my logic run.

 Monkey-patching has shown that the best solution would be to run
 `call_command('check')`
 [https://github.com/django/django/blob/master/django/test/utils.py#L178
 here], so basically after `create_test_db` but before `clone_test_db`.

 I can quickly add that, but I'm not sure how it could be tested, and what
 implications it would have, so I'm asking you guys, if you think it's
 doable and feasible. Because of this right now, I can't use parallel
 testing.

--
Ticket URL: <https://code.djangoproject.com/ticket/28320>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/050.43e6a76188c3a571f14b5ebeac6ad931%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to