python manage.py test -v 2
One of my tests has a fixture and it seems that there is an issue with
that, because no data is loaded and it's failing silently.
I was looking at the code of /django/test/testcase.py and I found this:
call_command('loaddata', *self.fixtures,
**{'verbosity': 0, 'database': db_name,
'skip_validation': True})
So, verbosity is 0, hardcoded.
Shouldn't inherit the verbosity from the test command in manage.py
somehow?
--
Ticket URL: <https://code.djangoproject.com/ticket/21739>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0
Comment:
Could you tell us what the issue with your fixtures is, and what is the
output when verbosity > 0?
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:1>
Comment (by camilo.lopez.a@…):
The issue with the fixtures was that I hadn't a models.py file in my app,
so all the fixtures where not recognized and it was filing silently.
I discovered the issue debugging on the source code of Django. I changed
verbosity from 0 to 2 and was able to realise what was going on.
The models.py thing should be documented or better, change that behavior
to just read from installed apps as one will expect.
call_command should inherit verbosity from the test command.
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:2>
Comment (by mjtamlyn):
models.py will not be required in 1.7. That said, the ticket is still a
reasonable issue.
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:3>
* stage: Unreviewed => Accepted
Comment:
I'm not sure it's a good idea to make fixture loading inherit `verbosity`
from the `test` command. However, failure during loading fixtures should
be loudly visible.
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:4>
Comment (by camilo.lopez.a@…):
If I give a command verbosity = X, I expect every procedure inside it to
use that level of verbosity. If not, you will break consistency.
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:5>
* status: new => assigned
* owner: nobody => anonymous
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:6>
* owner: anonymous => Olek
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:7>
Comment (by Olek):
Working (but ugly) solution was moved into:
https://github.com/django/django/pull/2299
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:8>
Old description:
> Hi,
> On django 1.6, I'm running the command:
>
> python manage.py test -v 2
>
> One of my tests has a fixture and it seems that there is an issue with
> that, because no data is loaded and it's failing silently.
> I was looking at the code of /django/test/testcase.py and I found this:
>
> call_command('loaddata', *self.fixtures,
> **{'verbosity': 0, 'database': db_name,
> 'skip_validation': True})
>
> So, verbosity is 0, hardcoded.
> Shouldn't inherit the verbosity from the test command in manage.py
> somehow?
New description:
Hi,
On django 1.6, I'm running the command:
python manage.py test -v 2
One of my tests has a fixture and it seems that there is an issue with
that, because no data is loaded and it's failing silently.
I was looking at the code of /django/test/testcase.py and I found this:
{{{
call_command('loaddata', *self.fixtures,
**{'verbosity': 0, 'database': db_name,
'skip_validation': True})
}}}
So, verbosity is 0, hardcoded.
Shouldn't inherit the verbosity from the test command in manage.py
somehow?
--
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:9>
Comment (by ramiro):
We've used and do currently have stealth options in management commands
(flush, sql) so we have a precedent of that kind of options but so far
we've used them to help in internal testing of infrastructure and not as
something we allow the final user to control from the command line.
(btw, the reset_sequences stealth option of flush seems to be not used
anymore.)
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:10>
* needs_better_patch: 0 => 1
* has_patch: 0 => 1
Comment:
I don't think the current approach is desirable. We run the tests with `-v
2` on our continuous integration and this would made the logs *much*
nosier (lots of things like "No fixture 'authtestdata' in
'/home/tim/code/django/tests/comment_tests/fixtures'."). Also the PR
should be against master as we won't make the change in earlier versions.
--
Ticket URL: <https://code.djangoproject.com/ticket/21739#comment:11>