Package org.jboss.byteman.contrib.dtest
Class InstrumentedClass
- java.lang.Object
-
- org.jboss.byteman.contrib.dtest.InstrumentedClass
-
- All Implemented Interfaces:
java.rmi.Remote
,RemoteInterface
public class InstrumentedClass extends java.lang.Object implements RemoteInterface
InstrumentedClass instances serve two purposes: Internally to the framework they provide a communication endpoint for receiving information from the remote, Byteman instrumented code execution. To the framework user, they provide utility methods for verifying expectations relating to that remote execution e.g. the number of method calls made.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
className
private java.util.Map<java.lang.Integer,InstrumentedInstance>
instrumentedInstances
private static java.lang.Integer
STATIC_INSTANCE_ID
-
Constructor Summary
Constructors Constructor Description InstrumentedClass(java.lang.String className)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assertKnownInstances(int count)
Checks that the number of known, distinct object instances of this class is as stated.void
assertMethodCallCount(java.lang.String methodName, int callCount)
Checks that the number of known invocations of the given method is specified count.void
assertMethodCallCount(java.lang.String message, java.lang.String methodName, int callCount)
Checks that the number of known invocations of the given method is specified count.void
assertMethodCallCount(java.lang.String message, java.lang.String methodName, CallCount callCount)
Checks that the number of known invocations of the given method falls within the specified range for each known instances of the class.void
assertMethodCalled(java.lang.String methodName)
Checks that the given method has been called at least once on each known instance of the class.void
assertMethodNotCalled(java.lang.String methodName)
Checks that the given method has not been seen to be called on any known instance of the class.void
assertSumMethodCallCount(java.lang.String method, int callCount)
Check that number of known invocations of the given method of all known instances is specified count.
Difference againstassertMethodCallCount(String, int)
is that here we query against all know instances.java.util.Set<InstrumentedInstance>
getInstances()
Returns the set of known instances of the class.int
getInvocationCount(java.lang.String methodName)
Returns number of method calls for the class.
Sum number of method calls on all instrumented instances belonging to this instrumented class.void
trace(java.lang.String methodName, java.lang.Object[] args)
Receiving side of the remote communication between the test code and the BytemanTestHelper.
-
-
-
Field Detail
-
STATIC_INSTANCE_ID
private static final java.lang.Integer STATIC_INSTANCE_ID
-
className
private final java.lang.String className
-
instrumentedInstances
private final java.util.Map<java.lang.Integer,InstrumentedInstance> instrumentedInstances
-
-
Method Detail
-
trace
public void trace(java.lang.String methodName, java.lang.Object[] args) throws java.rmi.RemoteException
Receiving side of the remote communication between the test code and the BytemanTestHelper.- Specified by:
trace
in interfaceRemoteInterface
- Parameters:
methodName
- the method name that was traced.args
- the arguments to the method invocation, in String form.- Throws:
java.rmi.RemoteException
- in case of communication failure.- See Also:
BytemanTestHelper.remoteTrace(String, String, Object[])
-
getInstances
public java.util.Set<InstrumentedInstance> getInstances()
Returns the set of known instances of the class.- Returns:
- a Set of Objects representing instances of the class.
-
getInvocationCount
public int getInvocationCount(java.lang.String methodName)
Returns number of method calls for the class.
Sum number of method calls on all instrumented instances belonging to this instrumented class. It's sum of all method calls for all known instrumented instances.- Parameters:
methodName
- name of method which we are interested in how many times was called- Returns:
- number of method calls on the class (sum of method calls of all instances)
-
assertKnownInstances
public void assertKnownInstances(int count)
Checks that the number of known, distinct object instances of this class is as stated.- Parameters:
count
- the expected number of instances of the class.
-
assertMethodCallCount
public void assertMethodCallCount(java.lang.String message, java.lang.String methodName, CallCount callCount)
Checks that the number of known invocations of the given method falls within the specified range for each known instances of the class.- Parameters:
message
- the message to print in case of assertion failure.methodName
- the method name to look for.callCount
- the expected range for the invocation count.
-
assertMethodCallCount
public void assertMethodCallCount(java.lang.String message, java.lang.String methodName, int callCount)
Checks that the number of known invocations of the given method is specified count.- Parameters:
message
- the message to print in case of assertion failure.methodName
- the method name to look for.callCount
- the expected number of the invocation count.
-
assertMethodCallCount
public void assertMethodCallCount(java.lang.String methodName, int callCount)
Checks that the number of known invocations of the given method is specified count.- Parameters:
methodName
- the method name to look for.callCount
- the expected number of the invocation count.
-
assertSumMethodCallCount
public void assertSumMethodCallCount(java.lang.String method, int callCount)
Check that number of known invocations of the given method of all known instances is specified count.
Difference againstassertMethodCallCount(String, int)
is that here we query against all know instances. The other method query each instance to be called by the specific number times.- Parameters:
method
- the method name to look forcallCount
- the expected number of the invocation count summed on all instances
-
assertMethodCalled
public void assertMethodCalled(java.lang.String methodName)
Checks that the given method has been called at least once on each known instance of the class. Uses junit internally, hence expect the normal exception throwing in case of failure.- Parameters:
methodName
- the method name to look for.
-
assertMethodNotCalled
public void assertMethodNotCalled(java.lang.String methodName)
Checks that the given method has not been seen to be called on any known instance of the class. Uses junit internally, hence expect the normal exception throwing in case of failure.- Parameters:
methodName
- the method name to look for.
-
-