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 . foo
Subject: Re: [pdf-devel] make syntax-check
Date: Wed, 03 Sep 2008 14:56:13 -0700 (PDT)


BTW, Small typo fix, sorry,

###
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/
# testament_sha1: c9813b62f548cf3a2abdf1c1a4e5bc80e78ed08e
# timestamp: 2008-09-03 18:49:45 -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:48:53 +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(fails) > 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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

###

-gerel




reply via email to

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