enable main() function execution in generated code #4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Often times the generated code by a model contained
if __name__ == "__main__":
but none of this code was getting executed because theexec_globals
being passed toexec
inunsafe_execute
was an empty dictionary so the built-in__name__
global variable (like all global variables) did not exist anymore in the namespace for the generated code and hence themain
function in the generated code never got called. Themain
function not getting called resulted in an empty.pred
file (the file was created because the file open statement was added separately outside of the generated code'smain
function) and this resulted in the judge declaring that the answer to the unit test was wrong because it did not match the expected output (because it was comparing the empty prediction file contents with the ground truth file which was not empty).