veyron/{tools,services/mgmt}/build: fix for https://code.google.com/p/envyor/issues/detail?id=252

Change-Id: I415971f347971c59c592fb5c2702986506f5020a
diff --git a/services/mgmt/build/impl/invoker.go b/services/mgmt/build/impl/invoker.go
index ee62f28..22f9f24 100644
--- a/services/mgmt/build/impl/invoker.go
+++ b/services/mgmt/build/impl/invoker.go
@@ -2,7 +2,6 @@
 
 import (
 	"bytes"
-	"errors"
 	"fmt"
 	"io/ioutil"
 	"os"
@@ -13,12 +12,13 @@
 	"veyron2/ipc"
 	"veyron2/services/mgmt/binary"
 	"veyron2/services/mgmt/build"
+	"veyron2/verror"
 	"veyron2/vlog"
 )
 
 var (
-	errBuildFailed   = errors.New("build failed")
-	errInternalError = errors.New("internal error")
+	errBuildFailed   = verror.Internalf("build failed")
+	errInternalError = verror.Internalf("internal error")
 )
 
 // invoker holds the state of a build server invocation.
@@ -56,9 +56,9 @@
 		vlog.Errorf("MkdirAll(%v, %v) failed: %v", srcDir, dirPerm, err)
 		return nil, errInternalError
 	}
-	rStream := stream.RecvStream()
-	for rStream.Advance() {
-		srcFile := rStream.Value()
+	iterator := stream.RecvStream()
+	for iterator.Advance() {
+		srcFile := iterator.Value()
 		filePath := filepath.Join(srcDir, filepath.FromSlash(srcFile.Name))
 		dir := filepath.Dir(filePath)
 		if err := os.MkdirAll(dir, dirPerm); err != nil {
@@ -70,9 +70,8 @@
 			return nil, errInternalError
 		}
 	}
-
-	if err := rStream.Err(); err != nil {
-		vlog.Errorf("rStream failed: %v", err)
+	if err := iterator.Err(); err != nil {
+		vlog.Errorf("Advance() failed: %v", err)
 		return nil, errInternalError
 	}
 	cmd := exec.Command(i.gobin, "install", "-v", "...")
diff --git a/tools/build/impl/impl_test.go b/tools/build/impl/impl_test.go
index c4bdba1..6cd6311 100644
--- a/tools/build/impl/impl_test.go
+++ b/tools/build/impl/impl_test.go
@@ -12,13 +12,23 @@
 	"veyron2/rt"
 	"veyron2/services/mgmt/binary"
 	"veyron2/services/mgmt/build"
+	"veyron2/verror"
 	"veyron2/vlog"
 )
 
+var errInternalError = verror.Internalf("internal error")
+
 type mock struct{}
 
-func (mock) Build(_ ipc.ServerContext, arch build.Architecture, opsys build.OperatingSystem, _ build.BuilderServiceBuildStream) ([]byte, error) {
+func (mock) Build(_ ipc.ServerContext, arch build.Architecture, opsys build.OperatingSystem, stream build.BuilderServiceBuildStream) ([]byte, error) {
 	vlog.VI(2).Infof("Build(%v, %v) was called", arch, opsys)
+	iterator := stream.RecvStream()
+	for iterator.Advance() {
+	}
+	if err := iterator.Err(); err != nil {
+		vlog.Errorf("Advance() failed: %v", err)
+		return nil, errInternalError
+	}
 	return nil, nil
 }