From 6d77eb48f35355d9f985e4ba99359b42e6e0f6b0 Mon Sep 17 00:00:00 2001 From: Aydin Hassan Date: Sat, 30 Jan 2016 22:36:34 +0000 Subject: [PATCH] Emit run.finish even if exception is thrown --- src/ExerciseDispatcher.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ExerciseDispatcher.php b/src/ExerciseDispatcher.php index b1399aee..61cd5388 100644 --- a/src/ExerciseDispatcher.php +++ b/src/ExerciseDispatcher.php @@ -175,11 +175,14 @@ public function run(ExerciseInterface $exercise, $fileName, OutputInterface $out { $this->eventDispatcher->dispatch(new Event('run.start', compact('exercise', 'fileName'))); - $exitStatus = $this->runnerFactory - ->create($exercise, $this->eventDispatcher) - ->run($fileName, $output); + try { + $exitStatus = $this->runnerFactory + ->create($exercise, $this->eventDispatcher) + ->run($fileName, $output); + } finally { + $this->eventDispatcher->dispatch(new Event('run.finish', compact('exercise', 'fileName'))); + } - $this->eventDispatcher->dispatch(new Event('run.finish', compact('exercise', 'fileName'))); return $exitStatus; }