Rice Pastry API

rice.p2p.multiring.testing
Class MultiringRegrTest

java.lang.Object
  extended by rice.p2p.multiring.testing.MultiringRegrTest

public class MultiringRegrTest
extends java.lang.Object

Provides regression testing setup for applications written on top of the commonapi. Currently is written to use Pastry nodes, but this will be abstracted away.

Version:
$Id: MultiringRegrTest.java 4654 2009-01-08 16:33:07Z jeffh $
Author:
Alan Mislove

Nested Class Summary
 class MultiringRegrTest.MultiringTestApp
           
static class MultiringRegrTest.MultiringTestMessage
           
 
Field Summary
static java.lang.String BOOTSTRAP_HOST
           
static int BOOTSTRAP_PORT
           
 Environment environment
           
protected  PastryNodeFactory factory
           
static java.lang.String FAILURE
           
protected  MultiringRegrTest.MultiringTestApp[] globalApps
           
protected  MultiringNode[] globalNodes
           
protected  Id globalRingId
           
protected  IdFactory idFactory
           
static java.lang.String INSTANCE_NAME
           
static int NUM_GATEWAY_NODES
           
static int NUM_GLOBAL_NODES
           
static int NUM_INTERNAL_NODES
           
static int NUM_ORGANIZATIONAL_NODES
           
static int NUM_ORGANIZATIONS
           
protected  MultiringRegrTest.MultiringTestApp[][] organizationalApps
           
protected  MultiringNode[][] organizationalNodes
           
protected static int PAD_SIZE
           
static int PORT
           
static int PROTOCOL
           
static int PROTOCOL_DIRECT
           
protected  Id[] ringIds
           
protected  NetworkSimulator simulator
           
static int SIMULATOR
           
static int SIMULATOR_EUCLIDEAN
           
static int SIMULATOR_SPHERE
           
static java.lang.String SUCCESS
           
 
Constructor Summary
MultiringRegrTest(Environment env)
          Constructor, which takes no arguments and sets up the factories in preparation for node creation.
 
Method Summary
protected  void assertEquals(java.lang.String description, java.lang.Object expected, java.lang.Object actual)
          Thows an exception if expected is not equal to actual.
protected  void assertTrue(java.lang.String intention, boolean test)
          Throws an exception if the test condition is not met.
protected  MultiringNode createNode(Id ringId, MultiringNode bootstrap)
          Method which creates a non-gateway node, given it's node number
protected  MultiringNode createNode(MultiringNode existing, Id ringId, MultiringNode bootstrap)
          Method which creates a gateway node, given it's node number
 void createNodes()
          Method which creates the nodes
protected  NodeHandle getBootstrap(Node bootstrap)
          Gets a handle to a bootstrap node.
protected  void kill(int n)
          Method which kills the specified node
static void main(java.lang.String[] args)
           
protected static void parseArgs(java.lang.String[] args)
          process command line args
protected  void pause(int ms)
          Method which pauses for the provided number of milliseconds
protected  void runTest()
          Method which should run the test - this is called once all of the nodes have been created and are ready.
protected  void sectionDone()
          Method which prints the end of a test section.
protected  void sectionStart(java.lang.String name)
          Method which prints the beginning of a test section.
protected  void simulate()
          In case we're using the direct simulator, this method simulates the message passing.
 void start()
          Method which starts the creation of nodes
protected  void stepDone()
          Method which prints the end of a test section step, with an assumed success.
protected  void stepDone(java.lang.String status)
          Method which prints the end of a test section step.
protected  void stepDone(java.lang.String status, java.lang.String message)
          Method which prints the end of a test section step, as well as a message.
protected  void stepException(java.lang.Exception e)
          Method which prints an exception which occured during testing.
protected  void stepStart(java.lang.String name)
          Method which prints the beginning of a test section step.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

globalNodes

protected MultiringNode[] globalNodes

organizationalNodes

protected MultiringNode[][] organizationalNodes

globalApps

protected MultiringRegrTest.MultiringTestApp[] globalApps

organizationalApps

protected MultiringRegrTest.MultiringTestApp[][] organizationalApps

globalRingId

protected Id globalRingId

ringIds

protected Id[] ringIds

factory

protected PastryNodeFactory factory

idFactory

protected IdFactory idFactory

simulator

protected NetworkSimulator simulator

NUM_GLOBAL_NODES

public static int NUM_GLOBAL_NODES

NUM_ORGANIZATIONS

public static int NUM_ORGANIZATIONS

NUM_INTERNAL_NODES

public static int NUM_INTERNAL_NODES

NUM_GATEWAY_NODES

public static int NUM_GATEWAY_NODES

NUM_ORGANIZATIONAL_NODES

public static int NUM_ORGANIZATIONAL_NODES

SUCCESS

public static final java.lang.String SUCCESS
See Also:
Constant Field Values

FAILURE

public static final java.lang.String FAILURE
See Also:
Constant Field Values

PAD_SIZE

protected static final int PAD_SIZE
See Also:
Constant Field Values

PROTOCOL_DIRECT

public static final int PROTOCOL_DIRECT
See Also:
Constant Field Values

SIMULATOR_SPHERE

public static final int SIMULATOR_SPHERE
See Also:
Constant Field Values

SIMULATOR_EUCLIDEAN

public static final int SIMULATOR_EUCLIDEAN
See Also:
Constant Field Values

PORT

public static int PORT

BOOTSTRAP_HOST

public static java.lang.String BOOTSTRAP_HOST

BOOTSTRAP_PORT

public static int BOOTSTRAP_PORT

PROTOCOL

public static int PROTOCOL

SIMULATOR

public static int SIMULATOR

INSTANCE_NAME

public static java.lang.String INSTANCE_NAME

environment

public Environment environment
Constructor Detail

MultiringRegrTest

public MultiringRegrTest(Environment env)
                  throws java.io.IOException
Constructor, which takes no arguments and sets up the factories in preparation for node creation.

Throws:
java.io.IOException
Method Detail

createNodes

public void createNodes()
Method which creates the nodes


start

public void start()
Method which starts the creation of nodes


simulate

protected void simulate()
In case we're using the direct simulator, this method simulates the message passing.


createNode

protected MultiringNode createNode(Id ringId,
                                   MultiringNode bootstrap)
Method which creates a non-gateway node, given it's node number

Parameters:
num - The number of creation order
Returns:
The created node

createNode

protected MultiringNode createNode(MultiringNode existing,
                                   Id ringId,
                                   MultiringNode bootstrap)
Method which creates a gateway node, given it's node number

Parameters:
num - The number of creation order
Returns:
The created node

getBootstrap

protected NodeHandle getBootstrap(Node bootstrap)
Gets a handle to a bootstrap node.

Returns:
handle to bootstrap node, or null.

pause

protected void pause(int ms)
Method which pauses for the provided number of milliseconds

Parameters:
ms - The number of milliseconds to pause

kill

protected void kill(int n)
Method which kills the specified node

Parameters:
n - The node to kill

runTest

protected void runTest()
Method which should run the test - this is called once all of the nodes have been created and are ready.


sectionStart

protected final void sectionStart(java.lang.String name)
Method which prints the beginning of a test section.

Parameters:
name - The name of section

sectionDone

protected final void sectionDone()
Method which prints the end of a test section.


stepStart

protected final void stepStart(java.lang.String name)
Method which prints the beginning of a test section step.

Parameters:
name - The name of step

stepDone

protected final void stepDone()
Method which prints the end of a test section step, with an assumed success.


stepDone

protected final void stepDone(java.lang.String status)
Method which prints the end of a test section step.

Parameters:
status - The status of step

stepDone

protected final void stepDone(java.lang.String status,
                              java.lang.String message)
Method which prints the end of a test section step, as well as a message.

Parameters:
status - The status of section
message - The message

stepException

protected final void stepException(java.lang.Exception e)
Method which prints an exception which occured during testing.

Parameters:
e - The exception which was thrown

assertTrue

protected final void assertTrue(java.lang.String intention,
                                boolean test)
Throws an exception if the test condition is not met.


assertEquals

protected final void assertEquals(java.lang.String description,
                                  java.lang.Object expected,
                                  java.lang.Object actual)
Thows an exception if expected is not equal to actual.


parseArgs

protected static void parseArgs(java.lang.String[] args)
process command line args


main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Throws:
java.io.IOException

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection