package soottocfg.test.soot_test; import static org.junit.Assert.fail; import java.io.File; import java.io.IOException; import java.util.LinkedList; import java.util.List; import org.junit.Test; import soottocfg.test.Util; public class SootTranslationTest { private static final String userDir = System.getProperty("user.dir") + "/"; private static final String testRoot = userDir + "src/test/resources/"; @Test public void test() { File classFileDir = null; try { final File source_dir = new File(testRoot + "soot_tests/"); List<File> sourceFiles = new LinkedList<File>(); File[] directoryListing = source_dir.listFiles(); if (directoryListing != null) { for (File child : directoryListing) { if (child.isFile() && child.getName().endsWith(".java")) { sourceFiles.add(child); System.out.println("Adding " + child + " to input"); } } } classFileDir = Util.compileJavaFiles(sourceFiles.toArray(new File[sourceFiles.size()])); soottocfg.Main.main(new String[] { classFileDir.getAbsolutePath() }); } catch (IOException e) { e.printStackTrace(); fail("Translation failed."); } finally { if (classFileDir != null) { try { Util.delete(classFileDir); } catch (IOException e) { e.printStackTrace(); } } } } }