diff --git hbase-handler/src/test/templates/TestHBaseCliDriver.vm hbase-handler/src/test/templates/TestHBaseCliDriver.vm index 6f4a7c1..f513f03 100644 --- hbase-handler/src/test/templates/TestHBaseCliDriver.vm +++ hbase-handler/src/test/templates/TestHBaseCliDriver.vm @@ -22,6 +22,7 @@ import org.apache.hadoop.hive.hbase.HBaseQTestUtil; import org.apache.hadoop.hive.hbase.HBaseTestSetup; import org.junit.After; import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Before; import org.junit.Test; @@ -31,19 +32,34 @@ import static org.junit.Assert.fail; public class $className { private static final String HIVE_ROOT = HBaseQTestUtil.ensurePathEndsInSlash(System.getProperty("hive.root")); - private HBaseQTestUtil qt; + private static HBaseQTestUtil qt; private static HBaseTestSetup setup = new HBaseTestSetup(); - @Before - public void setUp() { + @BeforeClass + public static void systemSetUp() { + MiniClusterType miniMR = MiniClusterType.valueForString("$clusterMode"); + String initScript = "$initScript"; + String cleanupScript = "$cleanupScript"; + + try { + qt = new HBaseQTestUtil((HIVE_ROOT + "$resultsDir"), (HIVE_ROOT + "$logDir"), miniMR, + setup, initScript, cleanupScript); + qt.cleanUp(null); + qt.createSources(null); + + } catch (Exception e) { + System.err.println("Exception: " + e.getMessage()); + e.printStackTrace(); + System.err.flush(); + fail("Unexpected exception in static initialization: "+e.getMessage()); + } - MiniClusterType miniMR = MiniClusterType.valueForString("$clusterMode"); - String initScript = "$initScript"; - String cleanupScript = "$cleanupScript"; + } + @Before + public void setUp() { try { - qt = new HBaseQTestUtil((HIVE_ROOT + "$resultsDir"), (HIVE_ROOT + "$logDir"), miniMR, - setup, initScript, cleanupScript); + qt.clearTestSideEffects(); } catch (Exception e) { System.err.println("Exception: " + e.getMessage()); e.printStackTrace(); @@ -51,11 +67,10 @@ public class $className { fail("Unexpected exception in setup"); } } - @After public void tearDown() { try { - qt.shutdown(); + qt.clearPostTestEffects(); } catch (Exception e) { System.err.println("Exception: " + e.getMessage()); e.printStackTrace(); @@ -65,6 +80,18 @@ public class $className { } @AfterClass + public static void shutdown() throws Exception { + try { + qt.shutdown(); + } catch (Exception e) { + System.err.println("Exception: " + e.getMessage()); + e.printStackTrace(); + System.err.flush(); + fail("Unexpected exception in shutdown"); + } + } + + @AfterClass public static void closeHBaseConnections() throws Exception { setup.tearDown(); } @@ -93,8 +120,8 @@ public class $className { return; } - qt.cliInit(fname); - qt.clearTestSideEffects(); + qt.cliInit(fname, false); + int ecode = qt.executeClient(fname); if (ecode != 0) { qt.failed(ecode, fname, null); @@ -104,7 +131,6 @@ public class $className { if (ecode != 0) { qt.failedDiff(ecode, fname, null); } - qt.clearPostTestEffects(); } catch (Throwable e) { qt.failed(e, fname, null); diff --git itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java index 3ff5742..9d86e57 100644 --- itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java +++ itests/util/src/main/java/org/apache/hadoop/hive/hbase/HBaseQTestUtil.java @@ -39,13 +39,16 @@ /** A handle to this harness's cluster */ private final HConnection conn; + private HBaseTestSetup hbaseSetup = null; + public HBaseQTestUtil( String outDir, String logDir, MiniClusterType miniMr, HBaseTestSetup setup, String initScript, String cleanupScript) throws Exception { super(outDir, logDir, miniMr, null, "0.20", initScript, cleanupScript, false, false); - setup.preTest(conf); + hbaseSetup = setup; + hbaseSetup.preTest(conf); this.conn = setup.getConnection(); super.init(); } @@ -112,4 +115,10 @@ public void cleanUp(String tname) throws Exception { if (admin != null) admin.close(); } } + + @Override + public void clearTestSideEffects() throws Exception { + super.clearTestSideEffects(); + hbaseSetup.preTest(conf); + } } diff --git ql/src/test/templates/TestCliDriver.vm ql/src/test/templates/TestCliDriver.vm index 72cfab9..0ccedce 100644 --- ql/src/test/templates/TestCliDriver.vm +++ ql/src/test/templates/TestCliDriver.vm @@ -118,6 +118,7 @@ public class $className { qt.addFile(fpath); if (qt.shouldBeSkipped(fname)) { + System.err.println("Test " + fname + " skipped"); return; }