Thread: [SQLObject] how do i run the unit tests?
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Victor Ng <cra...@gm...> - 2005-09-26 05:29:34
|
Hi all, I've been using SQLObject since the bad old days of 0.5.4 and we're actuall= y using a rewrite of it for a custom ERP system. There are a bunch of changes that I'd like to see if I can get merged back into the mainline trunk of SQLObject, but I'm having trouble with getting m= y tests to run. I think I've got all the dependencies sorted out - setuptools 0.6a4, pysqlite 2.0.4, py-dist from codespeak and sqlobject from the SVN trunk all seem to be installed properly. How do I get simple tests to run? After reading through the developer docs at: http://sqlobject.org/docs/DeveloperGuide.html, there isn't an actual comman= d to run that will excercise the testsuite. I have absolutely no experience with py.test, so I'm sure I'm doing something stupid. victor-3:~/dev/SQLObject/trunk victorng$ python sqlobject/tests/dbtest.py Traceback (most recent call last): File "sqlobject/tests/dbtest.py", line 93, in ? connection =3D getConnection() File "sqlobject/tests/dbtest.py", line 86, in getConnection conn =3D sqlobject.connectionForURI(name, **kw) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packa= ges/SQLObject- 0.7b1dev_r1032-py2.4.egg/sqlobject/dbconnection.py", line 913, in connectionForURI conn =3D self.schemeBuilders[scheme]().connectionFromURI(uri) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packa= ges/SQLObject- 0.7b1dev_r1032-py2.4.egg/sqlobject/sqlite/sqliteconnection.py", line 59, in connectionFromURI return cls(filename=3Dpath, **args) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packa= ges/SQLObject- 0.7b1dev_r1032-py2.4.egg/sqlobject/sqlite/sqliteconnection.py", line 47, in __init__ self._conn =3D sqlite.connect(self.filename, **opts) pysqlite2.dbapi2.OperationalError: unable to open database file victor-3:~/dev/SQLObject/trunk victorng$ thanks, vic -- "Never attribute to malice that which can be adequately explained by stupidity." - Hanlon's Razor |
From: Philippe N. <ph...@ba...> - 2005-09-26 06:40:26
|
Le lundi 26 septembre 2005 =E0 01:22 -0400, Victor Ng a =E9crit : > Hi all, >=20 > I've been using SQLObject since the bad old days of 0.5.4 and we're > actually using a rewrite of it for a custom ERP system. >=20 > There are a bunch of changes that I'd like to see if I can get merged > back into the mainline trunk of SQLObject, but I'm having trouble with > getting my tests to run.=20 >=20 > I think I've got all the dependencies sorted out - setuptools 0.6a4, > pysqlite 2.0.4, py-dist from codespeak and sqlobject from the SVN > trunk all seem to be installed properly. >=20 > How do I get simple tests to run?=20 >=20 First be sure to eval env.py (from dist-py) so that your PYTHONPATH and friends are correctly set. Then go to sqlobject, if there's no data/ directory, create one (it will contain the sqlite db and some other stuff). Then simply run py.test and cross the fingers :-) That's how i do... There's probably one way to customize the db backend to use (instead of sqlite) but i've gone so far yet. Philippe |
From: Ian B. <ia...@co...> - 2005-09-26 15:20:51
|
Philippe Normand wrote: > Le lundi 26 septembre 2005 =E0 01:22 -0400, Victor Ng a =E9crit : >=20 >>Hi all, >> >>I've been using SQLObject since the bad old days of 0.5.4 and we're >>actually using a rewrite of it for a custom ERP system. >> >>There are a bunch of changes that I'd like to see if I can get merged >>back into the mainline trunk of SQLObject, but I'm having trouble with >>getting my tests to run.=20 >> >>I think I've got all the dependencies sorted out - setuptools 0.6a4, >>pysqlite 2.0.4, py-dist from codespeak and sqlobject from the SVN >>trunk all seem to be installed properly. >> >>How do I get simple tests to run?=20 >> >=20 >=20 > First be sure to eval env.py (from dist-py) so that your PYTHONPATH and > friends are correctly set. >=20 > Then go to sqlobject, if there's no data/ directory, create one (it wil= l > contain the sqlite db and some other stuff). >=20 > Then simply run py.test and cross the fingers :-) That's how i do... > There's probably one way to customize the db backend to use (instead of > sqlite) but i've gone so far yet. You can do: py.test -D mysql://localhost/test sqlobject/tests There's also a -S and -O option for turning up the debugging (incoming=20 and outgoing values, respectively). --=20 Ian Bicking / ia...@co... / http://blog.ianbicking.org |
From: <Ben...@ri...> - 2005-09-27 07:47:33
|
Hi there, I am writing an application that uses sqlobject, and am slightly confused as to the recomendations for transactions. For the databases I use I normally run in at least repeatable read mode, where if, in a transaction, you run the same query twice you get the same result. Therefore it appears completely ok to cache any database access in a particular connection. The only sticking point I can see is at transaction end, but as long as I clear the cache then I should be ok, right? Turning cacheValues off seems to be such a pessimisation I would really like to avoid it if possible. I guess what I'm looking for is a less "proactive" mode, where reading an object causes its attributes to be set at that point (e.g when doing a select it does a "select all columns", and changing values is confirmed by the lazy updates mechanism, but no further caching is done. Is this possible? Cheers, Ben |
From: Victor Ng <cra...@gm...> - 2005-09-26 15:25:40
|
Success! thanks, vic On 9/26/05, Philippe Normand <ph...@ba...> wrote: > > Le lundi 26 septembre 2005 =E0 01:22 -0400, Victor Ng a =E9crit : > > Hi all, > > > > I've been using SQLObject since the bad old days of 0.5.4 and we're > > actually using a rewrite of it for a custom ERP system. > > > > There are a bunch of changes that I'd like to see if I can get merged > > back into the mainline trunk of SQLObject, but I'm having trouble with > > getting my tests to run. > > > > I think I've got all the dependencies sorted out - setuptools 0.6a4, > > pysqlite 2.0.4, py-dist from codespeak and sqlobject from the SVN > > trunk all seem to be installed properly. > > > > How do I get simple tests to run? > > > > First be sure to eval env.py (from dist-py) so that your PYTHONPATH and > friends are correctly set. > > Then go to sqlobject, if there's no data/ directory, create one (it will > contain the sqlite db and some other stuff). > > Then simply run py.test and cross the fingers :-) That's how i do... > There's probably one way to customize the db backend to use (instead of > sqlite) but i've gone so far yet. > > Philippe > > -- "Never attribute to malice that which can be adequately explained by stupidity." - Hanlon's Razor |