You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Peter Vary (JIRA)" <ji...@apache.org> on 2016/11/08 16:21:59 UTC

[jira] [Comment Edited] (HIVE-15051) Test framework integration with findbugs, rat checks etc.

    [ https://issues.apache.org/jira/browse/HIVE-15051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15648007#comment-15648007 ] 

Peter Vary edited comment on HIVE-15051 at 11/8/16 4:21 PM:
------------------------------------------------------------

The current status:
I am trying my hands on [Apache Yetus 0.3.0|https://yetus.apache.org/documentation/0.3.0/].
What I like about it:
- Several existing tests (asflicense, author, checkstyle, findbugs, javac, javadoc, test4tests, unitveto, whitespace, xml, junit)
- It shows changes in errors so we do not have to clean up the code, but new code will be checked.
- Used by multiple ASF projects already - so we will be Apache conform using it.
- Extensible, so if we decide to add the ptest framework to these test this could be done
- It is possible to run the test only on the modules which contain changed files

Created a hive personality and was able to enable most of the plugins.
- Asflicense - apache-rat:check - this works flawlessly
- Author - Checks for @author tags - this works flawlessly
- Checkstyle - There is an existing checkstyle.xml in hive, but this could not be run on a single module only from the root. If I remove the header check from it, then the single module run is possible. After this change the test could be enabled. The current checkstyle configuration needs some serious be improvement.
- Findbugs - Needs the findbugs binary installed, and yetus currently restricts checks for standard maven layouts (/src/main/java, /src/test/java) - We use this source layout only in itest modules. This test run could take more time. Need some trivial changes in yetus.
- Javac - I have enabled it for now but there might be a better solution for it. It counts the error/warning messages in the mvn install output, so compilation warnings can be highlighted
- Javadoc - Could be enabled easily. Currently there are errors in javadocs, where extra params or exceptions left after the method signature is changed. This prevents the calculation for these modules, but I think these errors could be cleaned up by a script.
- Test4tests - Should create or own to handle query files as tests - I created one which +1 a patch only if at least one unit or query test is added or changed
- Unitveto - Could be enabled easily, but I do not think we want to veto changes in specific files at the moment
- Whitespace - Counts the tabs, and the whitespaces at the end of the lines - this works flawlessly
- Xml - Checks the formatting of the xml-s - this works flawlessly
- JUnit - I think we do not want to use this - we would like to use ptest instead




was (Author: pvary):
The current status:
I am trying my hands on [Apache Yetus 0.3.0|https://yetus.apache.org/documentation/0.3.0/].
What I like about it:
- Several existing tests (asflicense, author, checkstyle, findbugs, javac, javadoc, test4tests, unitveto, whitespace, xml, junit)
- It shows changes in errors so we do not have to clean up the code, but new code will be checked.
- Used by multiple ASF projects already - so we will be Apache conform using it.
- Extensible, so if we decide to add the ptest framework to these test this could be done

Created a hive personality and was able to enable most of the plugins.
- Asflicense - apache-rat:check - this works flawlessly
- Author - Checks for @author tags - this works flawlessly
- Checkstyle - There is an existing checkstyle.xml in hive, but this could not be run on a single module only from the root. If I remove the header check from it, then the single module run is possible. After this change the test could be enabled. The current checkstyle configuration needs some serious be improvement.
- Findbugs - Needs the findbugs binary installed, and yetus currently restricts checks for standard maven layouts (/src/main/java, /src/test/java) - We use this source layout only in itest modules. This test run could take more time. Need some trivial changes in yetus.
- Javac - I have enabled it for now but there might be a better solution for it. It counts the error/warning messages in the mvn install output, so compilation warnings can be highlighted
- Javadoc - Could be enabled easily. Currently there are errors in javadocs, where extra params or exceptions left after the method signature is changed. This prevents the calculation for these modules, but I think these errors could be cleaned up by a script.
- Test4tests - Should create or own to handle query files as tests - I created one which +1 a patch only if at least one unit or query test is added or changed
- Unitveto - Could be enabled easily, but I do not think we want to veto changes in specific files at the moment
- Whitespace - Counts the tabs, and the whitespaces at the end of the lines - this works flawlessly
- Xml - Checks the formatting of the xml-s - this works flawlessly
- JUnit - I think we do not want to use this - we would like to use ptest instead



> Test framework integration with findbugs, rat checks etc.
> ---------------------------------------------------------
>
>                 Key: HIVE-15051
>                 URL: https://issues.apache.org/jira/browse/HIVE-15051
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Testing Infrastructure
>            Reporter: Peter Vary
>            Assignee: Peter Vary
>
> Find a way to integrate code analysis tools like findbugs, rat checks to PreCommit tests, thus removing the burden from reviewers to check the code style and other checks which could be done by code. 
> Might worth to take a look on Yetus, but keep in mind the Hive has a specific parallel test framework.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)