diff --git a/com.ibm.wala.cast.js.test/examples-src/tests/args.js b/com.ibm.wala.cast.js.test/examples-src/tests/args.js index b03a5b87b..752133f6f 100644 --- a/com.ibm.wala.cast.js.test/examples-src/tests/args.js +++ b/com.ibm.wala.cast.js.test/examples-src/tests/args.js @@ -20,5 +20,9 @@ function z() { print("z"); } +function wrong() { + print("wrong"); +} + a(x); -a(y, z); +a(y, z, wrong); diff --git a/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestArgumentSensitivity.java b/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestArgumentSensitivity.java index 7a61f6a21..41c3b6dee 100644 --- a/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestArgumentSensitivity.java +++ b/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestArgumentSensitivity.java @@ -27,7 +27,7 @@ public abstract class TestArgumentSensitivity extends TestJSCallGraphShape { "tests/args.js", new String[] { "tests/args.js/a" } }, new Object[] { "tests/args.js/a", new String[] { "tests/args.js/x"} }, - new Object[] { "tests/args.js/a", new String[] { "tests/args.js/y", "tests/args.js/z" } } }; + new Object[] { "tests/args.js/a", new String[] { "tests/args.js/y", "tests/args.js/z", "!tests/args.js/wrong" } } }; @Test public void testArgs() throws IOException, IllegalArgumentException, CancelException, ClassHierarchyException { JavaScriptLoaderFactory loaders = JSCallGraphBuilderUtil.makeLoaders(); diff --git a/com.ibm.wala.cast.test/harness-src/com/ibm/wala/cast/test/TestCallGraphShape.java b/com.ibm.wala.cast.test/harness-src/com/ibm/wala/cast/test/TestCallGraphShape.java index ee59f1e1e..15c9dc874 100644 --- a/com.ibm.wala.cast.test/harness-src/com/ibm/wala/cast/test/TestCallGraphShape.java +++ b/com.ibm.wala.cast.test/harness-src/com/ibm/wala/cast/test/TestCallGraphShape.java @@ -135,8 +135,10 @@ public abstract class TestCallGraphShape extends WalaTestCase { CallSiteReference sr = (CallSiteReference) sites.next(); Iterator dsts = getNodes(CG, targetName).iterator(); - Assert.assertTrue("cannot find " + targetName, dsts.hasNext()); - + if (! checkAbsence) { + Assert.assertTrue("cannot find " + targetName, dsts.hasNext()); + } + while (dsts.hasNext()) { CGNode dst = (CGNode) dsts.next(); for (Iterator tos = CG.getPossibleTargets(src, sr).iterator(); tos.hasNext();) {