HBASE-2316 Need an ability to run shell tests w/o invoking junit
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@922408 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9adc7f52b2
commit
dd8456b1be
|
@ -454,6 +454,8 @@ Release 0.21.0 - Unreleased
|
|||
HBASE-2263 [stargate] multiuser mode: authenticator for zookeeper
|
||||
HBASE-2273 [stargate] export metrics via Hadoop metrics, JMX, and zookeeper
|
||||
HBASE-2274 [stargate] filter support: JSON descriptors
|
||||
HBASE-2316 Need an ability to run shell tests w/o invoking junit
|
||||
(Alexey Kovyrin via Stack)
|
||||
|
||||
OPTIMIZATIONS
|
||||
HBASE-410 [testing] Speed up the test suite
|
||||
|
|
25
bin/hbase
25
bin/hbase
|
@ -51,11 +51,20 @@ case "`uname`" in
|
|||
CYGWIN*) cygwin=true;;
|
||||
esac
|
||||
|
||||
# Detect if we are in hbase sources dir
|
||||
in_sources_dir=false
|
||||
if [ -f $HBASE_HOME/pom.xml ]; then
|
||||
in_sources_dir=true
|
||||
fi
|
||||
|
||||
# if no args specified, show usage
|
||||
if [ $# = 0 ]; then
|
||||
echo "Usage: hbase <command>"
|
||||
echo "where <command> is one of:"
|
||||
echo " shell run the HBase shell"
|
||||
if $in_sources_dir; then
|
||||
echo " shell-tests run the HBase shell tests"
|
||||
fi
|
||||
echo " master run an HBase HMaster node"
|
||||
echo " regionserver run an HBase HRegionServer node"
|
||||
echo " thrift run an HBase Thrift server"
|
||||
|
@ -100,7 +109,7 @@ if [ -d "$HBASE_HOME/build/webapps" ]; then
|
|||
fi
|
||||
|
||||
# Add maven target directory
|
||||
if [ -f $HBASE_HOME/pom.xml ]; then
|
||||
if $in_sources_dir; then
|
||||
HBASE_VER=`grep '<version>' $HBASE_HOME/pom.xml | head -1 | sed 's/.*<version>\(.*\)<\/version>/\1/'`
|
||||
MAVEN_TARGET_DIR=$HBASE_HOME/target/hbase-$HBASE_VER-bin/hbase-$HBASE_VER
|
||||
if [ -d "$MAVEN_TARGET_DIR" ]; then
|
||||
|
@ -184,6 +193,20 @@ unset IFS
|
|||
# figure out which class to run
|
||||
if [ "$COMMAND" = "shell" ] ; then
|
||||
CLASS="org.jruby.Main ${HBASE_HOME}/bin/hirb.rb"
|
||||
elif $in_sources_dir && [ "$COMMAND" = "shell-tests" ] ; then
|
||||
# Finx maven build classpath
|
||||
mvn -f core/pom.xml dependency:build-classpath -Dmdep.outputFile=/tmp/hbase-core-tests-classpath.txt &> /dev/null
|
||||
# Add tests classes
|
||||
CLASSPATH=${CLASSPATH}:`cat /tmp/hbase-core-tests-classpath.txt`
|
||||
for f in `find ${HBASE_HOME}/core/target -name '*.jar'`; do
|
||||
if [ -f $f ]; then
|
||||
CLASSPATH=${CLASSPATH}:$f;
|
||||
fi
|
||||
done
|
||||
CLASSPATH=${HBASE_HOME}/core/target/test-classes:${CLASSPATH} # For configs
|
||||
# Start the tests
|
||||
CORESRC="${HBASE_HOME}/core/src"
|
||||
CLASS="org.jruby.Main -I${CORESRC}/main/ruby -I${CORESRC}/test/ruby ${CORESRC}/test/ruby/tests_runner.rb"
|
||||
elif [ "$COMMAND" = "master" ] ; then
|
||||
CLASS='org.apache.hadoop.hbase.master.HMaster'
|
||||
if [ "$1" != "stop" ] ; then
|
||||
|
|
|
@ -1,6 +1,26 @@
|
|||
require 'rubygems'
|
||||
require 'rake'
|
||||
|
||||
unless defined?($TEST_CLUSTER)
|
||||
include Java
|
||||
|
||||
# Set logging level to avoid verboseness
|
||||
org.apache.log4j.Logger.getRootLogger.setLevel(org.apache.log4j.Level::OFF)
|
||||
org.apache.log4j.Logger.getLogger("org.apache.zookeeper").setLevel(org.apache.log4j.Level::OFF)
|
||||
org.apache.log4j.Logger.getLogger("org.apache.hadoop.hdfs").setLevel(org.apache.log4j.Level::OFF)
|
||||
org.apache.log4j.Logger.getLogger("org.apache.hadoop.hbase").setLevel(org.apache.log4j.Level::OFF)
|
||||
org.apache.log4j.Logger.getLogger("org.apache.hadoop.ipc.HBaseServer").setLevel(org.apache.log4j.Level::OFF)
|
||||
|
||||
java_import org.apache.hadoop.hbase.HBaseTestingUtility
|
||||
|
||||
$TEST_CLUSTER = HBaseTestingUtility.new
|
||||
$TEST_CLUSTER.configuration.setInt("hbase.regionserver.msginterval", 100)
|
||||
$TEST_CLUSTER.configuration.setInt("hbase.client.pause", 250)
|
||||
$TEST_CLUSTER.configuration.setInt("hbase.client.retries.number", 6)
|
||||
$TEST_CLUSTER.startMiniCluster
|
||||
@own_cluster = true
|
||||
end
|
||||
|
||||
require 'test_helper'
|
||||
|
||||
puts "Running tests..."
|
||||
|
@ -15,4 +35,10 @@ files.each do |file|
|
|||
end
|
||||
end
|
||||
|
||||
puts "Done with tests!"
|
||||
Test::Unit::AutoRunner.run
|
||||
|
||||
puts "Done with tests! Shutting down the cluster..."
|
||||
if @own_cluster
|
||||
$TEST_CLUSTER.shutdownMiniCluster
|
||||
java.lang.System.exit(0)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue