From a9331dca6f73d7b07a19c28e64afcb104547684b Mon Sep 17 00:00:00 2001 From: Julian Dolby Date: Wed, 7 Aug 2013 16:44:21 -0400 Subject: [PATCH] avoid using files since the automated tests get things out of jars --- .../rhino/callgraph/fieldbased/test/CGUtil.java | 2 +- .../cast/js/test/JSCallGraphBuilderUtil.java | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/rhino/callgraph/fieldbased/test/CGUtil.java b/com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/rhino/callgraph/fieldbased/test/CGUtil.java index 0f4eae6bc..503c778ed 100644 --- a/com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/rhino/callgraph/fieldbased/test/CGUtil.java +++ b/com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/rhino/callgraph/fieldbased/test/CGUtil.java @@ -68,7 +68,7 @@ public class CGUtil { if (url.getFile().endsWith(".js")) { scripts = new SourceModule[]{ new SourceURLModule(url), - new SourceFileModule(new File(JSCallGraphBuilderUtil.class.getClassLoader().getResource("prologue.js").getFile()), "prologue.js", null) + JSCallGraphBuilderUtil.getPrologueFile("prologue.js") }; } else { scripts = JSCallGraphBuilderUtil.makeHtmlScope(url, loaders); diff --git a/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/JSCallGraphBuilderUtil.java b/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/JSCallGraphBuilderUtil.java index 818f0e5e6..beca58062 100755 --- a/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/JSCallGraphBuilderUtil.java +++ b/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/JSCallGraphBuilderUtil.java @@ -20,7 +20,6 @@ import junit.framework.Assert; import com.ibm.wala.cast.ir.ssa.AstIRFactory; import com.ibm.wala.cast.ir.translator.TranslatorToCAst.Error; -import com.ibm.wala.cast.js.html.MappedSourceModule; import com.ibm.wala.cast.js.html.WebPageLoaderFactory; import com.ibm.wala.cast.js.html.WebUtil; import com.ibm.wala.cast.js.ipa.callgraph.JSAnalysisOptions; @@ -34,7 +33,6 @@ import com.ibm.wala.cast.js.loader.JavaScriptLoaderFactory; import com.ibm.wala.cast.loader.CAstAbstractLoader; import com.ibm.wala.cast.tree.rewrite.CAstRewriterFactory; import com.ibm.wala.classLoader.IMethod; -import com.ibm.wala.classLoader.SourceFileModule; import com.ibm.wala.classLoader.SourceModule; import com.ibm.wala.classLoader.SourceURLModule; import com.ibm.wala.ipa.callgraph.AnalysisCache; @@ -111,11 +109,20 @@ public class JSCallGraphBuilderUtil extends com.ibm.wala.cast.js.ipa.callgraph.J return makeScriptScope(getURLforFile(dir, name), dir, name, loaders); } + public static SourceModule getPrologueFile(final String name) { + return new SourceURLModule(JSCallGraphBuilderUtil.class.getClassLoader().getResource(name)) { + @Override + public String getName() { + return name; + } + }; + } + static AnalysisScope makeScriptScope(URL script, String dir, String name, JavaScriptLoaderFactory loaders) throws IOException { return makeScope( new SourceModule[] { (script.openConnection() instanceof JarURLConnection)? new SourceURLModule(script): makeSourceModule(script, dir, name), - new SourceFileModule(new File(JSCallGraphBuilderUtil.class.getClassLoader().getResource("prologue.js").getFile()), "prologue.js", null) + getPrologueFile("prologue.js") }, loaders, JavaScriptLoader.JS); } @@ -166,8 +173,8 @@ public class JSCallGraphBuilderUtil extends com.ibm.wala.cast.js.ipa.callgraph.J Set scripts = HashSetFactory.make(); JavaScriptLoader.addBootstrapFile(WebUtil.preamble); - scripts.add(new SourceFileModule(new File(JSCallGraphBuilderUtil.class.getClassLoader().getResource("prologue.js").getFile()), "prologue.js", null)); - scripts.add(new SourceFileModule(new File(JSCallGraphBuilderUtil.class.getClassLoader().getResource("preamble.js").getFile()), "preamble.js", null)); + scripts.add(getPrologueFile("prologue.js")); + scripts.add(getPrologueFile("preamble.js")); try { scripts.addAll(WebUtil.extractScriptFromHTML(url).fst);