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 ! 👇🏻
