Add some debugging info to ArtifactFactory, and allow tests to access the ArtifactResolverSupplier in SkyframeExecutor.

PiperOrigin-RevId: 201705857
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java b/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
index 11b2992..dad4779 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
@@ -171,7 +171,11 @@
         sourceArtifactRoots, "Not initialized for %s %s %s", execPath, root, owner);
     return getArtifact(
         Preconditions.checkNotNull(
-            sourceArtifactRoots.get(root), "%s has no ArtifactRoot (%s)", root, execPath),
+            sourceArtifactRoots.get(root),
+            "%s has no ArtifactRoot (%s) in %s",
+            root,
+            execPath,
+            sourceArtifactRoots),
         execPath,
         owner,
         null);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index fc95c3b..1dc3328 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -810,6 +810,11 @@
   }
 
   @VisibleForTesting
+  public ArtifactResolverSupplier getArtifactResolverSupplierForTesting() {
+    return artifactFactory;
+  }
+
+  @VisibleForTesting
   @Nullable
   public WorkspaceStatusAction getLastWorkspaceStatusAction() throws InterruptedException {
     WorkspaceStatusValue workspaceStatusValue =