DEV Community

Cover image for The Hard Part of Grading a Terminal Command: Why String Matching Doesn't Work
KARATAS
KARATAS

Posted on

The Hard Part of Grading a Terminal Command: Why String Matching Doesn't Work

1. The problem: I wanted to auto-grade a terminal task

2. First attempt: compare the typed command to an expected command as a string β€” why it broke (infinite commands do the same job)

3. Second attempt: parse the output with regex β€” why it broke (different commands, equally valid output)

4. The fix: check simulated filesystem/process state at the end of the task instead

5. How I built this in JS (short code sample)

6. Result: this is how ShellPer's Lab module works, try it here
ShellPer On Google Play Store !

πŸ‘‡πŸ»

library

search

lab-mission

danger-radar

playbook

toolkit

Top comments (0)