-
Notifications
You must be signed in to change notification settings - Fork 370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Language.executable_extension property #1139
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1139 +/- ##
==========================================
+ Coverage 63.43% 63.90% +0.47%
==========================================
Files 232 233 +1
Lines 17050 17106 +56
==========================================
+ Hits 10815 10932 +117
+ Misses 6235 6174 -61
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the current status of TwoSteps? Are we letting it rot away?
Language executable file names can now have extensions. This allows to simplify language compilation commands in multiple cases. Task type plugins and tests are updated accordingly.
Thanks, I updated it as well (somewhat). Even in master, as I can see, TwoSteps won't work with Python etc., because it doesn't call |
I had one more comment request then feel free to push to master. Thank you! |
Thanks! I'll push the changes soon. |
Merged. |
This property allows to simplify language compilation commands in multiple cases. The compilation commands presented to the user are also easier to understand.
The initial motivation for this change was to be able to use
python3 -m zipapp
instead of manual archiving for the Python 3 language. Currently this doesn't work, however, because from PEP 441 there must be a__main__.py
file in the archive, andzipapp
enforces this. But these changes are still useful for multiple other languages.A couple of notes:
.pyz
extension is specified in PEP 441.cms/cms/grading/tasktypes/Batch.py
Lines 256 to 257 in d4c9e92
I think it could query the task object instead. Perhaps a new issue can be opened.
InterpretedLanguage
subclass without compilation commands. Currently a language with empty compilation commands fails here:cms/cms/grading/steps/utils.py
Lines 88 to 89 in d4c9e92
because
stats
isNone
. On the other hand, it is not clear how this can be reconciled with the case of multiple source files.This change is