----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/7068/#review11584 -----------------------------------------------------------
Good questions about HCatBaseTest.setUp. I just went through the tests using it and found two use cases: (a) Use setUp as-is. Most tests are fine using the client/driver created in the base class and require no further changes. This is the most simple case. (b) Create a test data set. The only difference I found here is clients that need to create some data for the test. In this case we need to cleanup any output from a previous test, create the test input, initialize the client/driver, then run the tests. The current structure makes use-case (a) very straightforward. These tests just extend HCatBaseTest, then add @Test cases. No further environment setup is needed. Case (b) is where we rely on users to call super.setUp(), as in TestHCatHiveThriftCompatibility. Looking at how test data is generated it could be refactored into a separate generateInput method, so users do not need to call the base class. We just need to make sure the previous test data dir is trashed before-hand, so tests work in the IDE (instead of relying on "ant clean"). Other than preference I don't see a major benefit here - it users forget to call super.setUp any test using the HMS will fail and it should be very clear to the test writer what happened. In general I'm pretty happy with the current structure, but I'm also totally open to improvements. How does this sound: with this patch, let's use the current style, since the issue we're trying to fix is the bug, not a refactor. If you want to refactor the base test, let's do that in a separate issue? I'm happy to do the code review if we identify a way they can be improved. - Travis Crawford On Sept. 14, 2012, 5:40 p.m., Arup Malakar wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/7068/ > ----------------------------------------------------------- > > (Updated Sept. 14, 2012, 5:40 p.m.) > > > Review request for hcatalog and Travis Crawford. > > > Description > ------- > > 1. Added a test case to reproduce the bug > 2. Fixed the bug > 2. Apart from some cosmetic changes for readability in HCatMapReduceTest > Removed the abstract method initialize() in HCatMapReduceTest as the > same could be achieved by using the well understood method setUp() > > > This addresses bug HCATALOG-490. > https://issues.apache.org/jira/browse/HCATALOG-490 > > > Diffs > ----- > > > http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/java/org/apache/hcatalog/mapreduce/FileRecordWriterContainer.java > 1384595 > > http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/HCatBaseTest.java > 1384595 > > http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/HCatMapReduceTest.java > 1384595 > > http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/TestHCatDynamicPartitioned.java > 1384595 > > http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/TestHCatNonPartitioned.java > 1384595 > > http://svn.apache.org/repos/asf/incubator/hcatalog/trunk/src/test/org/apache/hcatalog/mapreduce/TestHCatPartitioned.java > 1384595 > > Diff: https://reviews.apache.org/r/7068/diff/ > > > Testing > ------- > > test: > [mkdir] Created dir: > /Users/malakar/code/oss/hcatalog/trunk/build/test/logs > [mkdir] Created dir: > /Users/malakar/code/oss/hcatalog/trunk/build/test/hcat_junit_warehouse > [junit] WARNING: multiple versions of ant detected in path for junit > [junit] > jar:file:/Users/malakar/bin/apache-ant-1.8.4/lib/ant.jar!/org/apache/tools/ant/Project.class > [junit] and > jar:file:/Users/malakar/code/oss/hcatalog/trunk/build/ivy/lib/test/ant-ant-1.6.5.jar!/org/apache/tools/ant/Project.class > [junit] Running org.apache.hcatalog.cli.TestPermsGrp > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 14.854 sec > [junit] Running org.apache.hcatalog.cli.TestSemanticAnalysis > [junit] Tests run: 22, Failures: 0, Errors: 0, Time elapsed: 20.615 sec > [junit] Running org.apache.hcatalog.cli.TestUseDatabase > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 13.533 sec > [junit] Running org.apache.hcatalog.common.TestHCatUtil > [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.868 sec > [junit] Running org.apache.hcatalog.common.TestHiveClientCache > [junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 38.042 sec > [junit] Shutting down hive metastore. > [junit] Running org.apache.hcatalog.data.TestDefaultHCatRecord > [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.21 sec > [junit] Running org.apache.hcatalog.data.TestHCatRecordSerDe > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.181 sec > [junit] Running org.apache.hcatalog.data.TestJsonSerDe > [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.239 sec > [junit] Running org.apache.hcatalog.data.TestLazyHCatRecord > [junit] Tests run: 11, Failures: 0, Errors: 0, Time elapsed: 0.177 sec > [junit] Running org.apache.hcatalog.data.TestReaderWriter > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 5.083 sec > [junit] Running org.apache.hcatalog.data.schema.TestHCatSchema > [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.007 sec > [junit] Running org.apache.hcatalog.data.schema.TestHCatSchemaUtils > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.043 sec > [junit] Running org.apache.hcatalog.listener.TestMsgBusConnection > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 7.588 sec > [junit] Running org.apache.hcatalog.listener.TestNotificationListener > [junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 8.045 sec > [junit] Test org.apache.hcatalog.listener.TestNotificationListener FAILED > [junit] Running org.apache.hcatalog.mapreduce.TestHCatDynamicPartitioned > [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 122.809 sec > [junit] Running org.apache.hcatalog.mapreduce.TestHCatHiveCompatibility > [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 32.425 sec > [junit] Running > org.apache.hcatalog.mapreduce.TestHCatHiveThriftCompatibility > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 11.662 sec > [junit] Running org.apache.hcatalog.mapreduce.TestHCatInputFormat > [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 10.985 sec > [junit] Running org.apache.hcatalog.mapreduce.TestHCatMultiOutputFormat > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 28.85 sec > [junit] Shutting down hive metastore. > [junit] Running org.apache.hcatalog.mapreduce.TestHCatNonPartitioned > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 14.169 sec > [junit] Running org.apache.hcatalog.mapreduce.TestHCatOutputFormat > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 5.323 sec > [junit] Running org.apache.hcatalog.mapreduce.TestHCatPartitioned > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 92.827 sec > [junit] Running org.apache.hcatalog.mapreduce.TestMultiOutputFormat > [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 67.213 sec > [junit] Running org.apache.hcatalog.mapreduce.TestPassProperties > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 8.611 sec > [junit] Running org.apache.hcatalog.mapreduce.TestSequenceFileReadWrite > [junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 53.583 sec > [junit] Running org.apache.hcatalog.rcfile.TestRCFileMapReduceInputFormat > [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.216 sec > [junit] Running org.apache.hcatalog.security.TestHdfsAuthorizationProvider > [junit] Tests run: 34, Failures: 0, Errors: 0, Time elapsed: 23.476 sec > > > Thanks, > > Arup Malakar > >
