[Bug 507697] Review Request: python-migrate0.5 - schema migration tools for SQLAlchemy

bugzilla at redhat.com bugzilla at redhat.com
Fri Oct 2 00:19:51 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=507697





--- Comment #8 from Toshio Ernie Kuratomi <a.badger at gmail.com>  2009-10-01 20:19:49 EDT ---
Okay adding:
    __requires__ = 'SQLAlchemy>=0.5'
    import pkg_resources
    pkg_resources.require('SQLAlchemy>=0.5')

to the top of setup.py fixes the tests *that use the inprocess python*.  The
tests in test_shell.py are not fixed by this because they fork a subprocess to
do their work.  In production, the script that invokes these is a light wrapper
created by setuptools.  Those use __requires__='' in order to perform that
function.  In the test, the migrate/versioning/shell.py file is being invoked
directly.  So __requires__ is not being set.

There's several ways to fix these tests.  We could have a wrapper that mimics
setuptool's wrapper.  We could add __requires__ ; import pkg_resources to
versioning/shell.py.  We could set the PYTHON_PATH environment variable in
test_shell.py when it invokes the shell.py script so that it finds the proper
SQLAlchemy.

Of these, I think that the best one for upstream is the wrapper.  A wrapper is
how the script will be invoked from the shell and the test purports to test
invokation of the script from the shell so it matches up best.  Second best
(and probably the easiest if we aren't going to get it upstream as well) is the
environment variable solution.  I'll go about making this happen.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list