Skip to content

Commit

Permalink
Added type directed targets
Browse files Browse the repository at this point in the history
  • Loading branch information
vasumv committed Sep 19, 2024
1 parent eb9957a commit e94f057
Showing 1 changed file with 20 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,27 @@
import edu.berkeley.cs.jqf.fuzz.JQF;
import org.junit.runner.RunWith;

import static edu.berkeley.cs.jqf.fuzz.util.Observability.event;
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeTrue;

@RunWith(JQF.class)
public class SemanticAnalysisTest {

/** Entry point for fuzzing reference ChocoPy semantic analysis with ChocoPy code generator */
@Fuzz
public void fuzzSemanticAnalysis(@From(ChocoPySemanticGeneratorTypeDirected.class) String code) {
public void fuzzSemanticAnalysis(@From(ChocoPySemanticGenerator.class) String code) {
Program program = RefParser.process(code, false);
assumeTrue(!program.hasErrors());
event("numStatements", program.statements.size());
event("numDeclarations", program.declarations.size());
Program typedProgram = RefAnalysis.process(program);
event("numErrors", program.getErrorList().size());
assertTrue(!typedProgram.hasErrors());
assumeTrue(!typedProgram.hasErrors());
}

/** Entry point for fuzzing reference ChocoPy semantic analysis with ChocoPy code generator */
@Fuzz
public void fuzzSemanticAnalysisTypeDirected(@From(ChocoPySemanticGeneratorTypeDirected.class) String code) {
Program program = RefParser.process(code, false);
assumeTrue(!program.hasErrors());
Program typedProgram = RefAnalysis.process(program);
assumeTrue(!typedProgram.hasErrors());
}

@Fuzz
Expand All @@ -37,4 +41,13 @@ public void fuzzCodeGen(@From(ChocoPySemanticGenerator.class) String code) {
assumeTrue(!typedProgram.hasErrors());
RefCodeGen.process(typedProgram);
}

@Fuzz
public void fuzzCodeGenTypeDirected(@From(ChocoPySemanticGeneratorTypeDirected.class) String code) {
Program program = RefParser.process(code, false);
assumeTrue(!program.hasErrors());
Program typedProgram = RefAnalysis.process(program);
assumeTrue(!typedProgram.hasErrors());
RefCodeGen.process(typedProgram);
}
}

0 comments on commit e94f057

Please sign in to comment.