Changeset 266
- Timestamp:
- 01/27/09 19:45:47
- Files:
-
- trunk/geniusql/providers/mysql.py (modified) (1 diff)
- trunk/geniusql/test/test.py (modified) (3 diffs)
- trunk/geniusql/test/test_mysql_modeling.py (added)
- trunk/geniusql/test/zoo_fixture.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/geniusql/providers/mysql.py
r264 r266 777 777 args = [x.strip() for x in args.split(",")] 778 778 dbtype.precision, dbtype.scale = map(int, args) 779 elif isinstance(dbtype, VARCHAR): 780 # This is an ENUM. Strip quotes. 781 args = [x.strip().strip("'\"") for x in args.split(",")] 782 dbtype.enum_values = args 783 dbtype.bytes = 1 784 if len(args) > 255: 785 dbtype.bytes = 2 779 786 else: 780 787 dbtype.bytes = int(args) trunk/geniusql/test/test.py
r247 r266 1 import datetime 1 2 import getopt 2 3 import os … … 4 5 import sys 5 6 import unittest 7 8 import geniusql 6 9 7 10 … … 197 200 198 201 202 class Provider(object): 203 204 db = None 205 schema = None 206 logname = os.path.join(localDir, "geniusqltest.log") 207 208 def geniusqllog(self, message): 209 """Geniusql logger (writes to error.log).""" 210 if isinstance(message, unicode): 211 message = message.encode('utf8') 212 s = "%s %s" % (datetime.datetime.now().isoformat(), message) 213 f = open(self.logname, 'ab') 214 f.write(s + '\n') 215 f.close() 216 217 def setup(self, provider, opts): 218 """Set up storage for Zoo classes.""" 219 self.db = geniusql.db(provider, **opts) 220 self.db.log = self.geniusqllog 221 print self.db.version() 222 self.db.create() 223 224 self.schema = self.db.schema() 225 self.schema.create() 226 227 def teardown(self): 228 """Tear down storage for Zoo classes.""" 229 try: 230 self.schema.drop() 231 except (AttributeError, NotImplementedError): 232 pass 233 try: 234 self.db.drop() 235 except (AttributeError, NotImplementedError): 236 pass 237 self.db.connections.shutdown() 238 239 199 240 def run(): 200 241 testList = [ trunk/geniusql/test/zoo_fixture.py
r259 r266 2 2 3 3 import datetime 4 import os5 thisdir = os.path.dirname(__file__)6 logname = os.path.join(thisdir, "geniusqltest.log")7 4 8 5 … … 22 19 import geniusql 23 20 from geniusql import errors, typerefs 24 from geniusql.test import tools 21 from geniusql.test import tools, test 25 22 26 23 from geniusql import logic, logicfuncs … … 1534 1531 ## self.arena.rename_property(Animal, "Species", "Family") 1535 1532 1536 1537 1533 db = None 1538 1534 schema = None 1539 1535 1540 def _geniusqllog(message):1541 """Geniusql logger (writes to error.log)."""1542 if isinstance(message, unicode):1543 message = message.encode('utf8')1544 s = "%s %s" % (datetime.datetime.now().isoformat(), message)1545 f = open(logname, 'ab')1546 f.write(s + '\n')1547 f.close()1548 1549 def setup(provider, opts):1550 """Set up storage for Zoo classes."""1551 global db, schema1552 db = geniusql.db(provider, **opts)1553 db.log = _geniusqllog1554 print db.version()1555 db.create()1556 1557 schema = db.schema()1558 schema.create()1559 1560 def teardown():1561 """Tear down storage for Zoo classes."""1562 try:1563 schema.drop()1564 except (AttributeError, NotImplementedError):1565 pass1566 try:1567 db.drop()1568 except (AttributeError, NotImplementedError):1569 pass1570 db.connections.shutdown()1571 1536 1572 1537 def run(DB_class, opts): … … 1575 1540 1576 1541 try: 1577 try: 1578 setup(DB_class, opts) 1542 provider = test.Provider() 1543 try: 1544 provider.setup(DB_class, opts) 1545 global db, schema 1546 db = provider.db 1547 schema = provider.schema 1579 1548 loader = unittest.TestLoader().loadTestsFromTestCase 1580 1549 … … 1602 1571 if opts.get('name') != ':memory:' and 'isolation' not in skiptests: 1603 1572 tools.TestRunner.run(loader(IsolationTests)) 1604 1605 ## tools.TestRunner.run(loader(DiscoveryTests))1606 1573 except: 1607 1574 traceback.print_exc() 1608 1575 finally: 1609 teardown()1576 provider.teardown()
