pdf-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pdf-devel] make syntax-check


From: gerel
Subject: Re: [pdf-devel] make syntax-check
Date: Wed, 03 Sep 2008 14:33:23 -0700 (PDT)

I forgot here is the merge patch,

##
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/
# testament_sha1: 38861c0e59bd841fc9eaa478f5b87dd3ae961417
# timestamp: 2008-09-03 18:29:12 -0300
# base_revision_id: address@hidden
# 
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog   2008-08-28 23:56:07 +0000
+++ ChangeLog   2008-09-03 21:28:20 +0000
@@ -1,3 +1,9 @@
+2008-09-03  Gerardo E. Gidoni  <address@hidden>
+
+       * doc/gnupdf-hg.texi: added section for the patch-safety-dispatcher.
+       
+       * prmgt/patch_safety_dispatcher.py: first commit.
+
 2008-08-29  Jose E. Marchesi  <address@hidden>
 
        * doc/gnupdf-hg.texi (Syntax Check): New section.

=== modified file 'doc/gnupdf-hg.texi'
--- doc/gnupdf-hg.texi  2008-08-28 23:56:07 +0000
+++ doc/gnupdf-hg.texi  2008-09-03 21:28:20 +0000
@@ -181,9 +181,43 @@
 integrated in the trunk.
 
 @menu
+* Patch Safety Dispatcher::
 * Syntax Check::
 @end menu
 
address@hidden Patch Safety Dispatcher
address@hidden Patch Safety Dispatcher
+
+Before sending a patch to the list to be included in the trunk you should run
+the patch safety dispatcher, which is a script that runs a few more scripts,
+like the syntax check mentioned in this chapter.
+
+In fact, the Patch Safety Dispatcher is a bzr plugin that is run before a
+commit is applied to your working copy.
+In order to execute it you need to tell bzr where the plugin is
+located. There are two ways to do it:
+
+1. Copy the script located in ``prmgt/patch-safety-dispatcher.py'' at
+the projects root directory to your bazaar plugins directory
+``~/.bazaar/plugins''.
+
+2. Add the ``prmgt'' directory to the BZR_PLUGIN_PATH variable. For
+example, doing ``export BZR_PLUGIN_PATH=/your/path/to/libgnupdf/prmgt''
+(alternatively you can add it to your ~/.bashrc).
+
+After telling bzr where your plugins are, you can test it doing: ``bzr
+hooks'' (from the projects root directory) . You should find it in the
+list as ``Patch safety scripts hook'' in the pre_commit section.
+
+That's all. Now when you do a ``bzr commit'' a small report will tell if
+your patch is correct in terms of the QA scripts we run daily.
+If it is the commit will be applied, otherwise it won't.
+
+NOTE: Make sure you run ``bzr commit'' from your working copy root
+directory.  Bazaar will fail with some error or don't even run the
+script otherwise. Until now we have no solution for this problem.
+
+
 @node Syntax Check
 @section Syntax Check
 

=== added file 'prmgt/patch_safety_dispatcher.py'
--- prmgt/patch_safety_dispatcher.py    1970-01-01 00:00:00 +0000
+++ prmgt/patch_safety_dispatcher.py    2008-09-03 21:28:20 +0000
@@ -0,0 +1,51 @@
+# patch-safety-dispatcher.py
+#
+# This script runs other QA scripts like the test suite and a syntax check
+# conforming to GCS.
+# This script is intended to be imported by 'bzr' and executed before
+# a commit is done. ('pre_commit' time in bzr terms)
+###
+
+# Copyright (C) 2008 Free Software Foundation, Inc
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+from bzrlib import branch
+from bzrlib import errors
+import os
+
+script_cmds = ['make syntax-check', 'make check']
+
+def pre_commit_hook(local, master, old_revno, old_revid,
+                   future_revno, future_revid, tree_delta, future_tree):
+   success, fails = ([],[])
+   for c in script_cmds:
+       if (os.system(c) != 0):
+           fails.append(c)
+       else:
+           success.append(c)
+   print "\n### Patch safety report ###"
+   for s in success:
+       print ">>> " + s + ": Succeeded"
+   for f in fails:
+       print ">>> " + f + ": Failed !!"
+   if len(f) > 0:
+       raise errors.BzrError("One or more scripts failed, fix the patch,"
+                             " lazy!!\nNote: commit is not applied.")
+   else:
+       print "All tests succeeded, patch is safe.\n"
+
+branch.Branch.hooks.install_named_hook('pre_commit', pre_commit_hook,
+                                'Patch safety scripts hook')

# Begin bundle
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

###


cheers

-gerel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]