package cmu.defect4j.google.javascript.jscomp; import gov.nasa.jpf.util.test.TestJPF; import org.junit.Test; import junit.framework.TestCase; public class SideEffectsAnalysisTest extends TestJPF { private final String[] config = {"+nhandler.delegateUnhandledNative", "+classpath+=${jpf-core}/lib/junit-4.11.jar,lib/compiler.jar"}; public static void main(String[] testMethods){ runTestsOfThisClass(testMethods); } @Test(timeout=120000) public void testDegenerateSafeMoves() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.SideEffectsAnalysisTest() { public void runTest() throws Exception { testDegenerateSafeMoves(); } }; testcase.run(); } } @Test(timeout=120000) public void testVisibilitySafeMoves() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.SideEffectsAnalysisTest() { public void runTest() throws Exception { testVisibilitySafeMoves(); } }; testcase.run(); } } @Test(timeout=120000) public void testDegenerateUnsafeMoves() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.SideEffectsAnalysisTest() { public void runTest() throws Exception { testDegenerateUnsafeMoves(); } }; testcase.run(); } } @Test(timeout=120000) public void testVisibilityUnsafeMoves() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.SideEffectsAnalysisTest() { public void runTest() throws Exception { testVisibilityUnsafeMoves(); } }; testcase.run(); } } @Test(timeout=120000) public void testVisibilityMoveCalls() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.SideEffectsAnalysisTest() { public void runTest() throws Exception { testVisibilityMoveCalls(); } }; testcase.run(); } } @Test(timeout=120000) public void testVisibilityMergesParametersWithHeap() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.SideEffectsAnalysisTest() { public void runTest() throws Exception { testVisibilityMergesParametersWithHeap(); } }; testcase.run(); } } @Test(timeout=120000) public void testMovedSideEffectsMustHaveSameControlFlow() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.SideEffectsAnalysisTest() { public void runTest() throws Exception { testMovedSideEffectsMustHaveSameControlFlow(); } }; testcase.run(); } } }