コード例 #1
0
ファイル: svn_hooks_test.py プロジェクト: nagyist/agilo
 def _testPreCommit(self):
     """Tests the pre commit hook validation"""
     wrong_log = "This ticket doesn't exists, close #cacca and #9999, see #9999"
     aprec = AgiloSVNPreCommit(project=self.teh.get_env_path(),
                               log=wrong_log,
                               env=self.teh.get_env())
     try:
         aprec.execute()
         self.fail()
     except Exception, e:
         #print "Error <%s>: %s" % (e.__class__.__name__, str(e))
         self.assertTrue(len(str(e)) > 0)
コード例 #2
0
def main(argv=None):
    if argv is None:
        argv = sys.argv
    try:
        env = log = rev = repo = None
        hook = 'pre'
        try:
            opts, args = getopt.getopt(
                argv[1:], "he:l:s:r:R:",
                ["help", "env=", "svn_hook=", "log=", "rev=", "repo="])
        except getopt.error, msg:
            raise Usage(msg)

        # option processing
        for option, value in opts:
            if option in ("-h", "--help"):
                raise Usage(help_message)
            if option in ("-e", "--env"):
                env = str(value)
            if option in ("-l", "--log"):
                log = unicode(value)
            if option in ("-s", "--svn_hook"):
                if value == 'post':
                    hook = value
            if option in ("-r", "--rev"):
                rev = value
            if option in ("-R", "--repo"):
                repo = value
        if (env is None or log is None) and (hook == 'post' and rev is None):
            raise Usage(help_message)
        else:
            if hook == 'pre':
                agilo_hook = AgiloSVNPreCommit(project=env, log=log)
            else:
                agilo_hook = AgiloSVNPostCommit(project=env,
                                                rev=rev,
                                                reponame=repo)
            try:
                if agilo_hook.execute():
                    return 0
            except Exception, e:
                print >> sys.stderr, str(e)
                return 2