Mercurial > p > roundup > code
comparison test/test_mysql.py @ 4448:2784c239e6c8
clear the cache on commit for rdbms backends:
Don't carry over cached values from one transaction to the next (there
may be other changes from other transactions) see new ConcurrentDBTest
for a read-modify-update cycle that fails with the old caching
behavior.
| author | Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net> |
|---|---|
| date | Fri, 22 Oct 2010 14:14:26 +0000 |
| parents | 2eae5848912d |
| children | 34dce76bb202 |
comparison
equal
deleted
inserted
replaced
| 4447:9d37875416c3 | 4448:2784c239e6c8 |
|---|---|
| 21 | 21 |
| 22 from roundup.hyperdb import DatabaseError | 22 from roundup.hyperdb import DatabaseError |
| 23 from roundup.backends import get_backend, have_backend | 23 from roundup.backends import get_backend, have_backend |
| 24 | 24 |
| 25 from db_test_base import DBTest, ROTest, config, SchemaTest, ClassicInitTest | 25 from db_test_base import DBTest, ROTest, config, SchemaTest, ClassicInitTest |
| 26 from db_test_base import ConcurrentDBTest | |
| 26 | 27 |
| 27 | 28 |
| 28 class mysqlOpener: | 29 class mysqlOpener: |
| 29 if have_backend('mysql'): | 30 if have_backend('mysql'): |
| 30 module = get_backend('mysql') | 31 module = get_backend('mysql') |
| 61 ClassicInitTest.setUp(self) | 62 ClassicInitTest.setUp(self) |
| 62 def tearDown(self): | 63 def tearDown(self): |
| 63 ClassicInitTest.tearDown(self) | 64 ClassicInitTest.tearDown(self) |
| 64 self.nuke_database() | 65 self.nuke_database() |
| 65 | 66 |
| 67 class mysqlConcurrencyTest(mysqlOpener, ConcurrentDBTest): | |
| 68 backend = 'mysql' | |
| 69 def setUp(self): | |
| 70 mysqlOpener.setUp(self) | |
| 71 ClassicInitTest.setUp(self) | |
| 72 def tearDown(self): | |
| 73 ClassicInitTest.tearDown(self) | |
| 74 self.nuke_database() | |
| 75 | |
| 66 from session_common import RDBMSTest | 76 from session_common import RDBMSTest |
| 67 class mysqlSessionTest(mysqlOpener, RDBMSTest): | 77 class mysqlSessionTest(mysqlOpener, RDBMSTest): |
| 68 def setUp(self): | 78 def setUp(self): |
| 69 mysqlOpener.setUp(self) | 79 mysqlOpener.setUp(self) |
| 70 RDBMSTest.setUp(self) | 80 RDBMSTest.setUp(self) |
| 90 suite.addTest(unittest.makeSuite(mysqlDBTest)) | 100 suite.addTest(unittest.makeSuite(mysqlDBTest)) |
| 91 suite.addTest(unittest.makeSuite(mysqlROTest)) | 101 suite.addTest(unittest.makeSuite(mysqlROTest)) |
| 92 suite.addTest(unittest.makeSuite(mysqlSchemaTest)) | 102 suite.addTest(unittest.makeSuite(mysqlSchemaTest)) |
| 93 suite.addTest(unittest.makeSuite(mysqlClassicInitTest)) | 103 suite.addTest(unittest.makeSuite(mysqlClassicInitTest)) |
| 94 suite.addTest(unittest.makeSuite(mysqlSessionTest)) | 104 suite.addTest(unittest.makeSuite(mysqlSessionTest)) |
| 105 suite.addTest(unittest.makeSuite(mysqlConcurrencyTest)) | |
| 95 return suite | 106 return suite |
| 96 | 107 |
| 97 if __name__ == '__main__': | 108 if __name__ == '__main__': |
| 98 runner = unittest.TextTestRunner() | 109 runner = unittest.TextTestRunner() |
| 99 unittest.main(testRunner=runner) | 110 unittest.main(testRunner=runner) |
