You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2004/01/20 03:04:14 UTC
cvs commit: jakarta-jmeter/src/functions/org/apache/jmeter/functions PackageTest.java
sebb 2004/01/19 18:04:14
Added: src/functions/org/apache/jmeter/functions PackageTest.java
Log:
Initial stab at testing Functions - only CVSRead at present
Revision Changes Path
1.1 jakarta-jmeter/src/functions/org/apache/jmeter/functions/PackageTest.java
Index: PackageTest.java
===================================================================
/*
* Package to test functions
*
* Functions are created and parameters set up in one thread.
*
* They are then tested in another thread, or two threads running in parallel
*
*/
package org.apache.jmeter.functions;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.LinkedList;
import junit.extensions.ActiveTestSuite;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.junit.JMeterTestCase;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
/**
* @author sebb 'AT apache DOT org
* @version $revision$ $date$
*/
public class PackageTest extends JMeterTestCase
{
// transient private static final Logger log = LoggingManager.getLoggerForClass();
//
// static{
// LoggingManager.setPriority("DEBUG","jmeter");
// LoggingManager.setTarget(new PrintWriter(System.out));
// }
//
public PackageTest(String arg0)
{
super(arg0);
}
// Create the CSVRead function and set its parameters.
private static CSVRead setParams(String p1, String p2) throws Exception
{
CSVRead cr = new CSVRead();
Collection parms = new LinkedList();
if (p1 != null) parms.add(new CompoundVariable(p1));
if (p2 != null) parms.add(new CompoundVariable(p2));
cr.setParameters(parms);
return cr;
}
public static Test suite() throws Exception
{
TestSuite suite = new TestSuite("SingleThreaded");
suite.addTest(new PackageTest("CSV2Setup"));
suite.addTest(new PackageTest("CSV2Run"));
//Reset files
suite.addTest(new PackageTest("CSV2Setup"));
TestSuite par = new ActiveTestSuite("Parallel");
par.addTest(new PackageTest("Thread1"));
par.addTest(new PackageTest("Thread2"));
suite.addTest(par);
return suite;
}
// Function objects to be tested
private static CSVRead cr1, cr2, cr3, cr4;
// Helper class used to implement co-routine between two threads
private static class Baton{
void pass(){
done();
try
{
//System.out.println(">wait:"+Thread.currentThread().getName());
wait(1000);
}
catch (InterruptedException e)
{
System.out.println(e);
}
//System.out.println("<wait:"+Thread.currentThread().getName());
}
void done(){
//System.out.println(">done:"+Thread.currentThread().getName());
notifyAll();
}
}
private static Baton baton = new Baton();
public void Thread1() throws Exception
{
Thread.currentThread().setName("One");
synchronized(baton){
assertEquals("b1",cr1.execute(null,null));
assertEquals("",cr4.execute(null,null));
assertEquals("b2",cr1.execute(null,null));
baton.pass();
assertEquals("",cr4.execute(null,null));
assertEquals("b4",cr1.execute(null,null));
assertEquals("",cr4.execute(null,null));
baton.pass();
assertEquals("b3",cr1.execute(null,null));
assertEquals("",cr4.execute(null,null));
baton.done();
}
}
public void Thread2() throws Exception
{
Thread.currentThread().setName("Two");
Thread.sleep(500);// Allow other thread to start
synchronized(baton){
assertEquals("b3",cr1.execute(null,null));
assertEquals("",cr4.execute(null,null));
baton.pass();
assertEquals("b1",cr1.execute(null,null));
assertEquals("",cr4.execute(null,null));
assertEquals("b2",cr1.execute(null,null));
baton.pass();
assertEquals("",cr4.execute(null,null));
assertEquals("b4",cr1.execute(null,null));
baton.done();
}
}
public void CSV2Run() throws Exception
{
assertEquals("b1",cr1.execute(null,null));
assertEquals("c1",cr2.execute(null,null));
assertEquals("d1",cr3.execute(null,null));
assertEquals("",cr4.execute(null,null));
assertEquals("b2",cr1.execute(null,null));
assertEquals("c2",cr2.execute(null,null));
assertEquals("d2",cr3.execute(null,null));
assertEquals("",cr4.execute(null,null));
assertEquals("b3",cr1.execute(null,null));
assertEquals("c3",cr2.execute(null,null));
assertEquals("d3",cr3.execute(null,null));
assertEquals("",cr4.execute(null,null));
assertEquals("b4",cr1.execute(null,null));
assertEquals("c4",cr2.execute(null,null));
assertEquals("d4",cr3.execute(null,null));
assertEquals("",cr4.execute(null,null));
assertEquals("b1",cr1.execute(null,null));
assertEquals("c1",cr2.execute(null,null));
assertEquals("d1",cr3.execute(null,null));
}
public void CSV2Setup() throws Exception
{
/*
try {
setParams(null,null);
fail("Should have failed");
}
catch (InvalidVariableException e)
{
}
try {
setParams(null,"");
fail("Should have failed");
}
catch (InvalidVariableException e)
{
}
try {
setParams("",null);
fail("Should have failed");
}
catch (InvalidVariableException e)
{
}
*/
cr1=setParams("test.csv","1");
cr2=setParams("test.csv","2");
cr3=setParams("test.csv","3");
cr4=setParams("test.csv","next");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org