Commit Graph

5 Commits

Author SHA1 Message Date
Erik Fabrizzi
04a261aa41 fix: forgot a breaking debug thing 2025-10-28 18:28:04 +01:00
Erik Fabrizzi
d4bac2ee3f feat: major refactor and feature expansion for auto_grader CLI
- **Introduced `run_log` and `test_type` classes**
  - Provide structured logging and standardized output formatting for build, run,
    and correctness phases.
  - Support both multiline and oneline colored summaries for better readability.
- **Added `color_string` and `indent_text` utilities**
  - Improve terminal UX with color-coded and indented CLI messages.

- **Enhanced attribute manipulation utilities**
  - Generalized weak/static attribute handling with `add_attributes` and
    `rmv_attributes_file` functions.
  - Unified behavior for `_weaken_file`, `_staticize_file`, and `_unstaticize_file`.
  - Improved regex robustness and correctness messages for missing definitions.

- **Added `StudentVarType` click parameter type**
  - Provides shell completion for student directories based on current path.

- **Introduced new build/run infrastructure**
  - Added `build_root()`, `run_root()`, and `clean_root()` wrappers using `subprocess.run`.
  - Introduced detailed error capture and standardized log generation.

- **New `compile` command**
  - Builds and cleans all roots (or specific student via `-s`).
  - Provides colorized per-root build summaries with timeout support and command overrides.

- **New `correctness` test command**
  - Runs compiled student executables against reference solutions.
2025-10-28 18:22:11 +01:00
Erik Fabrizzi
77444e8e0b added run and correctness in dissect 2025-10-27 14:56:23 +01:00
Erik Fabrizzi
a8f1bae625 added function isolation patch 2025-10-27 13:38:58 +01:00
Erik Fabrizzi
cd09ee8742 Initial Commit 2025-10-24 13:57:49 +02:00