diff options
Diffstat (limited to 'git/test/db')
-rw-r--r-- | git/test/db/base.py | 6 | ||||
-rw-r--r-- | git/test/db/dulwich/lib.py | 7 | ||||
-rw-r--r-- | git/test/db/dulwich/test_base.py | 22 |
3 files changed, 28 insertions, 7 deletions
diff --git a/git/test/db/base.py b/git/test/db/base.py index 5291ba03..7016afb7 100644 --- a/git/test/db/base.py +++ b/git/test/db/base.py @@ -613,8 +613,14 @@ class RepoBase(TestDBBase): def test_submodule_update(self, rwrepo): # fails in bare mode rwrepo._bare = True + # special handling: there are repo implementations which have a bare attribute. IN that case, set it directly + if not rwrepo.bare: + rwrepo.bare = True self.failUnlessRaises(InvalidGitRepositoryError, rwrepo.submodule_update) rwrepo._bare = False + if rwrepo.bare: + rwrepo.bare = False + #END special repo handling # test create submodule sm = rwrepo.submodules[0] diff --git a/git/test/db/dulwich/lib.py b/git/test/db/dulwich/lib.py index a1110ffa..56734064 100644 --- a/git/test/db/dulwich/lib.py +++ b/git/test/db/dulwich/lib.py @@ -1,6 +1,11 @@ """dulwich specific utilities, as well as all the default ones""" -from git.test.lib import * +from git.test.lib import ( + InheritedTestMethodsOverrideWrapperMetaClsAutoMixin, + needs_module_or_skip + ) + +__all__ = ['needs_dulwich_or_skip', 'DulwichRequiredMetaMixin'] #{ Decoorators diff --git a/git/test/db/dulwich/test_base.py b/git/test/db/dulwich/test_base.py index 9bc9c394..50e64131 100644 --- a/git/test/db/dulwich/test_base.py +++ b/git/test/db/dulwich/test_base.py @@ -3,21 +3,31 @@ # This module is part of GitDB and is released under # the New BSD License: http://www.opensource.org/licenses/bsd-license.php from lib import * +from git.test.lib import TestBase, with_rw_repo from git.test.db.base import RepoBase -from git.db.complex import PureCompatibilityGitDB + + try: import dulwich except ImportError: # om this case, all other dulwich tests will be skipped - pass + # Need to properly initialize the class though, otherwise it would fail + from git.db.complex import PureCompatibilityGitDB as DulwichDB +else: + # now we know dulwich is available, to do futher imports + from git.db.dulwich.complex import DulwichCompatibilityGitDB as DulwichDB + +#END handle imports class TestPyDBBase(RepoBase): __metaclass__ = DulwichRequiredMetaMixin - RepoCls = PureCompatibilityGitDB + RepoCls = DulwichDB @needs_dulwich_or_skip - def test_basics(self): - import dulwich - pass + @with_rw_repo('HEAD', bare=False) + def test_basics(self, rw_repo): + db = DulwichDB(rw_repo.working_tree_dir) + print db.git_dir + |