summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQinusty <jrsmith9822@gmail.com>2018-08-31 11:54:08 +0000
committerQinusty <jrsmith9822@gmail.com>2018-08-31 11:54:08 +0000
commit6827561486e553bb39182e23234408a6ba3c301e (patch)
treee30e150ecc4b93f439e6bad31b824cc95a1f9f98
parent2b94532a3844b67bf7a3d4a1aee251a836e1144a (diff)
parentd013bb2c07ff8b742bfa67407b544ef061e9bf6f (diff)
downloadbuildstream-6827561486e553bb39182e23234408a6ba3c301e.tar.gz
Merge branch 'Qinusty/retries-should-fail-backport' into 'bst-1.2'
Retries should fail Backport 1.2 See merge request BuildStream/buildstream!768
-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 fb02de306..39afd7881 100644
--- a/tests/sources/tar.py
+++ b/tests/sources/tar.py
@@ -66,7 +66,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)