pnever 2003/07/14 07:28:48 Added: testsuite/bin TProcessor.pl Log: Perl script to start the testsuite Revision Changes Path 1.1 jakarta-slide/testsuite/bin/TProcessor.pl Index: TProcessor.pl =================================================================== # NOTE: (1) TP_HOME=.. works if tprocessor.cmd is started from the bin directory. # Otherwise, set TP_HOME to point to the TProcessor installation directory, or use # the -home argument # (2) DAV_HOST, DAV_PORT and DAV_NAME identify the WebDAV Server to test, i.e. the server # URL is http://$DAV_HOST:$DAV_PORT/$DAV_NAME # (3) TP_STORE identifies the Slide store for the TProcessor to operate on. # (4) TP_USERS is the number of concurrent users for the multiuser testcases. # (5) TP_ITERATIONS is the number of iterations each concurrent user performs an action. # (6) DAV_AUTH specifies the authentication type which is enabled on the server. # Default os=operating system. # (4) DAV_GROUP is used for versions supporting groups and users. # (6) DAV_USER and DAV_PASSWORD are used for authentication against the server. # (7) TP_WORKDB internal DB name for the store configuration required for the webdav and I18N testcases ... :-( # (8) TP_WORKHOST internal host name the internal DB for the store configuration required for the webdav and I18N testcases ... :-( use STRICT; $TP_WORKDB="xdavtest"; $TP_WORKHOST="localhost"; $DAV_HOST="localhost"; $DAV_AUTH="os"; $DAV_GROUP="group"; $DAV_USER="guest"; $DAV_PASSWORD="guest"; $DAV_PORT="4000"; $DAV_NAME="slide"; $TP_STORE="files"; $TP_USERS="10"; $TP_ITERATIONS="10"; $TESTCASE_PATH=""; $TESTCASE_PATTERN=""; $PAR=""; if ($^O eq "MSWin32") { $PD="\\"; } else { $PD="/"; } if ($TP_HOME eq "") { $TP_HOME=".."; } # Process parms while (@ARGV && ($_ = $ARGV[0])){ $_ =~ tr/\//-/; # allow slash as option identifier if ($_ eq "-?" || $_ eq "-h" || $_ eq "-help") {usage(); exit();} elsif ($_ eq "-home") {shift; $TP_HOME=$ARGV[0];} elsif ($_ eq "-davhost") {shift; $DAV_HOST=$ARGV[0];} elsif ($_ eq "-davauth") {shift; $DAV_AUTH=$ARGV[0];} elsif ($_ eq "-davgroup"){shift; $DAV_GROUP=$ARGV[0];} elsif ($_ eq "-davuser") {shift; $DAV_USER=$ARGV[0];} elsif ($_ eq "-davpassword") {shift; $DAV_PASSWORD=$ARGV[0];} elsif ($_ eq "-davport") {shift; $DAV_PORT=$ARGV[0];} elsif ($_ eq "-davname") {shift; $DAV_NAME=$ARGV[0];} elsif ($_ eq "-store") {shift; $TP_STORE=$ARGV[0];} elsif ($_ eq "-users") {shift; $TP_USERS=$ARGV[0];} elsif ($_ eq "-iterations") {shift; $TP_ITERATIONS=$ARGV[0];} elsif ($_ eq "-workdb") {shift; $TP_WORKDB=$ARGV[0];} elsif ($_ eq "-workhost"){shift; $TP_WORKHOST=$ARGV[0];} elsif ($_ eq "-testcase"){shift; $TESTCASE_PATH=$ARGV[0];} elsif ($_ eq "-pattern") {shift; $TESTCASE_PATTERN=$ARGV[0];} elsif ($_ eq "-exclude") {shift; $TESTCASE_EXCLUDE=$ARGV[0];} else {$PAR="$PAR $_";} shift; } $TP_ITER_SMALL=int ($TP_ITERATIONS/2); $DAV_USERS_PATH="/administration/security/userdb"; if ("$DAV_AUTH" eq "os") { $ROOT_USER_PATH="/$DAV_NAME$DAV_USERS_PATH"; $USER_PATH="$ROOT_USER_PATH/$DAV_HOST/$DAV_USER"; } if ("$DAV_AUTH" eq "ldap") { $ROOT_USER_PATH="/$DAV_NAME$DAV_USERS_PATH/users"; $USER_PATH="$ROOT_USER_PATH/$DAV_USER"; } $OPTS="-Dxdav.home=\"$TP_HOME\" -Dxdav.host=$DAV_HOST -Dxdav.user=$DAV_USER -Dxdav.password=$DAV_PASSWORD -Dxdav.port=$DAV_PORT -Dxdav.globalVariableGroup=$DAV_GROUP -Dxdav.globalVariableUsersPath=$DAV_USERS_PATH -Dxdav.globalVariableRootUserPath=$ROOT_USER_PATH -Dxdav.globalVariableUserPath=$USER_PATH -Dxdav.globalVariableServerName=$DAV_NAME -Dxdav.globalVariableCollection=$TP_STORE -Dxdav.globalVariableUsers=$TP_USERS -Dxdav.globalVariableIterationCount=$TP_ITERATIONS -Dxdav.globalVariableIterationCountSmall=$TP_ITER_SMALL -Dxdav.globalVariablePerformanceIterations=$TP_ITER_SMALL -Dxdav.urlencoding=UTF-8 -Dxdav.workdb=$TP_WORKDB -Dxdav.workhost=$TP_WORKHOST -Dhttpclient.authentication.preemptive=true"; $ENV{"CLASSPATH"}=""; cpbuild("$TP_HOME"."$PD"."lib"); if ("$TESTCASE_PATH") { $CLS="org.apache.slide.testsuite.testtools.tprocessor.TProcessors -name $TP_HOME$PD$TESTCASE_PATH"; } elsif ("$TESTCASE_PATTERN") { $CLS="org.apache.slide.testsuite.testtools.walker.MultiTProcessorExecuter"; $PAR="$TESTCASE_PATTERN"; if ("$TESTCASE_EXCLUDE") { $PAR="$PAR -exclude \"$TESTCASE_EXCLUDE\""; } } else { $CLS="junit.textui.TestRunner"; $PAR="org.apache.slide.testsuite.testtools.walker.TProcessorTestExecuter"; } $JH=$ENV{"JAVA_HOME"}; $CMD="$JH"."$PD"."bin"."$PD"."java"; # print ("\"$CMD\" $OPTS $CLS $PAR\n"); print ("$CMD $OPTS $CLS $PAR\n"); system ("$CMD $OPTS $CLS $PAR"); sub usage { print <<EOU; Usage: tprocessor [options] Options: -davauth <true_or_false> (default: false) -davuser <webdavserver_user> (default: guest) -davgroup (default: group) -davpassword <webdavserver_password> (default: guest) -davhost <webdavserver_host> (default: localhost) -davport <webdavserver_port> (default: 4000) -davname <webdavserver_name> (default: slide) -store <store_to_operate_on> (default: files) -users <number_of_users> (default: 10) -iterations <number_of_iterations> (default: 10) -testcase <xmltestcase_path> (relative to the home directory) -pattern <xmltestcase_pattern> (wildard is *, file separator is \\) -exclude <xmltestcase_pattern> (wildard is *, file separator is \\) The -davauth option specifies whether authentication is enabled at server side. If both, -testcase and -pattern are omitted, all testcases are executed. Examples: (1) Execute all testcases tprocessor (2) Execute one specific testcase tprocessor -testcase \testsuite\junit\xmltestcases\copy\code\copy201.xml (3) Execute all XML testcases which start with 'copy' tprocessor -pattern *\\copy*.xml (4) Execute all XML testcases which are bellow \testsuite\junit\xmltestcases\copy tprocessor -pattern *\\copy\\*.xml EOU ; } sub cpbuild { $path=$_[0]; $CP=""; print "Appending $path and all jar files contained in $path to the classpath...\n\n"; $wrk=$ENV{"CLASSPATH"}; $ENV{"CLASSPATH"}="$wrk".";$path"; print ("Opening \"$path\"\n"); opendir (JD, "$path") || die "Cannot open $path"; foreach (readdir(JD)) { next if (substr($_, length($_) - 4, length($_)) ne ".jar"); if (!$CP) {$CP="$path"."$PD"."$_";} else {$CP="$CP".";$path$PD$_";} } $ENV{"CLASSPATH"}=$ENV{"CLASSPATH"}.";$CP"; closedir JD; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
