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