diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2011-07-08 10:28:17 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2011-07-08 10:28:17 +0200 |
commit | 16a13276f26e2b4b0cad35c66a527bb8d128d587 (patch) | |
tree | 024ce184c93631698439623dc410c6701a1c971b /git/test | |
parent | 023dc1244c02d415bb964eeb0b51b257523897df (diff) | |
download | gitpython-16a13276f26e2b4b0cad35c66a527bb8d128d587.tar.gz |
Added basic frame for pygit2 - it just needs some basic methods to be implemented now - depending on the performance, it might actually receive some more work
Diffstat (limited to 'git/test')
-rw-r--r-- | git/test/db/dulwich/test_base.py | 3 | ||||
-rw-r--r-- | git/test/db/pygit2/__init__.py | 4 | ||||
-rw-r--r-- | git/test/db/pygit2/lib.py | 23 | ||||
-rw-r--r-- | git/test/db/pygit2/test_base.py | 32 | ||||
-rw-r--r-- | git/test/performance/db/test_looseodb_dulwich.py | 9 | ||||
-rw-r--r-- | git/test/performance/db/test_looseodb_pygit2.py | 13 | ||||
-rw-r--r-- | git/test/performance/db/test_odb_dulwich.py | 9 | ||||
-rw-r--r-- | git/test/performance/db/test_odb_pygit2.py | 13 |
8 files changed, 102 insertions, 4 deletions
diff --git a/git/test/db/dulwich/test_base.py b/git/test/db/dulwich/test_base.py index 50e64131..78416518 100644 --- a/git/test/db/dulwich/test_base.py +++ b/git/test/db/dulwich/test_base.py @@ -20,7 +20,7 @@ else: #END handle imports -class TestPyDBBase(RepoBase): +class TestDulwichDBBase(RepoBase): __metaclass__ = DulwichRequiredMetaMixin RepoCls = DulwichDB @@ -28,6 +28,5 @@ class TestPyDBBase(RepoBase): @with_rw_repo('HEAD', bare=False) def test_basics(self, rw_repo): db = DulwichDB(rw_repo.working_tree_dir) - print db.git_dir diff --git a/git/test/db/pygit2/__init__.py b/git/test/db/pygit2/__init__.py new file mode 100644 index 00000000..8a681e42 --- /dev/null +++ b/git/test/db/pygit2/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors +# +# This module is part of GitDB and is released under +# the New BSD License: http://www.opensource.org/licenses/bsd-license.php diff --git a/git/test/db/pygit2/lib.py b/git/test/db/pygit2/lib.py new file mode 100644 index 00000000..356df9dc --- /dev/null +++ b/git/test/db/pygit2/lib.py @@ -0,0 +1,23 @@ +"""pygit2 specific utilities, as well as all the default ones""" + +from git.test.lib import ( + InheritedTestMethodsOverrideWrapperMetaClsAutoMixin, + needs_module_or_skip + ) + +__all__ = ['needs_pygit2_or_skip', 'Pygit2RequiredMetaMixin'] + +#{ Decoorators + +def needs_pygit2_or_skip(func): + """Skip this test if we have no pygit2 - print warning""" + return needs_module_or_skip('pygit2')(func) + +#}END decorators + +#{ MetaClasses + +class Pygit2RequiredMetaMixin(InheritedTestMethodsOverrideWrapperMetaClsAutoMixin): + decorator = [needs_pygit2_or_skip] + +#} END metaclasses diff --git a/git/test/db/pygit2/test_base.py b/git/test/db/pygit2/test_base.py new file mode 100644 index 00000000..246a1643 --- /dev/null +++ b/git/test/db/pygit2/test_base.py @@ -0,0 +1,32 @@ +# Copyright (C) 2010, 2011 Sebastian Thiel (byronimo@gmail.com) and contributors +# +# 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 + + + +try: + import pygit2 +except ImportError: + # om this case, all other pygit2 tests will be skipped + # Need to properly initialize the class though, otherwise it would fail + from git.db.complex import PureCompatibilityGitDB as Pygit2DB +else: + # now we know pygit2 is available, to do futher imports + from git.db.pygit2.complex import Pygit2CompatibilityGitDB as Pygit2DB + +#END handle imports + +class TestPyGit2DBBase(RepoBase): + __metaclass__ = Pygit2RequiredMetaMixin + RepoCls = Pygit2DB + + @needs_pygit2_or_skip + @with_rw_repo('HEAD', bare=False) + def test_basics(self, rw_repo): + db = Pygit2DB(rw_repo.working_tree_dir) + + diff --git a/git/test/performance/db/test_looseodb_dulwich.py b/git/test/performance/db/test_looseodb_dulwich.py index cf27a528..e123ebf1 100644 --- a/git/test/performance/db/test_looseodb_dulwich.py +++ b/git/test/performance/db/test_looseodb_dulwich.py @@ -1,6 +1,13 @@ -from git.db.dulwich.complex import DulwichGitODB +try: + from git.db.dulwich.complex import DulwichGitODB +except ImportError: + from git.db.py.complex import PureGitODB as DulwichGitODB +#END handle import + +from git.test.db.dulwich.lib import DulwichRequiredMetaMixin from looseodb_impl import TestLooseDBWPerformanceBase class TestPureLooseDB(TestLooseDBWPerformanceBase): + __metaclass__ = DulwichRequiredMetaMixin LooseODBCls = DulwichGitODB diff --git a/git/test/performance/db/test_looseodb_pygit2.py b/git/test/performance/db/test_looseodb_pygit2.py new file mode 100644 index 00000000..326af9fb --- /dev/null +++ b/git/test/performance/db/test_looseodb_pygit2.py @@ -0,0 +1,13 @@ +try: + from git.db.pygit2.complex import Pygit2GitODB +except ImportError: + from git.db.py.complex import PureGitODB as Pygit2GitODB +#END handle import + +from git.test.db.pygit2.lib import Pygit2RequiredMetaMixin +from looseodb_impl import TestLooseDBWPerformanceBase + +class TestPureLooseDB(TestLooseDBWPerformanceBase): + __metaclass__ = Pygit2RequiredMetaMixin + LooseODBCls = Pygit2GitODB + diff --git a/git/test/performance/db/test_odb_dulwich.py b/git/test/performance/db/test_odb_dulwich.py index 069c5b43..aa886e08 100644 --- a/git/test/performance/db/test_odb_dulwich.py +++ b/git/test/performance/db/test_odb_dulwich.py @@ -1,6 +1,13 @@ -from git.db.dulwich.complex import DulwichCompatibilityGitDB +try: + from git.db.dulwich.complex import DulwichCompatibilityGitDB +except ImportError: + from git.db.complex import PureCompatibilityGitDB as DulwichCompatibilityGitDB +#END handle dulwich compatibility + +from git.test.db.dulwich.lib import DulwichRequiredMetaMixin from odb_impl import TestObjDBPerformanceBase class TestPureDB(TestObjDBPerformanceBase): + __metaclass__ = DulwichRequiredMetaMixin RepoCls = DulwichCompatibilityGitDB diff --git a/git/test/performance/db/test_odb_pygit2.py b/git/test/performance/db/test_odb_pygit2.py new file mode 100644 index 00000000..aa886e08 --- /dev/null +++ b/git/test/performance/db/test_odb_pygit2.py @@ -0,0 +1,13 @@ +try: + from git.db.dulwich.complex import DulwichCompatibilityGitDB +except ImportError: + from git.db.complex import PureCompatibilityGitDB as DulwichCompatibilityGitDB +#END handle dulwich compatibility + +from git.test.db.dulwich.lib import DulwichRequiredMetaMixin +from odb_impl import TestObjDBPerformanceBase + +class TestPureDB(TestObjDBPerformanceBase): + __metaclass__ = DulwichRequiredMetaMixin + RepoCls = DulwichCompatibilityGitDB + |