From e94f0570dad7cc5c32d806860beadb190456a761 Mon Sep 17 00:00:00 2001 From: Vasu Vikram Date: Thu, 19 Sep 2024 16:29:16 -0400 Subject: [PATCH] Added type directed targets --- .../chocopy/SemanticAnalysisTest.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/examples/src/test/java/edu/berkeley/cs/jqf/examples/chocopy/SemanticAnalysisTest.java b/examples/src/test/java/edu/berkeley/cs/jqf/examples/chocopy/SemanticAnalysisTest.java index 43dcd4a69..ea9418ae5 100644 --- a/examples/src/test/java/edu/berkeley/cs/jqf/examples/chocopy/SemanticAnalysisTest.java +++ b/examples/src/test/java/edu/berkeley/cs/jqf/examples/chocopy/SemanticAnalysisTest.java @@ -10,8 +10,6 @@ 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) @@ -19,14 +17,20 @@ 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 @@ -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); + } }