fix: Resolve the test manifest with the runfiles lib. (#1993)

This makes it possible for the test to work with sibling repository
layout.

Tested by running the :gazelle_python_manifest.test in
build_file_generation with all combinations of both values of
--legacy_external_runfiles, --enable_bzlmod and
--sibling_repository_layout.
diff --git a/gazelle/manifest/defs.bzl b/gazelle/manifest/defs.bzl
index ccabfd2..542f6dc 100644
--- a/gazelle/manifest/defs.bzl
+++ b/gazelle/manifest/defs.bzl
@@ -116,7 +116,7 @@
         attrs = {
             "env": {
                 "_TEST_MANIFEST": "$(rootpath {})".format(manifest),
-                "_TEST_MANIFEST_GENERATOR_HASH": "$(rootpath {})".format(manifest_generator_hash),
+                "_TEST_MANIFEST_GENERATOR_HASH": "$(rlocationpath {})".format(manifest_generator_hash),
                 "_TEST_REQUIREMENTS": "$(rootpath {})".format(requirements),
             },
             "size": "small",
@@ -130,7 +130,10 @@
                 manifest_generator_hash,
             ],
             rundir = ".",
-            deps = [Label("//manifest")],
+            deps = [
+                Label("//manifest"),
+                Label("@com_github_bazelbuild_rules_go//go/runfiles"),
+            ],
             # kwargs could contain test-specific attributes like size or timeout
             **dict(attrs, **kwargs)
         )
diff --git a/gazelle/manifest/test/test.go b/gazelle/manifest/test/test.go
index 72cb260..506c7d2 100644
--- a/gazelle/manifest/test/test.go
+++ b/gazelle/manifest/test/test.go
@@ -26,6 +26,7 @@
 	"path/filepath"
 	"testing"
 
+	"github.com/bazelbuild/rules_go/go/runfiles"
 	"github.com/bazelbuild/rules_python/gazelle/manifest"
 )
 
@@ -49,7 +50,12 @@
 		t.Fatal("failed to find the Gazelle manifest file integrity")
 	}
 
-	manifestGeneratorHashPath := os.Getenv("_TEST_MANIFEST_GENERATOR_HASH")
+	manifestGeneratorHashPath, err := runfiles.Rlocation(
+		os.Getenv("_TEST_MANIFEST_GENERATOR_HASH"))
+	if err != nil {
+		t.Fatal("failed to resolve runfiles path of manifest: %v", err)
+	}
+
 	manifestGeneratorHash, err := os.Open(manifestGeneratorHashPath)
 	if err != nil {
 		t.Fatalf("opening %q: %v", manifestGeneratorHashPath, err)