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)
示例#2
0
    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 <*****@*****.**>")
示例#3
0
    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 <*****@*****.**>')
示例#4
0
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 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 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
        )