Opened 18 years ago
Closed 18 years ago
#3625 closed (fixed)
Test fixtures cause load_data to fail with Python 2.3
Reported by: | Owned by: | Adrian Holovaty | |
---|---|---|---|
Component: | Testing framework | Version: | dev |
Severity: | Keywords: | ||
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
Database sync (sqlite) fails when trying to load initial data (in this case there is none). The error appears to stem from rsplit which is used in source:trunk/django/core/management.py and was introduced in [4659] with the test fixtures framework. I'm using the stock OS X Python (2.3.5) over here and I believe this function was introduced in 2.4.
Error:
Loading 'initial_data' fixtures... Traceback (most recent call last): File "manage.py", line 11, in ? execute_manager(settings) File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/django/core/management.py", line 1663, in execute_manager execute_from_command_line(action_mapping, argv) File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/django/core/management.py", line 1562, in execute_from_command_line action_mapping[action](int(options.verbosity), options.interactive) File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/django/core/management.py", line 590, in syncdb load_data(['initial_data'], verbosity=verbosity) File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/django/core/management.py", line 1358, in load_data fixture_name, format = fixture_label.rsplit('.', 1) AttributeError: 'str' object has no attribute 'rsplit'
Attachments (1)
Change History (9)
comment:1 by , 18 years ago
Triage Stage: | Unreviewed → Accepted |
---|
by , 18 years ago
Attachment: | management-rsplit-python23.diff added |
---|
comment:2 by , 18 years ago
Has patch: | set |
---|
I added a patch for this problem. I tested it just with a syncdb on a fairly complex database on Python 2.5, and also verified that my rsplit replacement works correctly at least for cases like "a", "a.b", "a.b.c" etc.
comment:3 by , 18 years ago
Component: | Uncategorized → Unit test system |
---|---|
Owner: | changed from | to
Triage Stage: | Accepted → Ready for checkin |
comment:4 by , 18 years ago
Any update on when this patch might get committed -- we're unfortunately stuck on RHEL 4.x and RH won't honor support contracts if you install Python 2.4, even in a sandbox/separate path?
comment:5 by , 18 years ago
Hi Chris, you'd get a better response asking this question in the developer group.
comment:6 by , 18 years ago
The patch as written did not pass all the tests under python 2.4. So I'm checking in a modified version that seems to do the right thing. Can somebody with ready access to python2.3 please check that this fixes the problem (in particular, all the tests should still pass). If it passes under 2.3, we can mark this as fixed.
comment:7 by , 18 years ago
comment:8 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Apparently if you want something tested you have to do it yourself, despite all the people who were apparently affected by this. :-(
I built Python 2.3 and database wrappers and it seems the rsplit() problem is gone. Some tests still fail under python2.3, but I don't believe it's related to this bug.
work around rsplit