def test_gitrepo(self): """Test using GitRepository.""" # only run this test if git Python module is available try: from git import GitCommandError except ImportError: print "(skipping GitRepository test)" return test_repo_url = 'https://github.com/hpcugent/testrepository' # URL repo = GitRepository(test_repo_url) repo.init() self.assertEqual(os.path.basename(repo.wc), 'testrepository') self.assertTrue(os.path.exists(os.path.join(repo.wc, 'README.md'))) shutil.rmtree(repo.wc) # filepath tmpdir = tempfile.mkdtemp() cmd = "cd %s && git clone --bare %s" % (tmpdir, test_repo_url) _, ec = run_cmd(cmd, simple=False, log_all=False, log_ok=False) # skip remainder of test if creating bare git repo didn't work if ec == 0: repo = GitRepository(os.path.join(tmpdir, 'testrepository.git')) repo.init() toy_ec_file = os.path.join(os.path.dirname(__file__), 'easyconfigs', 'toy-0.0.eb') repo.add_easyconfig(toy_ec_file, 'test', '1.0', {}, False) shutil.rmtree(repo.wc) shutil.rmtree(tmpdir)
class RepositoryTest(EnhancedTestCase): """ very basis FileRepository test, we don't want git / svn dependency """ def setUp(self): """Set up test.""" super(RepositoryTest, self).setUp() self.path = tempfile.mkdtemp(prefix='easybuild-repo-') shutil.rmtree(self.path, True) def test_filerepo(self): """Test using FileRepository.""" repo = FileRepository(self.path) repo.init() self.assertEqual(repo.wc, self.path) subdir = 'sub/dir' repo = FileRepository(self.path, subdir) repo.init() self.assertEqual(repo.wc, self.path) self.assertEqual(repo.subdir, subdir) def test_gitrepo(self): """Test using GitRepository.""" # only run this test if git Python module is available try: from git import GitCommandError except ImportError: print "(skipping GitRepository test)" return test_repo_url = 'https://github.com/hpcugent/testrepository' # URL repo = GitRepository(test_repo_url) try: repo.init() self.assertEqual(os.path.basename(repo.wc), 'testrepository') self.assertTrue(os.path.exists(os.path.join(repo.wc, 'README.md'))) shutil.rmtree(repo.wc) except EasyBuildError, err: print "ignoring failed subtest in test_gitrepo, testing offline?" self.assertTrue( re.search("pull in working copy .* went wrong", str(err))) # filepath tmpdir = tempfile.mkdtemp() cmd = "cd %s && git clone --bare %s" % (tmpdir, test_repo_url) _, ec = run_cmd(cmd, simple=False, log_all=False, log_ok=False) # skip remainder of test if creating bare git repo didn't work if ec == 0: repo = GitRepository(os.path.join(tmpdir, 'testrepository.git')) repo.init() toy_ec_file = os.path.join(os.path.dirname(__file__), 'easyconfigs', 'toy-0.0.eb') repo.add_easyconfig(toy_ec_file, 'test', '1.0', {}, False) shutil.rmtree(repo.wc) shutil.rmtree(tmpdir)
def test_gitrepo(self): """Test using GitRepository.""" # only run this test if git Python module is available try: from git import GitCommandError except ImportError: print "(skipping GitRepository test)" return test_repo_url = 'https://github.com/hpcugent/testrepository' # URL repo = GitRepository(test_repo_url) try: repo.init() self.assertEqual(os.path.basename(repo.wc), 'testrepository') self.assertTrue(os.path.exists(os.path.join(repo.wc, 'README.md'))) shutil.rmtree(repo.wc) except EasyBuildError, err: print "ignoring failed subtest in test_gitrepo, testing offline?" self.assertTrue(re.search("pull in working copy .* went wrong", str(err)))
def test_gitrepo(self): """Test using GitRepository.""" # only run this test if git Python module is available try: from git import GitCommandError # noqa except ImportError: print("(skipping GitRepository test)") return test_repo_url = 'https://github.com/easybuilders/testrepository' # URL repo = GitRepository(test_repo_url) try: repo.init() self.assertEqual(os.path.basename(repo.wc), 'testrepository') self.assertTrue(os.path.exists(os.path.join(repo.wc, 'README.md'))) shutil.rmtree(repo.wc) except EasyBuildError as err: print("ignoring failed subtest in test_gitrepo, testing offline?") self.assertTrue( re.search("pull in working copy .* went wrong", str(err))) # filepath tmpdir = tempfile.mkdtemp() cmd = "cd %s && git clone --bare %s" % (tmpdir, test_repo_url) _, ec = run_cmd(cmd, simple=False, log_all=False, log_ok=False) # skip remainder of test if creating bare git repo didn't work if ec == 0: repo = GitRepository(os.path.join(tmpdir, 'testrepository.git')) repo.init() toy_ec_file = os.path.join(os.path.dirname(__file__), 'easyconfigs', 'test_ecs', 't', 'toy', 'toy-0.0.eb') repo.add_easyconfig(toy_ec_file, 'test', '1.0', {}, None) repo.commit("toy/0.0") log_regex = re.compile( r"toy/0.0 with EasyBuild v%s @ .* \(time: .*, user: .*\)" % VERSION, re.M) logmsg = repo.client.log('HEAD^!') self.assertTrue( log_regex.search(logmsg), "Pattern '%s' found in %s" % (log_regex.pattern, logmsg)) shutil.rmtree(repo.wc) shutil.rmtree(tmpdir)