/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Simple tests for the TransformerManager
*
*/
public abstract class
extends AInstrumentationTestCase
{
{
};
/**
* Constructor for ATransformerManagementTestCase.
*/
{
super(name);
}
/**
* Returns one of the sample transformers
* @return a random transformer
*/
protected ClassFileTransformer
{
return kTransformerSamples[randIndex];
}
/**
* Method addTransformerToManager.
* @param manager
* @param transformer
*/
protected void
{
if (transformer != null)
{
}
}
/**
* Remove transformer from manager and list
* @param manager
* @param transformer
*/
protected void
{
assertTrue("Transformer not found in manager ("+transformer+")", manager.removeTransformer(transformer));
if (transformer != null)
{
}
}
/**
* Decrements the transformer index as well as removes transformer
* @param fInst manager
* @param transformer transformer to remove
* @param decrementIndex the tranformer index gets out of sync with transformers
* that are removed from the manager
*/
protected void
boolean decrementIndex)
{
if (decrementIndex)
{
verbosePrint("removeTransformerFromManager fTransformerIndex decremented to: " +
}
}
/**
* verify transformer by asserting that the number of transforms that occured
* is the same as the number of valid transformers added to the list.
* @param manager
*/
protected void
{
try
{
}
catch (IOException e)
{
}
catch (ClassNotFoundException e)
{
}
catch (UnmodifiableClassException e)
{
}
// Report any delayed failures
assertEquals("The number of transformers that were run does not match the expected number added to manager",
}
/**
* Asserts that the transformer being checked by the manager is the correct
* one (as far as order goes) and updates the number of transformers that have
* been called. Note that since this is being called inside of a transformer,
* a standard assert (which throws an exception) cannot be used since it would
* simply cancel the transformation and otherwise be ignored. Instead, note
* the failure for delayed processing.
* @param ClassFileTransformer
*/
private void
{
if (fDelayedFailure == null)
{
{
}
{
" should be the same as " + transformer;
}
}
}
/**
* Create a new manager, a new transformer list, and initializes the number of transformers
* indexed to zero.
*/
protected void
setUp()
throws Exception
{
super.setUp();
fTransformers = new ArrayList();
fTransformerIndex = 0;
verbosePrint("setUp completed");
}
/**
* Sets the manager and transformers to null so that setUp needs to update.
*/
protected void
tearDown()
throws Exception
{
verbosePrint("tearDown beginning");
super.tearDown();
}
/*
* Simple transformer that registers when it transforms
*/
super();
}
}
public byte[]
byte[] classfileBuffer) {
// The transform testing is triggered by redefine, ignore others
}
}
/**
* Class loader that does nothing
*/
{
/**
* Constructor for MyClassLoader.
*/
public MyClassLoader()
{
super();
}
}
if (b == null) return "null";
for (int i = 0; i < b.length; i++)
{
}
}
}