summaryrefslogtreecommitdiff
path: root/git/test/db
diff options
context:
space:
mode:
Diffstat (limited to 'git/test/db')
-rw-r--r--git/test/db/base.py6
-rw-r--r--git/test/db/dulwich/lib.py7
-rw-r--r--git/test/db/dulwich/test_base.py22
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
+