package cmu.defect4j.google.javascript.jscomp; import gov.nasa.jpf.util.test.TestJPF; import org.junit.Test; import junit.framework.TestCase; public class ControlFlowAnalysisTest 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 testForIn() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testForIn(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleStatements() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleStatements(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleIf() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleIf(); } }; testcase.run(); } } @Test(timeout=120000) public void testBreakingBlock() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testBreakingBlock(); } }; testcase.run(); } } @Test(timeout=120000) public void testBreakingTryBlock() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testBreakingTryBlock(); } }; testcase.run(); } } @Test(timeout=120000) public void testWithStatement() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testWithStatement(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleWhile() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleWhile(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleSwitch() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleSwitch(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleNoDefault() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleNoDefault(); } }; testcase.run(); } } @Test(timeout=120000) public void testSwitchDefaultFirst() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSwitchDefaultFirst(); } }; testcase.run(); } } @Test(timeout=120000) public void testSwitchDefaultInMiddle() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSwitchDefaultInMiddle(); } }; testcase.run(); } } @Test(timeout=120000) public void testSwitchEmpty() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSwitchEmpty(); } }; testcase.run(); } } @Test(timeout=120000) public void testReturnThrowingException() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testReturnThrowingException(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleFor() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleFor(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleForWithContinue() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleForWithContinue(); } }; testcase.run(); } } @Test(timeout=120000) public void testNestedFor() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testNestedFor(); } }; testcase.run(); } } @Test(timeout=120000) public void testNestedDoWithBreak() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testNestedDoWithBreak(); } }; testcase.run(); } } @Test(timeout=120000) public void testThrow() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testThrow(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleFunction() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleFunction(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleCatch() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleCatch(); } }; testcase.run(); } } @Test(timeout=120000) public void testFunctionWithinTry() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testFunctionWithinTry(); } }; testcase.run(); } } @Test(timeout=120000) public void testNestedCatch() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testNestedCatch(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleFinally() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleFinally(); } }; testcase.run(); } } @Test(timeout=120000) public void testSimpleCatchFinally() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSimpleCatchFinally(); } }; testcase.run(); } } @Test(timeout=120000) public void testComplicatedFinally2() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testComplicatedFinally2(); } }; testcase.run(); } } @Test(timeout=120000) public void testDeepNestedBreakwithFinally() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testDeepNestedBreakwithFinally(); } }; testcase.run(); } } @Test(timeout=120000) public void testDeepNestedFinally() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testDeepNestedFinally(); } }; testcase.run(); } } @Test(timeout=120000) public void testReturnInFinally() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testReturnInFinally(); } }; testcase.run(); } } @Test(timeout=120000) public void testReturnInFinally2() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testReturnInFinally2(); } }; testcase.run(); } } @Test(timeout=120000) public void testReturnInTry() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testReturnInTry(); } }; testcase.run(); } } @Test(timeout=120000) public void testOptionNotToTraverseFunctions() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testOptionNotToTraverseFunctions(); } }; testcase.run(); } } @Test(timeout=120000) public void testInstanceOf() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testInstanceOf(); } }; testcase.run(); } } @Test(timeout=120000) public void testSynBlock() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testSynBlock(); } }; testcase.run(); } } @Test(timeout=120000) public void testPartialTraversalOfScope() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testPartialTraversalOfScope(); } }; testcase.run(); } } @Test(timeout=120000) public void testForLoopOrder() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testForLoopOrder(); } }; testcase.run(); } } @Test(timeout=120000) public void testLabelledForInLoopOrder() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testLabelledForInLoopOrder(); } }; testcase.run(); } } @Test(timeout=120000) public void testLocalFunctionOrder() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testLocalFunctionOrder(); } }; testcase.run(); } } @Test(timeout=120000) public void testDoWhileOrder() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testDoWhileOrder(); } }; testcase.run(); } } @Test(timeout=120000) public void testBreakInFinally1() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testBreakInFinally1(); } }; testcase.run(); } } @Test(timeout=120000) public void testBreakInFinally2() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testBreakInFinally2(); } }; testcase.run(); } } @Test(timeout=120000) public void testReturn() throws Exception { if (verifyNoPropertyViolation(config)) { TestCase testcase = new com.google.javascript.jscomp.ControlFlowAnalysisTest() { public void runTest() throws Exception { testReturn(); } }; testcase.run(); } } }