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