Fix the Decorator That Eats Return Values
Make a logging decorator actually call the wrapped function and return its value.
A advanced Linux challenge worth 20 points. Solve it hands-on in a real Linux environment in your browser - no local setup, no fake shells.
The Challenge
Scenario: /home/labuser/lab/timer.py defines a @log_calls decorator meant to log every function call, but its wrapper never calls the real function at all - every decorated function now silently returns None.
Task: Fix log_calls() so the wrapper accepts any arguments, calls the real function, returns its result, and still logs CALL <name> to calls.log. Run check when ready.