undo WalaTestCase extending TestCase; dependent projects will have to be switched to JUnit 4. Also, more optimizations.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3742 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
This commit is contained in:
parent
f8c06cc6ef
commit
93a4571961
|
@ -40,10 +40,6 @@ public class GraphDataflowTest extends WalaTestCase {
|
||||||
public static final String nodeNames = "ABCDEFGH";
|
public static final String nodeNames = "ABCDEFGH";
|
||||||
protected final static String[] nodes = new String[nodeNames.length()];
|
protected final static String[] nodes = new String[nodeNames.length()];
|
||||||
|
|
||||||
public GraphDataflowTest() {
|
|
||||||
super("GraphDataflowTest");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple test of the GraphBitVectorDataflow system
|
* A simple test of the GraphBitVectorDataflow system
|
||||||
* @throws CancelException
|
* @throws CancelException
|
||||||
|
|
|
@ -60,13 +60,6 @@ import com.ibm.wala.util.intset.SparseLongSet;
|
||||||
*/
|
*/
|
||||||
public class PrimitivesTest extends WalaTestCase {
|
public class PrimitivesTest extends WalaTestCase {
|
||||||
|
|
||||||
public PrimitivesTest() {
|
|
||||||
super("PrimitivesTest");
|
|
||||||
}
|
|
||||||
|
|
||||||
public PrimitivesTest(String arg0) {
|
|
||||||
super(arg0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the MutableSparseIntSet implementation
|
* Test the MutableSparseIntSet implementation
|
||||||
|
|
|
@ -32,7 +32,6 @@ public class CallGraphTestUtil {
|
||||||
|
|
||||||
private static final ClassLoader MY_CLASSLOADER = CallGraphTestUtil.class.getClassLoader();
|
private static final ClassLoader MY_CLASSLOADER = CallGraphTestUtil.class.getClassLoader();
|
||||||
|
|
||||||
|
|
||||||
public static AnalysisOptions makeAnalysisOptions(AnalysisScope scope, Iterable<Entrypoint> entrypoints) {
|
public static AnalysisOptions makeAnalysisOptions(AnalysisScope scope, Iterable<Entrypoint> entrypoints) {
|
||||||
AnalysisOptions options = new AnalysisOptions(scope, entrypoints);
|
AnalysisOptions options = new AnalysisOptions(scope, entrypoints);
|
||||||
return options;
|
return options;
|
||||||
|
@ -40,6 +39,11 @@ public class CallGraphTestUtil {
|
||||||
|
|
||||||
public static String REGRESSION_EXCLUSIONS = "Java60RegressionExclusions.txt";
|
public static String REGRESSION_EXCLUSIONS = "Java60RegressionExclusions.txt";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* should we check the heap footprint before and after CG construction?
|
||||||
|
*/
|
||||||
|
private static final boolean CHECK_FOOTPRINT = false;
|
||||||
|
|
||||||
public static AnalysisScope makeJ2SEAnalysisScope(String scopeFile, String exclusionsFile) throws IOException {
|
public static AnalysisScope makeJ2SEAnalysisScope(String scopeFile, String exclusionsFile) throws IOException {
|
||||||
AnalysisScope scope = AnalysisScopeReader.readJavaScope(scopeFile, FileProvider.getFile(exclusionsFile), MY_CLASSLOADER);
|
AnalysisScope scope = AnalysisScopeReader.readJavaScope(scopeFile, FileProvider.getFile(exclusionsFile), MY_CLASSLOADER);
|
||||||
return scope;
|
return scope;
|
||||||
|
@ -47,21 +51,29 @@ public class CallGraphTestUtil {
|
||||||
|
|
||||||
public static CallGraph buildRTA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha, AnalysisScope scope)
|
public static CallGraph buildRTA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha, AnalysisScope scope)
|
||||||
throws IllegalArgumentException, CancelException {
|
throws IllegalArgumentException, CancelException {
|
||||||
StopwatchGC S = new StopwatchGC("build RTA graph");
|
StopwatchGC S = null;
|
||||||
S.start();
|
if (CHECK_FOOTPRINT) {
|
||||||
|
S = new StopwatchGC("build RTA graph");
|
||||||
|
S.start();
|
||||||
|
}
|
||||||
|
|
||||||
CallGraphBuilder builder = Util.makeRTABuilder(options, cache, cha, scope);
|
CallGraphBuilder builder = Util.makeRTABuilder(options, cache, cha, scope);
|
||||||
CallGraph cg = builder.makeCallGraph(options, null);
|
CallGraph cg = builder.makeCallGraph(options, null);
|
||||||
|
|
||||||
S.stop();
|
if (CHECK_FOOTPRINT) {
|
||||||
System.err.println(S.report());
|
S.stop();
|
||||||
|
System.err.println(S.report());
|
||||||
|
}
|
||||||
return cg;
|
return cg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CallGraph buildZeroCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha, AnalysisScope scope,
|
public static CallGraph buildZeroCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha, AnalysisScope scope,
|
||||||
boolean testPAtoString) throws IllegalArgumentException, CancelException {
|
boolean testPAtoString) throws IllegalArgumentException, CancelException {
|
||||||
StopwatchGC S = new StopwatchGC("build ZeroCFA graph");
|
StopwatchGC S = null;
|
||||||
S.start();
|
if (CHECK_FOOTPRINT) {
|
||||||
|
S = new StopwatchGC("build RTA graph");
|
||||||
|
S.start();
|
||||||
|
}
|
||||||
|
|
||||||
CallGraphBuilder builder = Util.makeZeroCFABuilder(options, cache, cha, scope);
|
CallGraphBuilder builder = Util.makeZeroCFABuilder(options, cache, cha, scope);
|
||||||
CallGraph cg = builder.makeCallGraph(options, null);
|
CallGraph cg = builder.makeCallGraph(options, null);
|
||||||
|
@ -69,28 +81,38 @@ public class CallGraphTestUtil {
|
||||||
builder.getPointerAnalysis().toString();
|
builder.getPointerAnalysis().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
S.stop();
|
if (CHECK_FOOTPRINT) {
|
||||||
System.err.println(S.report());
|
S.stop();
|
||||||
|
System.err.println(S.report());
|
||||||
|
}
|
||||||
return cg;
|
return cg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CallGraph buildVanillaZeroOneCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha,
|
public static CallGraph buildVanillaZeroOneCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha,
|
||||||
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
||||||
StopwatchGC S = new StopwatchGC("build Vanilla 0-1-CFA graph");
|
StopwatchGC S = null;
|
||||||
S.start();
|
if (CHECK_FOOTPRINT) {
|
||||||
|
S = new StopwatchGC("build RTA graph");
|
||||||
|
S.start();
|
||||||
|
}
|
||||||
|
|
||||||
CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, cache, cha, scope);
|
CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, cache, cha, scope);
|
||||||
CallGraph cg = builder.makeCallGraph(options, null);
|
CallGraph cg = builder.makeCallGraph(options, null);
|
||||||
|
|
||||||
S.stop();
|
if (CHECK_FOOTPRINT) {
|
||||||
System.err.println(S.report());
|
S.stop();
|
||||||
|
System.err.println(S.report());
|
||||||
|
}
|
||||||
return cg;
|
return cg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CallGraph buildZeroOneCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha, AnalysisScope scope,
|
public static CallGraph buildZeroOneCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha, AnalysisScope scope,
|
||||||
boolean testPAtoString) throws IllegalArgumentException, CancelException {
|
boolean testPAtoString) throws IllegalArgumentException, CancelException {
|
||||||
StopwatchGC S = new StopwatchGC("build 0-1-CFA graph");
|
StopwatchGC S = null;
|
||||||
S.start();
|
if (CHECK_FOOTPRINT) {
|
||||||
|
S = new StopwatchGC("build RTA graph");
|
||||||
|
S.start();
|
||||||
|
}
|
||||||
|
|
||||||
CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, cache, cha, scope);
|
CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, cache, cha, scope);
|
||||||
CallGraph cg = builder.makeCallGraph(options, null);
|
CallGraph cg = builder.makeCallGraph(options, null);
|
||||||
|
@ -98,34 +120,46 @@ public class CallGraphTestUtil {
|
||||||
builder.getPointerAnalysis().toString();
|
builder.getPointerAnalysis().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
S.stop();
|
if (CHECK_FOOTPRINT) {
|
||||||
System.err.println(S.report());
|
S.stop();
|
||||||
|
System.err.println(S.report());
|
||||||
|
}
|
||||||
return cg;
|
return cg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CallGraph buildZeroContainerCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha,
|
public static CallGraph buildZeroContainerCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha,
|
||||||
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
||||||
StopwatchGC S = new StopwatchGC("build 0-1-Container-CFA graph");
|
StopwatchGC S = null;
|
||||||
S.start();
|
if (CHECK_FOOTPRINT) {
|
||||||
|
S = new StopwatchGC("build RTA graph");
|
||||||
|
S.start();
|
||||||
|
}
|
||||||
|
|
||||||
CallGraphBuilder builder = Util.makeZeroContainerCFABuilder(options, cache, cha, scope);
|
CallGraphBuilder builder = Util.makeZeroContainerCFABuilder(options, cache, cha, scope);
|
||||||
CallGraph cg = builder.makeCallGraph(options, null);
|
CallGraph cg = builder.makeCallGraph(options, null);
|
||||||
|
|
||||||
S.stop();
|
if (CHECK_FOOTPRINT) {
|
||||||
System.err.println(S.report());
|
S.stop();
|
||||||
|
System.err.println(S.report());
|
||||||
|
}
|
||||||
return cg;
|
return cg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CallGraph buildZeroOneContainerCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha,
|
public static CallGraph buildZeroOneContainerCFA(AnalysisOptions options, AnalysisCache cache, ClassHierarchy cha,
|
||||||
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
AnalysisScope scope) throws IllegalArgumentException, CancelException {
|
||||||
StopwatchGC S = new StopwatchGC("build 0-1-Container-CFA graph");
|
StopwatchGC S = null;
|
||||||
S.start();
|
if (CHECK_FOOTPRINT) {
|
||||||
|
S = new StopwatchGC("build RTA graph");
|
||||||
|
S.start();
|
||||||
|
}
|
||||||
|
|
||||||
CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope);
|
CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope);
|
||||||
CallGraph cg = builder.makeCallGraph(options, null);
|
CallGraph cg = builder.makeCallGraph(options, null);
|
||||||
|
|
||||||
S.stop();
|
if (CHECK_FOOTPRINT) {
|
||||||
System.err.println(S.report());
|
S.stop();
|
||||||
|
System.err.println(S.report());
|
||||||
|
}
|
||||||
return cg;
|
return cg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,9 +12,9 @@ package com.ibm.wala.core.tests.cha;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.AfterClass;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.ibm.wala.classLoader.ClassLoaderFactory;
|
import com.ibm.wala.classLoader.ClassLoaderFactory;
|
||||||
|
@ -38,15 +38,15 @@ public class GetTargetsTest extends WalaTestCase {
|
||||||
|
|
||||||
private static final ClassLoader MY_CLASSLOADER = GetTargetsTest.class.getClassLoader();
|
private static final ClassLoader MY_CLASSLOADER = GetTargetsTest.class.getClassLoader();
|
||||||
|
|
||||||
private AnalysisScope scope;
|
private static AnalysisScope scope;
|
||||||
private ClassHierarchy cha;
|
private static ClassHierarchy cha;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
justThisTest(GetTargetsTest.class);
|
justThisTest(GetTargetsTest.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before
|
@BeforeClass
|
||||||
public void setUp() throws Exception {
|
public static void beforeClass() throws Exception {
|
||||||
|
|
||||||
scope = AnalysisScopeReader.readJavaScope(TestConstants.WALA_TESTDATA, FileProvider.getFile("J2SEClassHierarchyExclusions.txt"), MY_CLASSLOADER);
|
scope = AnalysisScopeReader.readJavaScope(TestConstants.WALA_TESTDATA, FileProvider.getFile("J2SEClassHierarchyExclusions.txt"), MY_CLASSLOADER);
|
||||||
|
|
||||||
|
@ -64,8 +64,8 @@ public class GetTargetsTest extends WalaTestCase {
|
||||||
*
|
*
|
||||||
* @see junit.framework.TestCase#tearDown()
|
* @see junit.framework.TestCase#tearDown()
|
||||||
*/
|
*/
|
||||||
@After
|
@AfterClass
|
||||||
public void tearDown() throws Exception {
|
public static void afterClass() throws Exception {
|
||||||
scope = null;
|
scope = null;
|
||||||
cha = null;
|
cha = null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,9 +12,9 @@ package com.ibm.wala.core.tests.ir;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.AfterClass;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.ibm.wala.classLoader.ClassLoaderFactory;
|
import com.ibm.wala.classLoader.ClassLoaderFactory;
|
||||||
|
@ -50,20 +50,20 @@ public class DeterministicIRTest extends WalaTestCase {
|
||||||
|
|
||||||
private static final ClassLoader MY_CLASSLOADER = DeterministicIRTest.class.getClassLoader();
|
private static final ClassLoader MY_CLASSLOADER = DeterministicIRTest.class.getClassLoader();
|
||||||
|
|
||||||
private AnalysisScope scope;
|
private static AnalysisScope scope;
|
||||||
|
|
||||||
private ClassHierarchy cha;
|
private static ClassHierarchy cha;
|
||||||
|
|
||||||
private AnalysisOptions options;
|
private static AnalysisOptions options;
|
||||||
|
|
||||||
private AnalysisCache cache;
|
private static AnalysisCache cache;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
justThisTest(DeterministicIRTest.class);
|
justThisTest(DeterministicIRTest.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before
|
@BeforeClass
|
||||||
public void setUp() throws Exception {
|
public static void beforeClass() throws Exception {
|
||||||
|
|
||||||
scope = AnalysisScopeReader.readJavaScope(TestConstants.WALA_TESTDATA,
|
scope = AnalysisScopeReader.readJavaScope(TestConstants.WALA_TESTDATA,
|
||||||
FileProvider.getFile("J2SEClassHierarchyExclusions.txt"), MY_CLASSLOADER);
|
FileProvider.getFile("J2SEClassHierarchyExclusions.txt"), MY_CLASSLOADER);
|
||||||
|
@ -78,11 +78,13 @@ public class DeterministicIRTest extends WalaTestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@AfterClass
|
||||||
public void tearDown() throws Exception {
|
public static void afterClass() throws Exception {
|
||||||
Warnings.clear();
|
Warnings.clear();
|
||||||
scope = null;
|
scope = null;
|
||||||
cha = null;
|
cha = null;
|
||||||
|
options = null;
|
||||||
|
cache = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -50,12 +50,7 @@ public class MultiDimArrayTest extends WalaTestCase {
|
||||||
justThisTest(MultiDimArrayTest.class);
|
justThisTest(MultiDimArrayTest.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param arg0
|
|
||||||
*/
|
|
||||||
public MultiDimArrayTest(String arg0) {
|
|
||||||
super(arg0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public MultiDimArrayTest() {
|
public MultiDimArrayTest() {
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package com.ibm.wala.core.tests.util;
|
package com.ibm.wala.core.tests.util;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -23,7 +21,7 @@ import com.ibm.wala.util.warnings.Warnings;
|
||||||
/**
|
/**
|
||||||
* Simple extension to JUnit test case.
|
* Simple extension to JUnit test case.
|
||||||
*/
|
*/
|
||||||
public abstract class WalaTestCase extends TestCase {
|
public abstract class WalaTestCase {
|
||||||
|
|
||||||
final private static boolean ANALYZE_LEAKS = false;
|
final private static boolean ANALYZE_LEAKS = false;
|
||||||
|
|
||||||
|
@ -62,17 +60,6 @@ public abstract class WalaTestCase extends TestCase {
|
||||||
JUnitCore.runClasses(testClass);
|
JUnitCore.runClasses(testClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param arg0
|
|
||||||
*/
|
|
||||||
public WalaTestCase(String arg0) {
|
|
||||||
super(arg0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public WalaTestCase() {
|
|
||||||
this("WalaTestCase");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static void assertBound(String tag, double quantity, double bound) {
|
protected static void assertBound(String tag, double quantity, double bound) {
|
||||||
String msg = tag + ", quantity: " + quantity + ", bound:" + bound;
|
String msg = tag + ", quantity: " + quantity + ", bound:" + bound;
|
||||||
System.err.println(msg);
|
System.err.println(msg);
|
||||||
|
|
Loading…
Reference in New Issue