aboutsummaryrefslogtreecommitdiffstats
path: root/src/exercises/runner.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/exercises/runner.go')
-rw-r--r--src/exercises/runner.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/exercises/runner.go b/src/exercises/runner.go
index 1fe2a32..1490f13 100644
--- a/src/exercises/runner.go
+++ b/src/exercises/runner.go
@@ -1,9 +1,17 @@
package exercises
-import "os/exec"
+import (
+ "fmt"
+ "os/exec"
+)
-func Run(exercise string) (string, error) {
- cmd := exec.Command("go", "run", "./exercises/"+exercise+".go")
+func Run(name string) (string, error) {
+ exercise, err := Find(name)
+ if err != nil {
+ return "", err
+ }
+
+ cmd := exec.Command("go", "run", fmt.Sprintf("./%s", exercise.Path))
cOut, err := cmd.CombinedOutput()
return string(cOut), err
}