go/packages: add test case for golang/go#33462

Updates golang/go#33462

Change-Id: I66e0ff1a87eab1958eed87a30e0e09b47a62d43c
Reviewed-on: https://go-review.googlesource.com/c/tools/+/190177
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
diff --git a/go/packages/packages_test.go b/go/packages/packages_test.go
index 3afd5bf..42cd4f3 100644
--- a/go/packages/packages_test.go
+++ b/go/packages/packages_test.go
@@ -2105,6 +2105,42 @@
 	}
 }
 
+func TestNoCcompiler(t *testing.T) { packagestest.TestAll(t, testNoCcompiler) }
+func testNoCcompiler(t *testing.T, exporter packagestest.Exporter) {
+	// Enable this test after golang/go#33462 is resolved.
+	t.Skip()
+
+	exported := packagestest.Export(t, exporter, []packagestest.Module{{
+		Name: "golang.org/fake",
+		Files: map[string]interface{}{
+			"a/a.go": `package a
+import "net/http"
+const A = http.MethodGet
+`,
+		}}})
+	defer exported.Cleanup()
+
+	// Explicitly enable cgo but configure a nonexistent C compiler.
+	exported.Config.Env = append(exported.Config.Env, "CGO_ENABLED=1", "CC=doesnotexist")
+	exported.Config.Mode = packages.LoadAllSyntax
+	initial, err := packages.Load(exported.Config, "golang.org/fake/a")
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	// Check value of a.A.
+	a := initial[0]
+	aA := constant(a, "A")
+	if aA == nil {
+		t.Fatalf("a.A: got nil")
+	}
+	got := aA.Val().String()
+	if got != "\"GET\"" {
+		t.Errorf("a.A: got %s, want %s", got, "\"GET\"")
+	}
+
+}
+
 func errorMessages(errors []packages.Error) []string {
 	var msgs []string
 	for _, err := range errors {