Output more debug information when running python tests

This is for debugging https://github.com/bazelbuild/bazel/issues/3273

Change-Id: I84e260ae1a22147fed0cffc2960352c77af2cf58
PiperOrigin-RevId: 160399209
diff --git a/src/test/py/bazel/test_base.py b/src/test/py/bazel/test_base.py
index 71e89dc..e782f9d 100644
--- a/src/test/py/bazel/test_base.py
+++ b/src/test/py/bazel/test_base.py
@@ -212,6 +212,9 @@
           # and use those here instead of hardcoding paths.
           'JAVA_HOME': 'c:\\program files\\java\\' + sorted(result)[-1],
           'BAZEL_SH': 'c:\\tools\\msys64\\usr\\bin\\bash.exe',
+          # TODO(pcloudy): Remove this after no longer need to debug
+          # https://github.com/bazelbuild/bazel/issues/3273
+          'CC_CONFIGURE_DEBUG': '1',
       }
     else:
       env = {'HOME': os.path.join(self._temp, 'home')}
diff --git a/tools/cpp/cc_configure.bzl b/tools/cpp/cc_configure.bzl
index 79fb8ba..c6eb2b8 100644
--- a/tools/cpp/cc_configure.bzl
+++ b/tools/cpp/cc_configure.bzl
@@ -51,6 +51,7 @@
         "BAZEL_VC",
         "BAZEL_VS",
         "CC",
+        "CC_CONFIGURE_DEBUG",
         "CC_TOOLCHAIN_NAME",
         "CPLUS_INCLUDE_PATH",
         "CUDA_COMPUTE_CAPABILITIES",
diff --git a/tools/cpp/lib_cc_configure.bzl b/tools/cpp/lib_cc_configure.bzl
index e265c3b..2287955 100644
--- a/tools/cpp/lib_cc_configure.bzl
+++ b/tools/cpp/lib_cc_configure.bzl
@@ -115,3 +115,9 @@
       out,
       Label("@bazel_tools//tools/cpp:%s.tpl" % template),
       substitutions)
+
+
+def is_cc_configure_debug(repository_ctx):
+  """Returns True if CC_CONFIGURE_DEBUG is set to 1."""
+  env = repository_ctx.os.environ
+  return "CC_CONFIGURE_DEBUG" in env and env["CC_CONFIGURE_DEBUG"] == "1"
diff --git a/tools/cpp/windows_cc_configure.bzl b/tools/cpp/windows_cc_configure.bzl
index 5d823a3..849c7f5 100644
--- a/tools/cpp/windows_cc_configure.bzl
+++ b/tools/cpp/windows_cc_configure.bzl
@@ -24,6 +24,7 @@
     "which_cmd",
     "execute",
     "tpl",
+    "is_cc_configure_debug",
 )
 
 
@@ -150,6 +151,9 @@
     if vc_dir:
       break
     result = repository_ctx.execute([reg_binary, "query", "HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7", "/v", version])
+    if is_cc_configure_debug(repository_ctx):
+      auto_configure_warning("registry query result for VC %s:\n\nSTDOUT(start)\n%s\nSTDOUT(end)\nSTDERR(start):\n%s\nSTDERR(end)\n" %
+                             (version, result.stdout, result.stderr))
     if not result.stderr:
       for line in result.stdout.split("\n"):
         line = line.strip()