From 1909dc8888ee8f62c87b9b1bf026909ed7b710d2 Mon Sep 17 00:00:00 2001 From: percious17 Date: Tue, 2 Dec 2008 01:03:28 +0000 Subject: [PATCH] initial py.test removal. if you want to test, you must now: easy_install nose nosetests --- test/changeset/test_changeset.py | 5 ++++- test/fixture/base.py | 22 ++++++++++++++++++--- test/fixture/database.py | 31 +++++++++++++++++------------- test/versioning/test_database.py | 2 +- test/versioning/test_repository.py | 3 ++- 5 files changed, 44 insertions(+), 19 deletions(-) diff --git a/test/changeset/test_changeset.py b/test/changeset/test_changeset.py index c06a88f..75735c0 100644 --- a/test/changeset/test_changeset.py +++ b/test/changeset/test_changeset.py @@ -31,7 +31,10 @@ class TestAddDropColumn(fixture.DB): def tearDown(self): super(TestAddDropColumn,self).tearDown() if self.engine.has_table(self.table.name): - self.table.drop() + try: + self.table.drop() + except: + pass self.meta.clear() def run_(self,create_column_func,drop_column_func,*col_p,**col_k): diff --git a/test/fixture/base.py b/test/fixture/base.py index 8f97103..fb8ba19 100644 --- a/test/fixture/base.py +++ b/test/fixture/base.py @@ -1,5 +1,6 @@ #import unittest -from py.test import raises +#from py.test import raises +from nose.tools import raises class FakeTestCase(object): """Mimics unittest.testcase methods @@ -21,8 +22,23 @@ class FakeTestCase(object): assert x == y def assertNotEquals(self,x,y,doc=None): assert x != y - def assertRaises(self,error,func,*p,**k): - assert raises(error,func,*p,**k) + + def assertRaises(self, exceptions, func, *arg, **kw): + if not hasattr(exceptions, '__iter__'): + exceptions = (exceptions, ) + valid = ' or '.join([e.__name__ for e in exceptions]) + try: + func(*arg, **kw) + except exceptions: + pass + except: + raise + else: + message = "%s() did not raise %s" % (func.__name__, valid) + raise AssertionError(message) + + #def assertRaises(self,error,func,*p,**k): + # assert raises(error,func,*p,**k) def assertEqualsIgnoreWhitespace(self, v1, v2): def createLines(s): diff --git a/test/fixture/database.py b/test/fixture/database.py index 574c6cc..fd645d2 100644 --- a/test/fixture/database.py +++ b/test/fixture/database.py @@ -57,20 +57,25 @@ def usedb(supported=None,not_supported=None): urls = DB.urls urls = [url for url in urls if is_supported(url,supported,not_supported)] - def entangle(func): - def run(self,*p,**k): + def dec(func): + def entangle(self): for url in urls: - def run_one(): - self._connect(url) - self.setup_method(func) - try: - func(self,*p,**k) - finally: - self.teardown_method(func) - self._disconnect() - yield run_one - return run - return entangle + self._connect(url) + self.setup_method(func) + yield func, self + self._disconnect() + self.teardown_method(func) + + #[self.setup_method(func) + #try: + # r = func(self) + #finally: + # self.teardown_method(func) + # self._disconnect() + #yield r + entangle.__name__ = func.__name__ + return entangle + return dec class DB(Base): # Constants: connection level diff --git a/test/versioning/test_database.py b/test/versioning/test_database.py index d54a106..9b1b35f 100644 --- a/test/versioning/test_database.py +++ b/test/versioning/test_database.py @@ -1,4 +1,4 @@ -from sqlalchemy import * +from sqlalchemy import select from test import fixture class TestConnect(fixture.DB): diff --git a/test/versioning/test_repository.py b/test/versioning/test_repository.py index 9c2a439..4f348b4 100644 --- a/test/versioning/test_repository.py +++ b/test/versioning/test_repository.py @@ -31,6 +31,7 @@ class TestRepository(fixture.Pathed): self.assert_(repos.config.get('db_settings','version_table')) # version_table's default isn't none self.assertNotEquals(repos.config.get('db_settings','version_table'),'None') + from nose.tools import raises def test_load_notfound(self): """Nonexistant repositories shouldn't be loaded""" @@ -50,7 +51,7 @@ class TestRepository(fixture.Pathed): class TestVersionedRepository(fixture.Pathed): """Tests on an existing repository with a single python script""" script_cls = script.PythonScript - def setUp(self): + def setup(self): Repository.clear() self.path_repos=self.tmp_repos() # Create repository, script