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)
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