def make_test_reports(force=False): tests_to_report = [] for repo in Repository.objects.all(): print "Making test report for %s (%s)" % (repo.name, repo.url) if repo.type == "git": backend = GitBackend(repo) elif repo.type == "svn": backend = SvnBackend(repo) elif repo.type == "hg": backend = MercurialBackend(repo) new_test = backend.make_report(force) if new_test and new_test.fail(): tests_to_report.append(new_test) for test in tests_to_report: repo = test.repository if repo.emails: emails = repo.emails.split(",") else: emails = EMAILS title = TITLE % repo.url message = render_to_string("djintegration/error_email.html", {"test": test}) send_mail(title, message, FROM, emails, fail_silently=True)
def test_backends(self): git = GitBackend("fake") log = open(TEST_DIR + "/gitlog.txt").read() self.assertEqual(git.get_commit(log), "0873bdde7f216304800fe1a22325cb60ee492f54") self.assertEqual(git.get_author(log), "Batiste Bieler <*****@*****.**>") svn = SvnBackend("fake") log = open(TEST_DIR + "/svninfo.txt").read() self.assertEqual(svn.get_commit(log), "466") self.assertEqual(svn.get_author(log), "sehmaschine") svn = MercurialBackend("fake") log = open(TEST_DIR + "/hglog.txt").read() self.assertEqual(svn.get_commit(log), "164:7bc186caa7dc") self.assertEqual(svn.get_author(log), "Tata Toto <*****@*****.**>")
def test_backends(self): git = GitBackend('fake') log = open(TEST_DIR+'/gitlog.txt').read() self.assertEqual(git.get_commit(log), '0873bdde7f216304800fe1a22325cb60ee492f54') self.assertEqual(git.get_author(log), 'Batiste Bieler <*****@*****.**>') svn = SvnBackend('fake') log = open(TEST_DIR+'/svninfo.txt').read() self.assertEqual(svn.get_commit(log), '466') self.assertEqual(svn.get_author(log), 'sehmaschine') svn = MercurialBackend('fake') log = open(TEST_DIR+'/hglog.txt').read() self.assertEqual(svn.get_commit(log), '164:7bc186caa7dc') self.assertEqual(svn.get_author(log), 'Tata Toto <*****@*****.**>')
def get_backend(repo): if repo.type == 'git': return GitBackend(repo) elif repo.type == 'svn': return SvnBackend(repo) elif repo.type == 'hg': return MercurialBackend(repo) raise NotImplementedError("Unsuppoted backend %s", repo.type)
def make_test_reports(): tests_to_report = [] for repo in Repository.objects.all(): print "Making test report for %s" % repo.url if repo.type == 'git': backend = GitBackend(repo) elif repo.type == 'svn': backend = SvnBackend(repo) elif repo.type == 'hg': backend = MercurialBackend(repo) new_test = backend.make_report() if new_test and new_test.fail(): tests_to_report.append(new_test) for test in tests_to_report: repo = test.repository if repo.emails: emails = repo.emails.split(',') else: emails = EMAILS title = TITLE % repo.url message = render_to_string('djintegration/error_email.html', {'test':test}) send_mail( title, message, FROM, emails, fail_silently=False )