Commit f7676a9e authored by lichenchong's avatar lichenchong
Browse files

Kinetic Tests:

1. Add basicAPI sanity tests and adminAPI sanity tests, at the same
time, we can run shell script "runSanityTest.sh" to execute them, see
"-help" for usage.
2. Add chasis test script "chassisTest.sh", see "-help" for usage.
parent 7e7914f4
Loading
Loading
Loading
Loading

bin/chassisTest.sh

0 → 100644
+103 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash

BASE_DIR=`dirname "$0"`/..
BASE_DIR=`cd "$BASE_DIR"; pwd`
#echo "BASE_DIR=$BASE_DIR"
LOG_DIR="kinetic_log"
SSL_PORT=8443
PORT=8123
HOME=`cd ~; pwd`
NODES=127.0.0.1

JAVA=""
if [ "$JAVA_HOME" != "" ]; then
   JAVA=$JAVA_HOME/bin/java
else
   echo "JAVA_HOME must be set."
   exit 1
fi

#Set the classpath

if [ "$CLASSPATH" != "" ]; then
   CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
else
CLASSPATH=$JAVA_HOME/lib/tools.jar
fi

for f in $BASE_DIR/kinetic-test/target/*.jar; do
   CLASSPATH=${CLASSPATH}:$f
done

printUsage(){
   echo "Usage: sh chassisTest.sh [-option]"
   echo "       [-option]"
   echo "            -help                   usage"
   echo "            -iplist                 ip address for all drives. For instance, 192.168.2.11,192.168.2.12,192.168.2.13 or 192.168.2.11~192.168.2.13"
}

until [ $# -eq 0 ]
do
   case $1 in
   -help)
       printUsage;
       exit 0
       ;;
    -iplist)
      echo "Print iplist \"$2\""
      NODES=$2
      shift
      ;;    
   *)
      echo "Invalid option : $1"
      printUsage;
      exit 1
      ;;
   esac
   shift
done

mkdir -p ${LOG_DIR}

total_nodes=0
IFS=","
node_arr=($NODES)
for node in "${node_arr[@]}"
do
    if [[ $node == *~* ]]
    then
        IFS="~"
        node_ip_from_and_to=($node)
        node_ip_from=${node_ip_from_and_to[0]}
        node_ip_to=${node_ip_from_and_to[1]}
        IFS="."
        node_ip_from_as_array=($node_ip_from)
        node_ip_to_as_array=($node_ip_to)
        node_ip_from_last_byte=${node_ip_from_as_array[3]}
        node_ip_to_last_byte=${node_ip_to_as_array[3]}
        curr=$node_ip_from_last_byte
        while [ $curr -le $node_ip_to_last_byte ]
        do
           node_ip=${node_ip_from_as_array[0]}.${node_ip_from_as_array[1]}.${node_ip_from_as_array[2]}.$curr
           echo "start test ${node_ip}..."
           #exec "$JAVA" -classpath "$CLASSPATH" -DRUN_NIO_TEST=true -DRUN_SSL_TEST=true -DRUN_AGAINST_EXTERNAL=true -DKINETIC_HOST=$node_ip -DKINETIC_PORT=$PORT -DKINETIC_SSL_PORT=$SSL_PORT com.seagate.kinetic.allTests.AllTestsRunner > ${LOG_DIR}/${node_ip}.log &
           total_nodes=$(( total_nodes + 1 )) 
           curr=$(( curr + 1 )) 
        done
    else
        node_ip=${node}
        echo "start test ${node_ip}..."
        exec "$JAVA" -classpath "$CLASSPATH" -DRUN_NIO_TEST=true -DRUN_SSL_TEST=true -DRUN_AGAINST_EXTERNAL=true -DKINETIC_HOST=$node_ip com.seagate.kinetic.allTests.AllTestsRunner > ${LOG_DIR}/${node_ip}.log &
        total_nodes=$(( total_nodes + 1 )) 
    fi
done


for((i=0;i<$total_nodes;i++)); 
do
	j=$(echo "$i+1" | bc -l) 
    wait %$j 
done

wait $!
exit 0

bin/runSanityTests.sh

0 → 100755
+101 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash

BASE_DIR=`dirname "$0"`/..
BASE_DIR=`cd "$BASE_DIR"; pwd`
#echo "BASE_DIR=$BASE_DIR"
HOST=127.0.0.1
PORT=8123
SSL_PORT=8443
HOME=`cd ~; pwd`
DEBUG=false
TYPE=basic

JAVA=""
if [ "$JAVA_HOME" != "" ]; then
   JAVA=$JAVA_HOME/bin/java
else
   echo "JAVA_HOME must be set."
   exit 1
fi

#Set the classpath

if [ "$CLASSPATH" != "" ]; then
   CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
else
CLASSPATH=$JAVA_HOME/lib/tools.jar
fi

for f in $BASE_DIR/kinetic-test/target/*.jar; do
   CLASSPATH=${CLASSPATH}:$f
done

#echo "CLASSPATH=$CLASSPATH" 


printUsage(){
   echo "Usage: sh runSanityTests.sh [-option]"
   echo "       [-option]"
   echo "            -help                 usage"
   echo "            -host                 drive or simulator device ip address, default is 127.0.0.1"
   echo "            -port                 connection port, default is 8123"
   echo "            -debug                debug swith, default is false"
   echo "            -type                 admin or basic or all, default is basic"
}


if [ $# -eq 0 ]; then
   echo "Miss parameters, please see -help"
   exit 0
fi


until [ $# -eq 0 ]
do
   case $1 in
   -help)
       printUsage;
       exit 0
       ;;
   -host)
      echo "Print host \"$2\""
      HOST=$2
      shift
      ;;
    -port)
      echo "Print port \"$2\""
      PORT=$2
      shift
      ;;
    -debug)
      echo "Print debug \"$2\""
      DEBUG=$2
      shift
      ;;
    -type)
      echo "Print type \"$2\""
      TYPE=$2
      shift
      ;;
   *)
      echo "Invalid option : $1"
      printUsage;
      exit 1
      ;;
   esac
   shift
done

if [ "$TYPE" == "basic" ]; then
    exec "$JAVA" -classpath "$CLASSPATH" -DRUN_NIO_TEST=true -Dkinetic.io.in=$DEBUG -Dkinetic.io.out=$DEBUG -DRUN_AGAINST_EXTERNAL=true -DKINETIC_HOST=$HOST -DKINETIC_PORT=$PORT com.seagate.kinetic.allTests.BasicAPISanityTestsRunner 1>$BASE_DIR/bin/basic.result 2>&1
elif [ "$TYPE" == "admin" ]; then
    exec "$JAVA" -classpath "$CLASSPATH" -DRUN_NIO_TEST=true -Dkinetic.io.in=$DEBUG -Dkinetic.io.out=$DEBUG -DRUN_AGAINST_EXTERNAL=true -DKINETIC_HOST=$HOST -DKINETIC_PORT=$PORT com.seagate.kinetic.allTests.AdminAPISanityTestsRunner 1>$BASE_DIR/bin/admin.result 2>&1
elif [ "$TYPE" == "all" ]; then
    `exec "$JAVA" -classpath "$CLASSPATH" -DRUN_NIO_TEST=true -Dkinetic.io.in=$DEBUG -Dkinetic.io.out=$DEBUG -DRUN_AGAINST_EXTERNAL=true -DKINETIC_HOST=$HOST -DKINETIC_PORT=$PORT com.seagate.kinetic.allTests.BasicAPISanityTestsRunner 1>$BASE_DIR/bin/basic.result 2>&1`
    `exec "$JAVA" -classpath "$CLASSPATH" -DRUN_NIO_TEST=true -Dkinetic.io.in=$DEBUG -Dkinetic.io.out=$DEBUG -DRUN_AGAINST_EXTERNAL=true -DKINETIC_HOST=$HOST -DKINETIC_PORT=$PORT com.seagate.kinetic.allTests.AdminAPISanityTestsRunner 1>$BASE_DIR/bin/admin.result 2>&1`
else
    echo "Invalid type"
    printUsage;
fi

exit 0
 No newline at end of file
+32 −0
Original line number Diff line number Diff line
package com.seagate.kinetic.allTests;

import java.util.ArrayList;
import java.util.List;

import org.testng.TestNG;
import org.testng.xml.XmlClass;
import org.testng.xml.XmlSuite;
import org.testng.xml.XmlTest;

public class AdminAPISanityTestsRunner {
	public static void main(String[] args) {
		XmlSuite suite = new XmlSuite();
		suite.setName("SanitySuite");
		suite.setParallel(XmlSuite.PARALLEL_NONE);

		XmlTest test = new XmlTest(suite);
		test.setName("AdminAPISanityTest");
		List<XmlClass> classes = new ArrayList<XmlClass>();
		classes.add(new XmlClass(
				"com.seagate.kinetic.sanityAPI.AdminAPISanityTest"));
		test.setXmlClasses(classes);

		List<XmlSuite> suites = new ArrayList<XmlSuite>();
		suites.add(suite);
		TestNG tng = new TestNG();
		tng.setXmlSuites(suites);
		tng.run();

		System.exit(0);
	}
}
+33 −0
Original line number Diff line number Diff line
package com.seagate.kinetic.allTests;

import java.util.ArrayList;
import java.util.List;

import org.testng.TestNG;
import org.testng.xml.XmlClass;
import org.testng.xml.XmlSuite;
import org.testng.xml.XmlTest;

public class BasicAPISanityTestsRunner {

	public static void main(String[] args) {
		XmlSuite suite = new XmlSuite();
		suite.setName("SanitySuite");
		suite.setParallel(XmlSuite.PARALLEL_NONE);

		XmlTest test = new XmlTest(suite);
		test.setName("BasicAPISanityTest");
		List<XmlClass> classes = new ArrayList<XmlClass>();
		classes.add(new XmlClass(
				"com.seagate.kinetic.sanityAPI.BasicAPISanityTest"));
		test.setXmlClasses(classes);

		List<XmlSuite> suites = new ArrayList<XmlSuite>();
		suites.add(suite);
		TestNG tng = new TestNG();
		tng.setXmlSuites(suites);
		tng.run();

		System.exit(0);
	}
}
+632 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading