[ https://issues.apache.org/jira/browse/KAFKA-1856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joe Stein updated KAFKA-1856: ----------------------------- Attachment: KAFKA-1845.result.txt really cool, just tried this out {code} python dev-utils/test-patch.py --defect KAFKA-1845 --output patch-process --run-tests {code} which I think once this is in the jenkins build would have shown up on the KAFKA-1845 ticket as Testing file [KAFKA-1845_2015-02-08_17%3A05%3A22.patch|https://issues.apache.org/jira/secure/attachment/12697336/KAFKA-1845_2015-02-08_17%3A05%3A22.patch] against branch trunk took 0:31:28.393900. {color:green}Overall:{color} +1 all checks pass {color:green}SUCCESS:{color} Gradle bootstrap was successful {color:green}SUCCESS:{color} Clean was successful {color:green}SUCCESS:{color} Patch applied, but there has been warnings: {code}<stdin>:233: space before tab in indent. if (trimmed.equalsIgnoreCase("true")) <stdin>:234: space before tab in indent. return true; <stdin>:235: space before tab in indent. else if (trimmed.equalsIgnoreCase("false")) <stdin>:236: space before tab in indent. return false; <stdin>:237: space before tab in indent. else warning: squelched 1 whitespace error warning: 6 lines add whitespace errors. {code} {color:green}SUCCESS:{color} Patch add/modify test case {color:green}SUCCESS:{color} Gradle bootstrap was successful {color:green}SUCCESS:{color} Patch compiled {color:green}SUCCESS:{color} Checked style for Main {color:green}SUCCESS:{color} Checked style for Test {color:green}SUCCESS:{color} All unit tests passed This message is automatically generated. > Add PreCommit Patch Testing > --------------------------- > > Key: KAFKA-1856 > URL: https://issues.apache.org/jira/browse/KAFKA-1856 > Project: Kafka > Issue Type: Task > Reporter: Ashish Kumar Singh > Assignee: Ashish Kumar Singh > Attachments: KAFKA-1845.result.txt, KAFKA-1856.patch, > KAFKA-1856_2015-01-18_21:43:56.patch, KAFKA-1856_2015-02-04_14:57:05.patch, > KAFKA-1856_2015-02-04_15:44:47.patch > > > h1. Kafka PreCommit Patch Testing - *Don't wait for it to break* > h2. Motivation > *With great power comes great responsibility* - Uncle Ben. As Kafka user list > is growing, mechanism to ensure quality of the product is required. Quality > becomes hard to measure and maintain in an open source project, because of a > wide community of contributors. Luckily, Kafka is not the first open source > project and can benefit from learnings of prior projects. > PreCommit tests are the tests that are run for each patch that gets attached > to an open JIRA. Based on tests results, test execution framework, test bot, > +1 or -1 the patch. Having PreCommit tests take the load off committers to > look at or test each patch. > h2. Tests in Kafka > h3. Unit and Integraiton Tests > [Unit and Integration > tests|https://cwiki.apache.org/confluence/display/KAFKA/Kafka+0.9+Unit+and+Integration+Tests] > are cardinal to help contributors to avoid breaking existing functionalities > while adding new functionalities or fixing older ones. These tests, atleast > the ones relevant to the changes, must be run by contributors before > attaching a patch to a JIRA. > h3. System Tests > [System > tests|https://cwiki.apache.org/confluence/display/KAFKA/Kafka+System+Tests] > are much wider tests that, unlike unit tests, focus on end-to-end scenarios > and not some specific method or class. > h2. Apache PreCommit tests > Apache provides a mechanism to automatically build a project and run a series > of tests whenever a patch is uploaded to a JIRA. Based on test execution, the > test framework will comment with a +1 or -1 on the JIRA. > You can read more about the framework here: > http://wiki.apache.org/general/PreCommitBuilds > h2. Plan > # Create a test-patch.py script (similar to the one used in Flume, Sqoop and > other projects) that will take a jira as a parameter, apply on the > appropriate branch, build the project, run tests and report results. This > script should be committed into the Kafka code-base. To begin with, this will > only run unit tests. We can add code sanity checks, system_tests, etc in the > future. > # Create a jenkins job for running the test (as described in > http://wiki.apache.org/general/PreCommitBuilds) and validate that it works > manually. This must be done by a committer with Jenkins access. > # Ask someone with access to https://builds.apache.org/job/PreCommit-Admin/ > to add Kafka to the list of projects PreCommit-Admin triggers. -- This message was sent by Atlassian JIRA (v6.3.4#6332)