[engine] Fix segfault

Under some conditions, if an error occurred during `copyTree` then `err`
would be set and `d` would be nil, leading to the error turning into a
segfault.

Change-Id: I52194d50bc47cd896f029ea4dce782214db54e95
Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/shac/+/912733
Fuchsia-Auto-Submit: Oliver Newman <olivernewman@google.com>
Reviewed-by: Marc-Antoine Ruel <maruel@google.com>
Commit-Queue: Marc-Antoine Ruel <maruel@google.com>
diff --git a/internal/engine/pkg_test.go b/internal/engine/pkg_test.go
index ae91fa2..08a115d 100644
--- a/internal/engine/pkg_test.go
+++ b/internal/engine/pkg_test.go
@@ -88,7 +88,7 @@
 
 func copyTree(t *testing.T, dstDir, srcDir string, renamings map[string]string) {
 	err := filepath.WalkDir(srcDir, func(path string, d fs.DirEntry, err error) error {
-		if d.IsDir() || err != nil {
+		if err != nil || d.IsDir() {
 			return err
 		}
 		rel, err := filepath.Rel(srcDir, path)