Closed rsulli55 closed 2 years ago
Merging #275 (77f6c22) into master (80c8a7c) will decrease coverage by
0.90%
. The diff coverage isn/a
.
@@ Coverage Diff @@
## master #275 +/- ##
==========================================
- Coverage 67.20% 66.29% -0.91%
==========================================
Files 94 94
Lines 17821 17821
==========================================
- Hits 11976 11814 -162
- Misses 5845 6007 +162
Impacted Files | Coverage Δ | |
---|---|---|
...analysis/CAST2GrFN/visitors/cast_to_air_visitor.py | 42.75% <0.00%> (-19.26%) |
:arrow_down: |
...mates/program_analysis/GCC2GrFN/gcc_ast_to_cast.py | 56.04% <0.00%> (-7.46%) |
:arrow_down: |
...gram_analysis/CAST2GrFN/model/cast_to_air_model.py | 77.68% <0.00%> (-4.81%) |
:arrow_down: |
...s/CAST2GrFN/visitors/cast_function_call_visitor.py | 85.71% <0.00%> (-0.90%) |
:arrow_down: |
automates/model_analysis/graph_manipulation.py | 70.19% <0.00%> (-0.56%) |
:arrow_down: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 80c8a7c...77f6c22. Read the comment docs.
This PR is consists of two things:
1) Updating
run_gcc_to_grfn.py
, the gcc plugin Makefile, andtest_gcc_plugin_c.py
with the goals ofsimplifying the creation of the
json
files required for writing unit tests (only one invocation ofrun_gcc_to_grfn.py
is needed) These goals were achieved by adding additional command line arguments torun_gcc_to_grfn.py
and extending the Makefile andtest_gcc_plugin_c.py
to check the environment for aCUSTOM_GCC_10_PATH
variable.2) Updating the
if_statement
unit test, and writing theif_else_statement
andif_elif_statement
unit tests. There are some issues with the creating CAST/GrFN for these unit tests which I outline below so I have marked themskip
for now.if_statement
unit testI extended this unit test as we discussed so that the variable
a
is referenced in bothif
statements. After further discussion, I made it so thata
is not only assigned, but accessed in the secondif
statement. However, the GrFN is not what we expected (there is no arrow froma
at the top to theI
block in the secondif
statement). The CAST looks fine though. Furthermore, the created GrFN cannot be executed. See Issue #277 if_statement--CAST.pdf if_statement--GrFN.pdfif_else_statement
unit testThis unit test also has problems with the created GrFN. The issues again appears to be the
I
blocks, and as above, the CAST looks fine. See Issue #276 if_else_statement--CAST.pdf if_else_statement--GrFN.pdfif_elif_statement
unit testThis unit test has problems with the CAST (which also causes the GrFN to be incorrect and execution results to be wrong). In the CAST you can see the
else if
statements are not attached to theelse
block like they should. I checked thegcc_ast.json
, and that correctly attaches theelse if
off theelse
branch. It sounds like this issue is fixed on a branch Tito is working on if_elif_statement--CAST.pdf if_elif_statement--GrFN.pdf