Add tests for ToolchainUtil, and fix an error when there is an error and
values are missing while fetching toolchains.

Fixes #3928.

Change-Id: I4fde784f56daf544ba70c9848e006f1183c20a99
PiperOrigin-RevId: 172922687
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainUtil.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainUtil.java
index 84c0e25..6676a18 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainUtil.java
@@ -220,14 +220,14 @@
       }
     }
 
-    if (valuesMissing) {
-      return null;
-    }
-
     if (!missingToolchains.isEmpty()) {
       throw new ToolchainContextException(new UnresolvedToolchainsException(missingToolchains));
     }
 
+    if (valuesMissing) {
+      return null;
+    }
+
     return builder.build();
   }