Enhanced cell-build to work with other branches and to run unit tests remotely.

Change-Id: I6fe6406561c5968e102475efde3599c15d321656
diff --git a/tools/dev/bin/cell-build b/tools/dev/bin/cell-build
index ac6e510..85b4467 100755
--- a/tools/dev/bin/cell-build
+++ b/tools/dev/bin/cell-build
@@ -6,8 +6,22 @@
 # Check environment
 [ -z "$OCN" ] && echo "Cell environment not established" && exit 1
 
+runTests=""
+
+while getopts b:t?h o; do
+    case "$o" in
+        b) branch=$OPTARG;;
+        t) runTests=true;;
+        *) echo "usage: cell-build [-b branch] [-t] [commitHash]" >&2; exit 1;;
+    esac
+done
+
+let OPC=$OPTIND-1
+shift $OPC
+
 # Check arguments and environment
-baseCommit=${1:-$(git log | grep origin/master | head -n1 | cut -d\  -f2)}
+branch=${branch:-origin/master}
+baseCommit=${1:-$(git log | grep $branch | head -n1 | cut -d\  -f2)}
 
 # Create a patch file
 git diff $baseCommit > /tmp/$baseCommit.patch
@@ -35,5 +49,9 @@
     [ -s /tmp/$baseCommit.patch ] && git apply /tmp/$baseCommit.patch
 
     # Run the build (neutralizing known environment mutations in SSH sessions)
+    set -e
     SHLVL=1 SSH_CLIENT=0 SSH_CONNECTION=0 bazel build onos
+    if [ $runTests = true ]; then
+        bazel query 'tests(//...)' | SHLVL=1 SSH_CLIENT=0 SSH_CONNECTION=0 xargs bazel test
+    fi
 "