Don't set the build result to ABORTED

We pass 'ABORTED' back from the executor in some cases, mostly to
aid in testing (so we know when the executor has intentionally
aborted a job).  However, that's a non-final result, and other
parts of zuul (like areAllJobsCompleted) shouldn't need to know
about it.  If the executor client receives ABORTED (or DISCONNECT),
log it, but don't pass it any further up the chain.

Change-Id: If2cbf2f6eecb9a7fdef4d0a6eebeb5fe2549e276
diff --git a/zuul/executor/client.py b/zuul/executor/client.py
index 0f8d7d7..041f754 100644
--- a/zuul/executor/client.py
+++ b/zuul/executor/client.py
@@ -379,6 +379,11 @@
             result_data = data.get('data', {})
             self.log.info("Build %s complete, result %s" %
                           (job, result))
+            # If the build should be retried, don't supply the result
+            # so that elsewhere we don't have to deal with keeping
+            # track of which results are non-final.
+            if build.retry:
+                result = None
             self.sched.onBuildCompleted(build, result, result_data)
             # The test suite expects the build to be removed from the
             # internal dict after it's added to the report queue.