summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Peres <martin.peres@free.fr>2016-01-24 17:10:40 +0200
committerMartin Peres <martin.peres@free.fr>2016-01-25 18:28:20 +0200
commit7440dbafe686c516ed18d86b13f855675020df63 (patch)
tree480312a2b834e0dc7a8ba3b0df3156b12b5f3b25
parentd3b68cc596fb7b90339dc4de34390b1ad6beb741 (diff)
smart_ezbench: cancels jobs on commit that failed to be deployed
-rw-r--r--utils/ezbench.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/utils/ezbench.py b/utils/ezbench.py
index a42532c..cd345cb 100644
--- a/utils/ezbench.py
+++ b/utils/ezbench.py
@@ -550,6 +550,7 @@ class SmartEzbench:
self.state['beenRunBefore'] = True
# Start generating ezbench calls
+ commit_broken = []
for e in task_list:
running_mode = self.running_mode()
if running_mode != RunningMode.RUN:
@@ -557,6 +558,11 @@ class SmartEzbench:
"Running mode changed from RUN to {mode}. Exit...".format(mode=running_mode.name))
return False
+ if e.commit in commit_broken:
+ msg = "Commit {commit} got marked as broken, cancel the {count} runs for benchmark {benchmark}"
+ self.__log(Criticality.WW, msg.format(count=e.rounds, commit=e.commit, benchmark=e.benchmark))
+ continue
+
self.__log(Criticality.DD,
"make {count} runs for benchmark {benchmark} using commit {commit}".format(count=e.rounds,
commit=e.commit,
@@ -570,8 +576,12 @@ class SmartEzbench:
# Error we cannot do anything about, probably a setup issue
# Let's mark the run as aborted until the user resets it!
self.set_running_mode(RunningMode.ERROR)
- #elif run_info.exit_code == EzbenchExitCode.COMPILATION_FAILED:
- # TODO:Mark the commit as broken
+ elif (run_info.exit_code == EzbenchExitCode.COMPILATION_FAILED or
+ run_info.exit_code == EzbenchExitCode.DEPLOYMENT_FAILED):
+ # Cancel any other test on this commit
+ commit_broken.append(e.commit)
+
+
self.__log(Criticality.II, "Done")