summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2018-08-31 11:22:51 +0000
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2018-08-31 11:22:51 +0000
commit9b18e1bffb844ed7f12a56076d2f41a977e6bfe2 (patch)
treee047a5fd93ef7c6356630dc3ff43daa96ea9d25f
parent775d3fca114aff1785d2593c7fc485d215217e75 (diff)
parent68eff9bad5f874e1a9b9bbecde5fea1cc61fcf76 (diff)
downloadbuildstream-9b18e1bffb844ed7f12a56076d2f41a977e6bfe2.tar.gz
Merge branch 'Qinusty/retries-should-fail' into 'master'
Retries log as failures See merge request BuildStream/buildstream!766
-rw-r--r--buildstream/_scheduler/jobs/job.py10
-rw-r--r--tests/sources/deb.py2
-rw-r--r--tests/sources/tar.py2
-rw-r--r--tests/sources/zip.py2
4 files changed, 6 insertions, 10 deletions
diff --git a/buildstream/_scheduler/jobs/job.py b/buildstream/_scheduler/jobs/job.py
index 922ce5613..165c7c83f 100644
--- a/buildstream/_scheduler/jobs/job.py
+++ b/buildstream/_scheduler/jobs/job.py
@@ -403,7 +403,7 @@ class Job():
if self._retry_flag and (self._tries <= self._max_retries):
self.message(MessageType.FAIL,
"Try #{} failed, retrying".format(self._tries),
- elapsed=elapsed)
+ elapsed=elapsed, logfile=filename)
else:
self.message(MessageType.FAIL, str(e),
elapsed=elapsed, detail=e.detail,
@@ -430,7 +430,8 @@ class Job():
self.message(MessageType.BUG, self.action_name,
elapsed=elapsed, detail=detail,
logfile=filename)
- self._child_shutdown(RC_FAIL)
+ # Unhandled exceptions should permenantly fail
+ self._child_shutdown(RC_PERM_FAIL)
else:
# No exception occurred in the action
@@ -509,11 +510,6 @@ class Job():
message.action_name = self.action_name
message.task_id = self._task_id
- if (message.message_type == MessageType.FAIL and
- self._tries <= self._max_retries and self._retry_flag):
- # Job will be retried, display failures as warnings in the frontend
- message.message_type = MessageType.WARN
-
# Send to frontend if appropriate
if context.silent_messages() and (message.message_type not in unconditional_messages):
return
diff --git a/tests/sources/deb.py b/tests/sources/deb.py
index 9df0dadf0..b5b031161 100644
--- a/tests/sources/deb.py
+++ b/tests/sources/deb.py
@@ -56,7 +56,7 @@ def test_fetch_bad_url(cli, tmpdir, datafiles):
result = cli.run(project=project, args=[
'fetch', 'target.bst'
])
- assert "Try #" in result.stderr
+ assert "FAILURE Try #" in result.stderr
result.assert_main_error(ErrorDomain.STREAM, None)
result.assert_task_error(ErrorDomain.SOURCE, None)
diff --git a/tests/sources/tar.py b/tests/sources/tar.py
index a13fe2647..1fd79f10b 100644
--- a/tests/sources/tar.py
+++ b/tests/sources/tar.py
@@ -67,7 +67,7 @@ def test_fetch_bad_url(cli, tmpdir, datafiles):
result = cli.run(project=project, args=[
'fetch', 'target.bst'
])
- assert "Try #" in result.stderr
+ assert "FAILURE Try #" in result.stderr
result.assert_main_error(ErrorDomain.STREAM, None)
result.assert_task_error(ErrorDomain.SOURCE, None)
diff --git a/tests/sources/zip.py b/tests/sources/zip.py
index a168d529b..73767ee79 100644
--- a/tests/sources/zip.py
+++ b/tests/sources/zip.py
@@ -53,7 +53,7 @@ def test_fetch_bad_url(cli, tmpdir, datafiles):
result = cli.run(project=project, args=[
'fetch', 'target.bst'
])
- assert "Try #" in result.stderr
+ assert "FAILURE Try #" in result.stderr
result.assert_main_error(ErrorDomain.STREAM, None)
result.assert_task_error(ErrorDomain.SOURCE, None)