コード例 #1
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
  @Test
  public void testReturnOneExitBlock() {
    String input = "if(!x) return 1; y = x;";
    CFG cfg = getCFGForCode(input);

    assertTrue(isConnected(cfg, "y = x", "EXIT"));
    assertTrue(cfg.outDegree(getNodeByCode(cfg, "y = x")) == 1);
  }
コード例 #2
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testEmptyFor() {
   String input = "for(;;){}";
   CFG cfg = getCFGForCode(input);
   CFGNode node = getNodeByCode(cfg, "INFINITE FOR");
   assertTrue(node instanceof InfiniteForNode);
   assertTrue(cfg.size() == 3);
 }
コード例 #3
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testLinkBetweenBlocks() {
   String input = "x = 10; y = 20;";
   CFG cfg = getCFGForCode(input);
   assertTrue(cfg.numberOfEdges() == 3);
 }
コード例 #4
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testTwoInstructions() {
   String input = "x = 10; y = 20;";
   CFG cfg = getCFGForCode(input);
   assertTrue(cfg.size() == 4);
 }
コード例 #5
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testSwitchWithDefaultLabelNumberOfEdges() {
   String input = "switch(foo){ case 1: case2: default: }";
   CFG cfg = getCFGForCode(input);
   assertTrue(cfg.numberOfEdges() == 7);
 }
コード例 #6
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testSwitchWithBreakNumberOfEdges() {
   String input = "switch(foo){ case 1: break; case2: break; case 3: }";
   CFG cfg = getCFGForCode(input);
   assertTrue(cfg.numberOfEdges() == 10);
 }
コード例 #7
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testSwitchNumberOfEdges() {
   String input = "switch(foo){ case 1: case2: case 3: }";
   CFG cfg = getCFGForCode(input);
   assertTrue(cfg.numberOfEdges() == 8);
 }
コード例 #8
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testForNumberOfBlocks() {
   String input = "for(i = 0; i < 10; i ++){ foo(); }";
   CFG cfg = getCFGForCode(input);
   assertTrue(cfg.size() == 6);
 }
コード例 #9
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testDoNumberOfBlocks() {
   String input = "do{ bar(); }while(foo);";
   CFG cfg = getCFGForCode(input);
   assertTrue(cfg.size() == 4);
 }
コード例 #10
0
ファイル: OtherTests.java プロジェクト: cherry-wb/joern
 @Test
 public void testSingleCallBlockNumber() {
   String input = "foo();";
   CFG cfg = getCFGForCode(input);
   assertTrue(cfg.size() == 3);
 }