33from git .test .lib import *
44import shutil
55import tempfile
6+ import logging
67
78from git .db import (
89GitCmdObjectDB ,
1819#} END invariants
1920
2021
21- #{ Utilities
22- def resolve_or_fail (env_var ):
23- """:return: resolved environment variable or raise EnvironmentError"""
24- try :
25- return os .environ [env_var ]
26- except KeyError :
27- raise EnvironmentError ("Please set the %r envrionment variable and retry" % env_var )
28- # END exception handling
29-
30- #} END utilities
31-
32-
3322#{ Base Classes
3423
3524class TestBigRepoR (TestBase ):
@@ -51,12 +40,19 @@ class TestBigRepoR(TestBase):
5140head_sha_50 = '32347c375250fd470973a5d76185cac718955fd5'
5241#} END invariants
5342
54- @classmethod
55- def setUp (cls ):
56- super (TestBigRepoR ,cls ).setUp ()
57- repo_path = resolve_or_fail (k_env_git_repo )
58- cls .gitrorepo = Repo (repo_path ,odbt = GitCmdObjectDB )
59- cls .puregitrorepo = Repo (repo_path ,odbt = GitDB )
43+ def setUp (self ):
44+ try :
45+ super (TestBigRepoR ,self ).setUp ()
46+ except AttributeError :
47+ pass
48+
49+ repo_path = os .environ .get (k_env_git_repo )
50+ if repo_path is None :
51+ logging .info ("You can set the %s environment variable to a .git repository of your choice - defaulting to the gitpython repository" ,k_env_git_repo )
52+ repo_path = os .path .dirname (__file__ )
53+ # end set some repo path
54+ self .gitrorepo = Repo (repo_path ,odbt = GitCmdObjectDB )
55+ self .puregitrorepo = Repo (repo_path ,odbt = GitDB )
6056
6157
6258class TestBigRepoRW (TestBigRepoR ):
@@ -65,16 +61,17 @@ class TestBigRepoRW(TestBigRepoR):
6561
6662 Provides ``self.gitrwrepo`` and ``self.puregitrwrepo``"""
6763
68- @classmethod
69- def setUp (cls ):
70- super (TestBigRepoRW ,cls ).setUp ()
64+ def setUp (self ):
65+ try :
66+ super (TestBigRepoRW ,self ).setUp ()
67+ except AttributeError :
68+ pass
7169dirname = tempfile .mktemp ()
7270os .mkdir (dirname )
73- cls .gitrwrepo = cls .gitrorepo .clone (dirname ,shared = True ,bare = True ,odbt = GitCmdObjectDB )
74- cls .puregitrwrepo = Repo (dirname ,odbt = GitDB )
71+ self .gitrwrepo = self .gitrorepo .clone (dirname ,shared = True ,bare = True ,odbt = GitCmdObjectDB )
72+ self .puregitrwrepo = Repo (dirname ,odbt = GitDB )
7573
76- @classmethod
77- def tearDownAll (cls ):
78- shutil .rmtree (cls .gitrwrepo .working_dir )
74+ def tearDown (self ):
75+ shutil .rmtree (self .gitrwrepo .working_dir )
7976
8077#} END base classes