Opened 11 years ago

Last modified 8 months ago

#21739 new Bug

When running tests, the fixture loading process has verbosity = 0 hardcoded — at Version 9

Reported by: camilo.lopez.a@… Owned by: Olek
Component: Testing framework Version: 1.6
Severity: Normal Keywords: test fixture verbosity
Cc: camilo.lopez.a@… Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: yes
Easy pickings: no UI/UX: no

Description (last modified by Ramiro Morales)

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?

Change History (9)

comment:1 by Claude Paroz, 11 years ago

Could you tell us what the issue with your fixtures is, and what is the output when verbosity > 0?

comment:2 by camilo.lopez.a@…, 11 years ago

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.

comment:3 by Marc Tamlyn, 11 years ago

models.py will not be required in 1.7. That said, the ticket is still a reasonable issue.

comment:4 by Claude Paroz, 11 years ago

Triage Stage: UnreviewedAccepted

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.

comment:5 by camilo.lopez.a@…, 11 years ago

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.

comment:6 by anonymous, 11 years ago

Owner: changed from nobody to anonymous
Status: newassigned

comment:7 by Olek, 11 years ago

Owner: changed from anonymous to Olek

comment:8 by Olek, 11 years ago

Working (but ugly) solution was moved into: https://github.com/django/django/pull/2299

comment:9 by Ramiro Morales, 11 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top