hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "Hive/HowToContribute" by ZhengShao
Date Wed, 22 Jul 2009 23:28:58 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The following page has been changed by ZhengShao:
http://wiki.apache.org/hadoop/Hive/HowToContribute

------------------------------------------------------------------------------
    * Define methods within your class whose names begin with {{{test}}}, and call JUnit's
many assert methods to verify conditions; these methods will be executed when you run {{{ant
test}}}.
    * You can run all the unit test with the command {{{ant test}}}, or you can run a specific
unit test with the command {{{ant -Dtestcase=<class name without package prefix> test}}}
(for example {{{ant -Dtestcase=TestFileSystem test}}})
  
- == Understanding Ant ==
+ === Understanding Ant ===
  
  Hive is built by Ant, a Java building tool.  
  
   * Good Ant tutorial: http://i-proving.ca/space/Technologies/Ant+Tutorial
- 
- == Generating a patch ==
  
  === Unit Tests ===
  
@@ -68, +66 @@

  }}}
  and examining the HTML report in {{{build/test}}} might be helpful.
  
+ === Add a Unit Test ===
+ There are two kinds of unit tests in Hive:
+ 
+  * Normal unit test: These are used by testing a particular component of Hive.
+   * We just need to add a new class (name must start with "Test") in */src/test directory.
+   * We can run "ant test -Dtestcase=TestAbc" where TestAbc is the name of the new class.
This will test only the new testcase, which will be faster than "ant test" which tests all
testcases.
+  * A new query: If the new feature can be tested using Hive command line, we just need to
add a new *.q file and a new *.q.out file:
+   * If the feature is added in ql
+    * Add a new XXXXXX.q file in ql/src/test/queries/clientpositive
+    * Run "ant test -Dtestcase=TestCliDriver -Dqfile=XXXXXX.q -Doverwrite=true -Dtest.silent=false".
This will generate a new XXXXXX.q.out file in ql/src/test/results/clientpositive.
+   * If the feature is added in contrib
+    * Do the steps above, replacing "ql" with "contrib", and "TestCliDriver" with "TestContribCliDriver".
+ 
  === Creating a patch ===
  Check to see what files you have modified with:
  {{{
@@ -76, +87 @@

  
  Add any new files with:
  {{{
- svn add src/.../MyNewClass.java
+ svn add .../MyNewClass.java
- svn add src/.../TestMyNewClass.java
+ svn add .../TestMyNewClass.java
+ svn add .../XXXXXX.q
+ svn add .../XXXXXX.q.out
  }}}
  
  In order to create a patch, type (from the base directory of hive):

Mime
View raw message