Much needed utility. Thanks Tucu! On Fri, Aug 17, 2012 at 10:04 AM, Alejandro Abdelnur <[email protected]>wrote:
> I've spent a bit of time yesterday putting together some pieces for a > test-patch infrastructure for Oozie. > > I've added to trunk/bin a set of 'test-patch' scripts. > > Before going into more details let me show a sample run: > > > ****************************************************************************************************************** > bin/test-patch --patch=/tmp/OOZIE-477.patch > > Testing patch /tmp/OOZIE-477.patch > > Pre patch > Running test task RAW_PATCH_ANALYSIS > Running test task COMPILE > Running test task TESTS > > Patch applied > > Post patch > Running test task RAW_PATCH_ANALYSIS > Running test task COMPILE > Running test task TESTS > > Reports > Running test task RAW_PATCH_ANALYSIS > Running test task COMPILE > Running test task TESTS > > > Testing patch /tmp/OOZIE-477.patch > > ---------------------------- > > +1 PATCH_APPLIES > +1 RAW_PATCH_ANALYSIS > +1 the patch does not introduce any @author tags > +1 the patch does not introduce any tabs > +1 the patch does not introduce any trailing spaces > +1 the patch does not introduce any line longer than 132 > +1 COMPILE > +1 TESTS > > ---------------------------- > > > Refer to /Users/tucu/src/apache/oozie/svn/trunk0/test-patch/reports for > detailed test-patch reports > $ > > ****************************************************************************************************************** > > The user entry point is the 'test-patch' script: > > ---- > $ bin/test-patch > > Either --jira or --patch options must be specified > > Usage: bin/test-patch (--jira=<JIRA ISSUE> | --patch=<PATCH PATH>) > [--debug] [--tasks=<TASK,...>] [--no-cleanup] > ---- > > You must run test-patch from the root of trunk, both GIT and SVN workspaces > are supported. > > IMPORTANT: test-patch resets all local changes, so make sure you have > everything saved/stashed before running. > > Using --jira=OOZIE-### will download the latest available patch and then > run test-patch on it. > > Using --patch=PATCH_PATH will use a a patch locally available instead > downloading it from JIRA. > > The other scripts are test-patch tasks, and they are invoked in turn by > test-patch using a mechanism similar to Unix rc files (the filter is > 'test-patch-##-', they are sorted and invoked in order). They are invoked 3 > times, once before the patch is applied, once after the patch is applied, > once more to generate any final report. > > Currently there are 3 test-patch tasks: RAW_PATCH_ANALYSIS, COMPILE, TEST. > Overtime we can add more like JAVAC_WARNINGS, JAVADOC_WARNINGS, FINDBUGS > ,CHECKSTYLE, etc, etc. > > I've also created a Jenkins job that runs test-patch when invoked via an > URL, https://builds.apache.org/job/oozie-trunk-precommit-build/ , you can > see a full run in build #6. > > What is left now is creating a second Jenkins job that will query JIRA for > new patches available and it will submit them to the precommit job above. > > I'll work on that over the next few days. > > I'll also make sure all this is properly documented (most likely in the > wiki) > > If OK with the community, while the changes only involve test-patch files > under bin/ I'll just commit them (I need them committed to get Jenkins to > use them). > > Feedback appreciate it. > > And you can start using it for testing your patches locally before > uploading it to JIRA or ReviewBoard. > > Thxs > -- > Alejandro > -- Regards, Venkatesh Phone: (408) 658-8368 EMail: [email protected] http://in.linkedin.com/in/seetharamvenkatesh http://about.me/SeetharamVenkatesh “Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.” - Antoine de Saint-Exupéry
