You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by km...@apache.org on 2005/02/08 21:02:10 UTC

svn commit: r152930 - in incubator/derby/code/trunk: ./ java/testing/ java/testing/org/apache/derbyTesting/functionTests/harness/ java/testing/org/apache/derbyTesting/functionTests/master/ java/testing/org/apache/derbyTesting/functionTests/multi/ java/testing/org/apache/derbyTesting/functionTests/multi/stress/ java/testing/org/apache/derbyTesting/functionTests/suites/

Author: kmarsden
Date: Tue Feb  8 12:02:02 2005
New Revision: 152930

URL: http://svn.apache.org/viewcvs?view=rev&rev=152930
Log:
adding multi threaded test suite & harness for myrna@golux.com

Added:
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/MultiTest.java   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/stress.out   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/build.xml   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/copyfiles.ant   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/create.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createa.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createy.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createz.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/final.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.properties   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init_app.properties   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert2.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll2.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run.properties   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run_derby.properties   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain2.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress.multi   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59.multi   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59_app.properties   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress_app.properties   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update2.sql   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.properties   (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.runall   (with props)
Modified:
    incubator/derby/code/trunk/build.xml
    incubator/derby/code/trunk/java/testing/build.xml
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/RunTest.java
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbyall.properties

Modified: incubator/derby/code/trunk/build.xml
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/build.xml?view=diff&r1=152929&r2=152930
==============================================================================
--- incubator/derby/code/trunk/build.xml (original)
+++ incubator/derby/code/trunk/build.xml Tue Feb  8 12:02:02 2005
@@ -974,7 +974,7 @@
 
   <target name="derbytestingjar" depends="initjars,ckderbytesting" if="derbyTesting.available">
     <zip destfile="${derby.jar.dir}/derbyTesting.jar" filesonly="true" compress="true">
-      <fileset dir="${out.dir}" includes="org/apache/derbyTesting/functionTests/**,SimpleApp*"/>
+      <fileset dir="${out.dir}" includes="org/apache/derbyTesting/functionTests/**,SimpleApp*,org/apache/derby/impl/tools/ij/mt*.class,org/apache/derby/impl/tools/ij/SimpleCharStream.class,org/apache/derby/impl/drda/TestProto.class"/>
     </zip>
   </target>
 

Modified: incubator/derby/code/trunk/java/testing/build.xml
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/build.xml?view=diff&r1=152929&r2=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/build.xml (original)
+++ incubator/derby/code/trunk/java/testing/build.xml Tue Feb  8 12:02:02 2005
@@ -50,6 +50,7 @@
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/nist"/> 
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/demo"/> 
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/tests/derbynet"/> 
+    <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/multi/stress"/> 
     <ant dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/master"/> 
     <ant dir="${derby.testing.src.dir}/${derby.testing.suites.dir}"/> 
   </target>

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/MultiTest.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/MultiTest.java?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/MultiTest.java (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/MultiTest.java Tue Feb  8 12:02:02 2005
@@ -0,0 +1,444 @@
+/*
+
+   Derby - Class org.apache.derbyTesting.functionTests.harness.MultiTest
+
+   Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+
+package org.apache.derbyTesting.functionTests.harness;
+
+import java.io.IOException;
+import java.io.FileOutputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.io.FileInputStream;
+import java.io.BufferedInputStream;
+import java.util.Vector;
+import java.util.Enumeration;
+import org.apache.derby.impl.tools.ij.*;
+
+import org.apache.derby.iapi.tools.i18n.LocalizedResource;
+import org.apache.derby.iapi.tools.i18n.LocalizedOutput;
+
+/**
+ * MultiTest is a multiuser test harness.  It
+ * runs multiple threads with differing scripts
+ * against an embedded server.  For syntax see
+ * grammar.jj
+ *
+ * Tests are ended as soon as an unexpected error
+ * has occurred or after the specified test duration
+ * has transpired.  The main loop ends by explicitly
+ * quitting (i.e. doing a System.exit()).
+ *
+ * Deprecated APIs: this test uses AppStreamWriter instead
+ * of the preferred AppStreamWriter.  This is because utilMain()
+ * uses AppStreamWriter (deliberately, i think) so since
+ * that is called from this, there you have it.
+ */
+
+public class MultiTest
+{
+
+	private static final  int MAX_WAIT_FOR_COMPLETION = 180; 
+
+	private static mtTestSuite suite;
+	private static LocalizedOutput log; 
+	private static String	inputDir;
+	private static String	outputDir;
+	private static String	testName;
+
+
+	
+	public MultiTest () { };
+
+	public static void syntax()
+	{
+		System.out.println("Syntax:"
+				+"\n\t <file>\t- the cmd file"
+				+"\n\t[-o <dir>]\t-the output directory"
+				+"\n\t[-i <dir>]\t-the input directory");
+	}
+
+	/**
+	** Main loop
+	@exception IOException thrown on error
+	@exception ParseException thrown on error
+	@exception FileNotFoundException thrown on error
+	*/
+	public static void main(String[] args) 
+			throws IOException, ParseException, FileNotFoundException
+	{
+		String	cmdFilePath;
+		InputStream	in;
+		String	cmdFile;
+		mtTester[] testers;
+		int	i;
+		int	max;
+
+		if ((cmdFile = util.getFileArg(args)) == null)
+		{
+			syntax();
+			return;
+		}
+
+		LocalizedResource.getInstance();
+
+		testName = getTestName(cmdFile);
+		inputDir = util.getArg("-i", args);
+		outputDir = util.getArg("-o", args);
+
+		/*
+		** If cmdfile doesn't have a path, prepend
+		** inputDir
+		*/
+		cmdFilePath = ((inputDir != null) && (cmdFile.indexOf("/") == -1)) ?
+				(inputDir + "/" + cmdFile) : cmdFile;
+		try 
+		{
+			in = new BufferedInputStream(new FileInputStream(cmdFilePath), 
+										utilMain.BUFFEREDFILESIZE);
+      	} catch (FileNotFoundException e) {
+			System.out.println("MultiTest ERROR: config file not found: "+cmdFile);
+        	return; 
+      	}
+		mtGrammar parser = new mtGrammar(in);
+		suite = parser.grammarStatement();
+		suite.setRoot(inputDir);
+		suite.init();
+	
+		log = openFile(outputDir, testName, ".log");
+
+		try
+		{
+			seqRunCases(suite.getInitCases(), 
+						"initialization", 
+						inputDir, 
+						outputDir);
+		} catch (ijFatalException e) 
+		{
+			System.exit(1);
+		}
+
+		max = suite.getNumThreads();
+		System.out.println("...running with "+max+" threads");
+		testers = new mtTester[max];
+
+		// create the testers
+		for (i = 0; i < max; i++)
+		{
+			String tester = "Tester" + (i+1);
+			try 
+			{
+				LocalizedOutput out = openFile(outputDir, tester, ".out");
+				testers[i] = new mtTester(tester, suite, out, log);
+			} catch (IOException e) {
+				System.out.println("MultiTest ERROR: unable open output file "+e);
+				return;
+			}
+		}
+
+		long duration = execTesters(testers);
+
+		log.println("");
+		log.println("test ran "+duration+" ms");
+		log.println("total memory is "+Runtime.getRuntime().totalMemory());
+		log.println("free memory  is "+Runtime.getRuntime().freeMemory());
+		System.exit(0);
+	}
+
+	/*
+	**
+	** NOTE ON OUT OF MEMORY PROBLEMS:  in theory 
+	** when the VM runs out of memory an OutOfMemoryException
+	** should be thrown by the runtime, but unfortunately, that
+	** doesn't always seem to be the case.  When running this
+	** program the Testers just wind up hanging on memory
+	** allocation if there is insufficient memory.  To combat
+	** this we try to manually stop each thread, but when
+	** there is no memory, this doesn't seem to do anything
+	** either.  Also, we grab some memory up front and release
+	** that after telling the threads to stop themselves.
+	*/
+	private static long execTesters(mtTester[] testers)
+			throws FileNotFoundException, IOException
+	{
+		boolean interrupted = false;
+		boolean allWereAlive = true;
+		int		i;
+		long 	duration = 0;
+		int 	max = testers.length;
+		Thread[] threads;
+		byte[] extraMemory;
+
+		// new thread group
+		ThreadGroup tg = new ThreadGroup("workers");
+		//tg.allowThreadSuspension(false);
+
+		// grab start time
+		long start = System.currentTimeMillis();
+		long runTime = suite.getTimeMillis();
+		System.out.println("...running duration "+suite.getTime());
+
+		// grab some memory to make stopping easier
+ 		extraMemory = new byte[4096];
+
+		threads = new Thread[max];	
+		// run them
+		for (i = 0; i < max; i++)
+		{
+			threads[i] = new Thread(tg, testers[i]);
+			threads[i].start();
+		}
+
+		// loop sleeping 800ms a bite.
+		while (((duration = (System.currentTimeMillis() - start)) < runTime) &&
+				(allWereAlive = allAlive(threads)) && (!interrupted))
+		{
+			try 
+			{ 
+				Thread.sleep(800L); 
+			} catch (InterruptedException e) 
+			{ 
+				interrupted = true;	
+			}
+		}
+
+		System.out.println("...stopping testers");
+
+
+		/*
+		** Free up 2k of memory and garbage
+		** collect.  That should allow any
+		** starved testers to stop themselves.
+		*/
+		extraMemory = null;
+		System.gc();
+
+		/*
+		** Now stop everyone. First ask them to
+		** willingly stop.  By calling mtTester.stop()
+		** we prevent the testers from picking up the
+		** next task.  
+		*/
+		for (i = 0; i < testers.length; i++)
+		{
+			testers[i].stop();
+		}
+
+		/*
+		** Sleep 180 seconds, or until everyone
+		** is done.
+		*/
+		System.out.println("...waiting for testers to complete");
+		for (i = 0; i < MAX_WAIT_FOR_COMPLETION; i++)
+		{
+			try 
+			{ 
+				Thread.sleep((long)1000); 
+			} catch (InterruptedException e) 
+			{
+				System.out.println("...Unexpected InterrupedException: "+e);
+			}
+			if (allDead(threads))
+			{
+				break;
+			}
+		}
+
+		if (i == MAX_WAIT_FOR_COMPLETION)
+		{
+			log.println("WARNING: testers didn't die willingly, so I'm going to kill 'em.");
+			log.println("\tThis may result in connection resources that aren't cleaned up");
+			log.println("\t(e.g. you may see problems in the final script run with deadlocks).");
+		}
+	
+		/*	
+		** Now stop everyone that hasn't already stopped.
+		*/
+		for (i = 0; i < MAX_WAIT_FOR_COMPLETION && (tg.isDestroyed() == false ); i++) 
+		{ 
+
+			// can't really stop - deprecated because 'unsafe'. interrupt.
+			tg.interrupt();
+			try { Thread.sleep((long) 1000); } catch (InterruptedException e) {}
+
+			try 
+			{ 
+				tg.destroy(); 
+			} catch (IllegalThreadStateException e)
+			{
+				log.println("...waiting for ThreadGroup.interrupt() to work its magic");
+				try { Thread.sleep((long)1000); } catch (InterruptedException e2) {}
+				continue;
+			}
+			break;	
+		} 
+
+		if (interrupted == true)
+		{
+			System.out.println("TEST CASE SUMMARY: run interrupted");
+		}
+		else if (allWereAlive == false)
+		{
+			System.out.println("TEST CASE SUMMARY: abnormal termination due to error(s)"+
+				" -- see test log (./"+testName+"/"+testName+".log) for details ");
+		}
+		else
+		{
+			System.out.println("TEST CASE SUMMARY: normal termination");
+			if (i < MAX_WAIT_FOR_COMPLETION)
+			{
+				try
+				{
+					seqRunCases(suite.getFinalCases(), 
+							"last checks", 
+							inputDir, 
+							outputDir);
+				} catch (ijFatalException e)  
+				{ 
+					System.out.println("...error running final test cases");
+				}
+			}
+			else
+			{
+				System.out.println("...timed out trying to kill all testers,\n" +
+								"   skipping last scripts (if any).  NOTE: the\n"+
+								"   likely cause of the problem killing testers is\n"+
+								"   probably not enough VM memory OR test cases that\n"+
+								"   run for very long periods of time (so testers do not\n"+
+								"   have a chance to notice stop() requests");
+			}
+		}
+
+		return duration;
+	}
+
+
+	/**
+	** Search through the list of threads and see
+	** if they are all alive.
+	*/
+	public static boolean allAlive(Thread[] threads)
+	{
+		int	i;
+		for (i = 0; i < threads.length; i++)
+		{
+			if (threads[i].isAlive() == false)
+				break;
+		}
+		return (i == threads.length);
+	}
+
+	/**
+	** Search through the list of threads and see
+	** if they are all alive.
+	*/
+	public static boolean allDead(Thread[] threads)
+	{
+		int	i;
+		for (i = 0; i < threads.length; i++)
+		{
+			if (threads[i].isAlive() == true)
+				break;
+		}
+		return (i == threads.length);
+	}
+
+	/**
+	** Figure out the name of the log file and open
+	** it 
+	*/
+	private static LocalizedOutput openFile(String dir, String fileName, String suffix) 
+			throws IOException
+	{
+		String filePath;
+		String base;
+		int	dotSpot;
+		String newFile;
+		filePath = (dir == null) ? fileName : (dir + "/" + fileName);
+
+		if (suffix != null)
+		{
+			dotSpot = filePath.lastIndexOf(".");
+			if (dotSpot == -1)
+			{
+				dotSpot = filePath.length();
+			}
+
+			base = filePath.substring(0, dotSpot);
+			newFile = base + suffix;
+		}
+		else
+		{
+			newFile = filePath;
+		}	
+		return new LocalizedOutput(new FileOutputStream(newFile));
+	}
+	/**
+	** Sequentially run scripts
+	*/
+	private static void seqRunCases(Vector cases, String descr, String inputDir, String outputDir) 
+		throws FileNotFoundException, IOException, ijFatalException
+	{
+		LocalizedOutput	out;
+		BufferedInputStream	in;
+		mtTestCase		testCase;
+
+		if (cases == null)
+		{
+			System.out.println("...no "+descr+" being performed");
+			return;
+		}
+
+		Enumeration e = cases.elements();
+
+		while (e.hasMoreElements())
+		{
+			testCase = (mtTestCase)e.nextElement();
+			System.out.println("...running "+descr+" via "+testCase.getFile());	
+			out = openFile(outputDir, testCase.getFile(), ".out");
+			in = testCase.initialize(inputDir);
+			testCase.runMe(log, out, in);
+		}
+	}
+
+	/**
+	** Given the command file, infer the test name.
+	** Takes the portion of the file name between
+	** the last '.' and the last '/'.  e.g.
+	** x/y/Name.suffix -> Name
+	**
+	*/
+	private static String getTestName(String cmdFile)
+	{
+		int slash, dotSpot;
+
+		slash = cmdFile.lastIndexOf("/");
+		if (slash == -1)
+		{
+			slash = 0;
+		}
+
+		dotSpot = cmdFile.lastIndexOf(".");
+		if (dotSpot == -1)
+		{
+			dotSpot = cmdFile.length();
+		}
+		return cmdFile.substring(slash, dotSpot);
+
+	}
+}

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/MultiTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/RunTest.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/RunTest.java?view=diff&r1=152929&r2=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/RunTest.java (original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/harness/RunTest.java Tue Feb  8 12:02:02 2005
@@ -107,7 +107,7 @@
 	static String canondir; // optional (to specify other than "master")
 	static String bootcp; // for j9 bootclasspath
 	static String canonpath; // special full path (will be platform dependent)
-	//static String mtestdir = ""; // for MultiTest user must specify testdir
+	static String mtestdir = ""; // for MultiTest user must specify testdir
 	static String testSpecialProps = ""; // any special suite properties
 	static String testJavaFlags = ""; // special command line flags
 	static String jvmflags; // java special flags
@@ -472,7 +472,10 @@
             //System.out.println("testDirName: " + testDirName);
             scriptFileName = scriptName.substring(index+1, scriptName.length());
             //System.out.println("scriptFileName: " + scriptFileName);
-            defaultPackageName = defaultPackageName + "functionTests/tests/" + testDirName + "/";
+            if (testType.equals("multi"))
+                defaultPackageName = defaultPackageName + "functionTests/multi/" + testDirName + "/";
+            else
+                defaultPackageName = defaultPackageName + "functionTests/tests/" + testDirName + "/";
             //System.out.println("defaultPackage: " + defaultPackageName);
             resourceName = defaultPackageName + scriptFileName;
             //System.out.println("resource: " + resourceName);
@@ -592,12 +595,20 @@
 		        
 	    fileSep = File.separatorChar;
 
-        // for now, only addressing java and sql tests; other possible test 
-        // contributions will be unittests and multithreaded tests.
+        // for now, only addressing java, sql and multi threaded tests; other possible test 
+        // contributions will be unittests.
+
+        // For multi tests, the user should have specified mtestdir (full path)
+        // unless this is a Suite, in which case outDir is used for mtestdir
+        if ( testType.equals("multi") )
+            if ( (mtestdir == null) || (mtestdir.length()==0) )
+                // Use outDir for mtestdir
+                mtestdir = outDir.getPath();
 
         // For certain test types, locate script file based on scriptName
         // Then determine the actual test name and directory
-        if ( (!testType.equals("java")) ) 
+        if ( (!testType.equals("java")) && 
+             (!testType.equals("multi")) ) 
         {
             // NOTE: cannot use getResource because the urls returned
             // are not the same between different java environments
@@ -625,7 +636,7 @@
                     fw.close();
                     script = new File(f.getCanonicalPath());
                 }
-			// else is probably only multi test, not contributed at this point
+			// else is probably only multi test
             else
                 try { script = new File((new File(outDir, scriptFileName)).getCanonicalPath()); } 
                 catch (IOException e) {
@@ -1016,9 +1027,9 @@
 		testOutName = sp.getProperty("testoutname");
 		useOutput = new Boolean(sp.getProperty("useoutput","true")).booleanValue();
 		outcopy = new Boolean(sp.getProperty("outcopy","false")).booleanValue();
-		// mtestdir = sp.getProperty("mtestdir"); // used by multi tests
-		//if (mtestdir == null)
-		//    mtestdir = "";
+		mtestdir = sp.getProperty("mtestdir"); // used by multi tests
+		if (mtestdir == null)
+		    mtestdir = "";
 		    
 		String usepr = sp.getProperty("useprocess");
 		if (usepr != null)
@@ -1274,7 +1285,11 @@
         isApDef = loadTestResource(apDefProp);
 
         // Check for test_app.properties
-        isAp = loadTestResource("tests/" + testDirName + "/" + testBase + "_app.properties");
+
+        if ( testType.equals("multi") )
+            isAp = loadTestResource("multi/" + testDirName + "/" + testBase + "_app.properties");
+        else
+            isAp = loadTestResource("tests/" + testDirName + "/" + testBase + "_app.properties");
 //System.out.println("**************");
 //System.out.println("isAp = " + isAp);
 //System.out.println(defaultPackageName + testBase + "_app.properties");
@@ -1501,18 +1516,18 @@
     		        else
 						copyOutDir = outDir;
     		    }
-    		    //else if ( testType.equals("multi") )
-    		    //{
-    		    //    if ( (isSuiteRun) || (mtestdir == null) || (mtestdir.length()==0) )
-    		    //    {
-				//		copyOutDir = outDir;
-    		    //    }
-    		    //    else
-    		    //    {
-    		    //        File multiDir = new File(mtestdir);
-				//		copyOutDir = multiDir;
-    		    //    }
-    		    //}
+    		    else if ( testType.equals("multi") )
+    		    {
+    		        if ( (isSuiteRun) || (mtestdir == null) || (mtestdir.length()==0) )
+    		        {
+						copyOutDir = outDir;
+    		        }
+    		        else
+    		        {
+    		            File multiDir = new File(mtestdir);
+						copyOutDir = multiDir;
+    		        }
+    		    }
                 else if ( outcopy == true )
                     copyOutDir = outDir;
                 else if ( (runDir != null) && (runDir.exists()) )
@@ -2055,8 +2070,21 @@
                 v.addElement(propString);
             }
         }
-        // here would be placed calls to and set properties for e.g. unittests and multithreaded tests methods
-            
+           
+        else if ( testType.equals("multi") )
+        {
+	System.out.println("scriptiflename is: " + scriptFileName);
+            v.addElement("org.apache.derbyTesting.functionTests.harness.MultiTest");
+            v.addElement(scriptFileName);
+            v.addElement("-i");
+            v.addElement(mtestdir);
+            v.addElement("-o");
+            v.addElement(outDir.getPath());
+            v.addElement("-p");
+            v.addElement(propString);
+        }
+        // here would be placed calls to and set properties for e.g. unittests methods
+
         // Now convert the vector into a string array
         String[] sCmd = new String[v.size()];
         for (int i = 0; i < v.size(); i++)
@@ -2270,7 +2298,30 @@
 			}
     		sysProp.put("user.dir", olduserdir);
         }
-        // here would be placed messages re unittests and multithreaded tests not working with useprocess false
+        else if (testType.equals("multi"))
+        {
+	System.out.println("scriptiflename is: later " + scriptFileName);
+            // multi tests will now run with useprocess=false;
+            // however, probably because they use Threads, if run 
+            // within another test suite, the next suite will not run
+            // And using a Thread.join() to start the tests doesn't resolve
+            // this. So this support is here simply to allow running
+            // something like stressmulti just by itself for debugging
+            //sysProp.put("user.dir", outDir.getCanonicalPath());
+            //javaPath = "org.apache.derbyTesting.functionTests.harness.MultiTest";
+            String[] args = new String[5];
+            args[0] = scriptFileName;
+            args[1] = "-i";
+            args[2] = mtestdir;
+            args[3] = "-o";
+            args[4] = outDir.getPath();
+            System.out.println("Try running MultiTest.main");
+            for (int i = 0; i < args.length; i++)
+                System.out.println("args: " + args[i]);
+            System.exit(1);
+            org.apache.derbyTesting.functionTests.harness.MultiTest.main(args);
+        }
+        // here would be placed messages re unittests not working with useprocess false
         ps.close();
         // Reset System.out and System.err
         System.setOut(stdout);

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/stress.out
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/stress.out?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/stress.out (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/stress.out Tue Feb  8 12:02:02 2005
@@ -0,0 +1,7 @@
+...running initialization via init.sql
+...running with 10 threads
+...running duration 0:10:0
+...stopping testers
+...waiting for testers to complete
+TEST CASE SUMMARY: normal termination
+...running last checks via final.sql

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/stress.out
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/build.xml
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/build.xml?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/build.xml (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/build.xml Tue Feb  8 12:02:02 2005
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+
+<!-- ==================================================================== -->
+<!--                       Derby build file                          -->
+<!-- ==================================================================== -->
+
+<project default="FTstress" basedir=".">
+
+<!-- ==================================================================== -->
+<!--                           Set properties                             -->
+<!-- ==================================================================== -->
+
+  <!-- User settings -->
+  <property file="${user.home}/ant.properties"/>
+
+  <!-- Set property lib dir -->
+  <property name="properties.dir" value="${ant.home}/properties"/>
+
+  <!-- Significant dirs -->
+  <property file="${properties.dir}/dirs.properties"/>
+  <property file="${properties.dir}/derbytesting.properties"/>
+
+  <!-- derby testing specific properties files -->
+  <property file="${ant.home}/properties/derbytesting.properties"/>
+  <property file="${user.home}/properties/derbytesting.properties"/>
+  <property name="this.dir" value="${derby.testing.functest.dir}/tests/lang"/>
+
+<!--             ============ Begin Targets ==============                -->
+  <target name="FTstress" depends="copyfiles"/>
+
+  <target name="copyfiles">
+    <copy todir="${out.dir}/${derby.testing.functest.dir}/multi/stress">
+      <fileset dir="${derby.testing.src.dir}/${derby.testing.functest.dir}/multi/stress" 
+        includesfile="${derby.testing.src.dir}/${derby.testing.functest.dir}/multi/stress/copyfiles.ant"/> 
+    </copy>
+  </target>
+
+</project>
+

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/copyfiles.ant
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/copyfiles.ant?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/copyfiles.ant (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/copyfiles.ant Tue Feb  8 12:02:02 2005
@@ -0,0 +1,22 @@
+create.sql
+createa.sql
+createy.sql
+createz.sql
+final.sql
+init.properties
+init_app.properties
+init.sql
+insert.sql
+insert2.sql
+roll.sql
+roll2.sql
+run.properties
+run_derby.properties
+selectmain.sql
+selectmain2.sql
+stress.multi
+stress_app.properties
+stress50x59.multi
+stress50x59_app.properties
+update.sql
+update2.sql

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/copyfiles.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/create.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/create.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/create.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/create.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,10 @@
+autocommit off;
+create table x (x int);
+insert into x values (1);
+insert into x values (1);
+insert into x values (1);
+insert into x values (1);
+insert into x values (1);
+drop table x;
+commit;
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/create.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createa.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createa.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createa.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createa.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,10 @@
+autocommit off;
+create table a (x int);
+insert into a values (1);
+insert into a values (1);
+insert into a values (1);
+insert into a values (1);
+insert into a values (1);
+drop table a;
+commit;
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createa.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createy.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createy.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createy.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createy.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,10 @@
+autocommit off;
+create table y (x int);
+insert into y values (1);
+insert into y values (1);
+insert into y values (1);
+insert into y values (1);
+insert into y values (1);
+drop table y;
+commit;
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createy.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createz.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createz.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createz.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createz.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,10 @@
+autocommit off;
+create table z (x int);
+insert into z values (1);
+insert into z values (1);
+insert into z values (1);
+insert into z values (1);
+insert into z values (1);
+drop table z;
+commit;
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/createz.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/final.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/final.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/final.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/final.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,7 @@
+-- check all tables
+select tablename, 
+		schemaname, 
+		SYSCS_UTIL.SYSCS_CHECK_TABLE(schemaname, tablename)
+from sys.sysschemas s, sys.systables t
+where s.schemaid = t.schemaid;
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/final.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.properties?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.properties (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.properties Tue Feb  8 12:02:02 2005
@@ -0,0 +1,2 @@
+#
+database=jdbc:derby:mydb;create=true

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,39 @@
+
+drop function PADSTRING;
+drop function RANDOM;
+CREATE FUNCTION  PADSTRING (DATA VARCHAR(32000), LENGTH INTEGER) RETURNS VARCHAR(32000) EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.Formatters.padString' LANGUAGE JAVA PARAMETER STYLE JAVA;
+
+CREATE FUNCTION RANDOM() RETURNS DOUBLE EXTERNAL NAME 'java.lang.Math.random' LANGUAGE JAVA PARAMETER STYLE JAVA;
+
+
+drop table main;
+drop table main2;
+
+create table main(x int not null primary key, y varchar(2000));
+insert into main values(1, PADSTRING('aaaa',2000));
+insert into main values(2, PADSTRING('aaaa',2000));
+insert into main values(3, PADSTRING('aaaa',2000));
+insert into main values(4, PADSTRING('aaaa',2000));
+insert into main values(5, PADSTRING('aaaa',2000));
+insert into main values(6, PADSTRING('aaaa',2000));
+insert into main values(7, PADSTRING('aaaa',2000));
+insert into main values(8, PADSTRING('aaaa',2000));
+insert into main values(9, PADSTRING('aaaa',2000));
+insert into main values(10, PADSTRING('aaaa',2000));
+insert into main values(12, PADSTRING('aaaa',2000));
+insert into main values(13, PADSTRING('aaaa',2000));
+
+create table main2(x int not null primary key, y varchar(2000));
+insert into main2 values(1, PADSTRING('aaaa',2000));
+insert into main2 values(2, PADSTRING('aaaa',2000));
+insert into main2 values(3, PADSTRING('aaaa',2000));
+insert into main2 values(4, PADSTRING('aaaa',2000));
+insert into main2 values(5, PADSTRING('aaaa',2000));
+insert into main2 values(6, PADSTRING('aaaa',2000));
+insert into main2 values(7, PADSTRING('aaaa',2000));
+insert into main2 values(8, PADSTRING('aaaa',2000));
+insert into main2 values(9, PADSTRING('aaaa',2000));
+insert into main2 values(10, PADSTRING('aaaa',2000));
+insert into main2 values(12, PADSTRING('aaaa',2000));
+insert into main2 values(13, PADSTRING('aaaa',2000));
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init_app.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init_app.properties?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init_app.properties (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init_app.properties Tue Feb  8 12:02:02 2005
@@ -0,0 +1,2 @@
+#
+database=jdbc:derby:mydb;create=true

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/init_app.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,3 @@
+
+insert into main values (random() * 1000 + 100, 'rand');
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert2.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert2.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert2.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert2.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,3 @@
+
+insert into main2 values (random() * 1000 + 100, 'rand');
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/insert2.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,5 @@
+autocommit off;
+insert into main values (666, '666');
+rollback;
+
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll2.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll2.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll2.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll2.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,5 @@
+autocommit off;
+insert into main2 values (666, '666');
+rollback;
+
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/roll2.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run.properties?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run.properties (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run.properties Tue Feb  8 12:02:02 2005
@@ -0,0 +1,16 @@
+#
+database=jdbc:derby:mydb;create=false
+derby.locks.deadlockTimeout=3
+derby.locks.waitTimeout=5
+#derby.locks.monitor=true
+derby.locks.deadlockTrace=true
+derby.language.logStatementText=true
+
+derby.infolog.append=true
+derby.storage.keepTransactionLog=true
+#derby.debug.true=DeadlockTrace
+#derby.debug.true=DaemonOff
+
+#derby.storage.userLockTrace=true
+#derby.debug.true=userLockStackTrace,DeadlockTrace
+#derby.debug.true=DeadlockTrace

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run_derby.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run_derby.properties?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run_derby.properties (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run_derby.properties Tue Feb  8 12:02:02 2005
@@ -0,0 +1,10 @@
+#
+database=jdbc:derby:mydb;create=false
+derby.locks.deadlockTimeout=3
+derby.locks.waitTimeout=5
+derby.language.logStatementText=true
+
+derby.infolog.append=true
+derby.storage.keepTransactionLog=true
+#derby.debug.true=DeadlockTrace
+#derby.debug.true=DaemonOff

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/run_derby.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,2 @@
+select * from main;
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain2.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain2.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain2.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain2.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,2 @@
+select * from main2;
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/selectmain2.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress.multi
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress.multi?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress.multi (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress.multi Tue Feb  8 12:02:02 2005
@@ -0,0 +1,86 @@
+threads: 10
+runtime: 00:10:00
+	# INITIALIZATION
+	init: initialization
+	file: init.sql
+	properties: init.properties
+	ignoreErrors: X0X05, 42X05, 42Y55, 42Y07,42Y55
+
+	# CASES
+	
+	case: createX
+	file: create.sql
+	properties: run.properties
+	weight: 5
+	ignoreErrors: X0X08, X0X05, 42X05, 42Y55, 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: createY
+	file: createy.sql
+	properties: run.properties
+	weight: 5
+	ignoreErrors: X0X08, X0X05, 42X05, 42Y55, 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: createZ
+	file: createz.sql
+	properties: run.properties
+	weight: 10
+	ignoreErrors: X0X08, X0X05, 42X05, 42Y55, 42000, 40001,40XL1,40XL2, 42Y07, X0Y32,42Y55
+
+	case: createA
+	file: createa.sql
+	properties: run.properties
+	weight: 10
+	ignoreErrors: X0X05, 42X05, 42Y55, 42000, 40001,40XL1,40XL2, 42Y07, X0Y32,42Y55
+
+	case: roll
+	file: roll.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: X0X05, 42X05, 42Y55, 42000, 23505, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: roll2
+	file: roll2.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: X0X05, 42X05, 42Y55, 42000, 23505, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: insert
+	file: insert.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: 42000, 23505, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: insert2
+	file: insert2.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: 42000, 23505, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: update
+	file: update.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: update2
+	file: update2.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: SELECT1
+	file: selectmain.sql
+	properties: run.properties
+	weight: 80
+	ignoreErrors: 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: SELECT2
+	file: selectmain2.sql
+	properties: run.properties
+	weight: 80
+	ignoreErrors: 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	# FINAL SCRIPT
+	last: final
+	file: final.sql
+	properties: run.properties

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress.multi
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59.multi
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59.multi?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59.multi (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59.multi Tue Feb  8 12:02:02 2005
@@ -0,0 +1,86 @@
+threads: 50
+runtime: 00:59:00
+	# INITIALIZATION
+	init: initialization
+	file: init.sql
+	properties: init.properties
+	ignoreErrors: X0X05, 42X05, 42Y55, 42Y07,42Y55
+
+	# CASES
+	
+	case: createX
+	file: create.sql
+	properties: run.properties
+	weight: 5
+	ignoreErrors: X0X08, X0X05, 42X05, 42Y55, 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: createY
+	file: createy.sql
+	properties: run.properties
+	weight: 5
+	ignoreErrors: X0X08, X0X05, 42X05, 42Y55, 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: createZ
+	file: createz.sql
+	properties: run.properties
+	weight: 10
+	ignoreErrors: X0X08, X0X05, 42X05, 42Y55, 42000, 40001,40XL1,40XL2, 42Y07, X0Y32,42Y55
+
+	case: createA
+	file: createa.sql
+	properties: run.properties
+	weight: 10
+	ignoreErrors: X0X05, 42X05, 42Y55, 42000, 40001,40XL1,40XL2, 42Y07, X0Y32,42Y55
+
+	case: roll
+	file: roll.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: X0X05, 42X05, 42Y55, 42000, 23505, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: roll2
+	file: roll2.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: X0X05, 42X05, 42Y55, 42000, 23505, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: insert
+	file: insert.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: 42000, 23505, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: insert2
+	file: insert2.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: 42000, 23505, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: update
+	file: update.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: update2
+	file: update2.sql
+	properties: run.properties
+	weight: 15
+	ignoreErrors: 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: SELECT1
+	file: selectmain.sql
+	properties: run.properties
+	weight: 80
+	ignoreErrors: 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	case: SELECT2
+	file: selectmain2.sql
+	properties: run.properties
+	weight: 80
+	ignoreErrors: 42000, 40001,40XL1,40XL2, 42Y07,42Y55
+
+	# FINAL SCRIPT
+	last: final
+	file: final.sql
+	properties: run.properties

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59.multi
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59_app.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59_app.properties?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59_app.properties (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59_app.properties Tue Feb  8 12:02:02 2005
@@ -0,0 +1 @@
+supportfiles=stress/create.sql,stress/createa.sql,stress/createy.sql,stress/createz.sql,stress/final.sql,stress/init.properties,stress/init.sql,stress/insert.sql,stress/insert2.sql,stress/roll.sql,stress/roll2.sql,stress/run.properties,stress/selectmain.sql,stress/selectmain2.sql,stress/stress.multi,stress/stress50x59.multi,stress/update.sql,stress/update2.sql

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress50x59_app.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress_app.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress_app.properties?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress_app.properties (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress_app.properties Tue Feb  8 12:02:02 2005
@@ -0,0 +1 @@
+supportfiles=multi/stress/create.sql,multi/stress/createa.sql,multi/stress/createy.sql,multi/stress/createz.sql,multi/stress/final.sql,multi/stress/init.properties,multi/stress/init.sql,multi/stress/insert.sql,multi/stress/insert2.sql,multi/stress/roll.sql,multi/stress/roll2.sql,multi/stress/run.properties,multi/stress/selectmain.sql,multi/stress/selectmain2.sql,multi/stress/stress.multi,multi/stress/update.sql,multi/stress/update2.sql

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/stress_app.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,4 @@
+update main set y = 'zzz' where x = 5;
+disconnect;
+
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update2.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update2.sql?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update2.sql (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update2.sql Tue Feb  8 12:02:02 2005
@@ -0,0 +1,4 @@
+update main2 set y = 'zzz' where x = 5;
+disconnect;
+
+disconnect;

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/multi/stress/update2.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbyall.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbyall.properties?view=diff&r1=152929&r2=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbyall.properties (original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbyall.properties Tue Feb  8 12:02:02 2005
@@ -1,3 +1,3 @@
-suites=derbylang derbynetmats storeall xa derbytools jdbc20 jdk14 jdbcapi encryption nist demo
+suites=derbylang derbynetmats storeall xa derbytools jdbc20 jdk14 jdbcapi encryption nist demo multi
 derby.debug.true=enableBtreeConsistencyCheck
 derby.stream.error.logSeverityLevel=0

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.properties?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.properties (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.properties Tue Feb  8 12:02:02 2005
@@ -0,0 +1 @@
+runwithj9=false

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.runall
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.runall?view=auto&rev=152930
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.runall (added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.runall Tue Feb  8 12:02:02 2005
@@ -0,0 +1 @@
+stress/stress.multi

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/multi.runall
------------------------------------------------------------------------------
    svn:eol-style = native