Skip to content

Hotfixes#84

Merged
lyubolp merged 4 commits intomainfrom
hotfixes
Feb 11, 2026
Merged

Hotfixes#84
lyubolp merged 4 commits intomainfrom
hotfixes

Conversation

@lyubolp
Copy link
Contributor

@lyubolp lyubolp commented Feb 11, 2026

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces three "hotfixes" to address specific issues in the grading system. The changes aim to resolve problems with package installation, improve coverage reporting output, and support pygame-based projects in pylint checks.

Changes:

  • Modified package installation to use editable mode to fix directory structure renaming issues in pyproject.toml
  • Added --no-skip-covered flag to coverage report commands to show all files including those with 100% coverage
  • Added pygame to pylint's extension package whitelist to prevent false positives when grading pygame projects

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
grader/utils/virtual_environment.py Changes pip install to use editable mode (-e flag) with explanatory comment
grader/utils/constants.py Adds --no-skip-covered flag to both coverage report argument constants
grader/checks/pylint_check.py Hardcodes pygame in pylint's extension-pkg-whitelist to avoid C extension warnings

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +148 to +149
# Editable install fixes issues with directory structure renaming in pyproject.toml
output = run([pip_path, "install", "-e", project_path])
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The editable install mode (-e flag) creates a link to the project directory instead of copying files. This changes the behavior of package installation and could have implications for the grading process. While editable installs solve the issue mentioned in the comment about directory structure renaming, they may cause issues if the virtual environment outlives the project directory or if the project modifies itself during grading. Additionally, editable installs typically require a setup.py or pyproject.toml with setuptools configuration, which may not be present in all student projects. Consider documenting this behavioral change or providing a flag to make it optional.

Copilot uses AI. Check for mistakes.

logger.debug("Running pylint check on files: %s", pylint_args)
pylint_args.append("--fail-under=0")
pylint_args.append("--extension-pkg-whitelist=pygame")
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hardcoding the pygame extension package whitelist applies this setting to all projects, even those that don't use pygame. This could mask legitimate pylint warnings for projects using other C extension packages. Consider making this configurable through the pylintrc file or as a constructor parameter to allow per-project customization.

Copilot uses AI. Check for mistakes.
@lyubolp lyubolp merged commit 3925487 into main Feb 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants