diff --git a/snok.go b/snok.go
index ea95b1f67fcac237e523080700e1e19eb356535b..dcba08812bd917dd21dd60ff37a8bac1c3ae6cdf 100644
--- a/snok.go
+++ b/snok.go
@@ -6,10 +6,12 @@ import (
 	"flag"
 	"fmt"
 	"io"
+	"os"
 	"regexp"
 	"slices"
 	"strconv"
 	"strings"
+	"sync"
 	"testing"
 	"unicode"
 
@@ -21,8 +23,8 @@ import (
 type test struct {
 	Name        string   `json:"name,omitempty"`
 	Args        []string `json:"args,omitempty"`
-	Input       *string  `json:"input,omitempty"` // Todo: add support for URIs
-	Output      *string  `json:"output,omitempty"`
+	Input       *string  `json:"input,omitempty"`  // Todo: add support for URIs
+	Output      *string  `json:"output,omitempty"` // Todo: support regex and strings
 	ExpectError bool     `json:"expectError,omitempty"`
 }
 
@@ -119,32 +121,30 @@ func (ct *CommandTest) testCmd(t *testing.T, cmd *cobra.Command, args []string)
 }
 
 func (ct *CommandTest) executeCmd(args []string, input io.Reader) (string, error) {
-	/*
-		osStdout := os.Stdout                   // keep backup of the real stdout
-		defer func() { os.Stdout = osStdout }() // restore the real stdout
-		r, w, _ := os.Pipe()
-		os.Stdout = w
-	*/
+
+	osStdout := os.Stdout                   // keep backup of the real stdout
+	defer func() { os.Stdout = osStdout }() // restore the real stdout
+	r, w, _ := os.Pipe()
+	os.Stdout = w
+
 	output := new(bytes.Buffer)
-	/*
-		var wg sync.WaitGroup
-		wg.Add(1)
-		go func() {
-			_, err := io.Copy(output, r)
-			if err != nil {
-				s.t.Error(err)
-			}
-			wg.Done()
-		}()
-	*/
+
+	var wg sync.WaitGroup
+	wg.Add(1)
+	go func() {
+		_, err := io.Copy(output, r)
+		require.NoError(ct.t, err, "IO Error")
+		wg.Done()
+	}()
+
 	ct.RootCmd.SetIn(input)
-	ct.RootCmd.SetOutput(output)
+	ct.RootCmd.SetOutput(w)
 	ct.RootCmd.SetArgs(args)
 	err := ct.RootCmd.Execute()
-	/*
-		w.Close()
-		wg.Wait()
-	*/
+
+	w.Close()
+	wg.Wait()
+
 	return output.String(), err
 }