diff options
Diffstat (limited to 'pym')
-rw-r--r-- | pym/_emerge/__init__.py | 4 | ||||
-rw-r--r-- | pym/portage/__init__.py | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index eb1bd3b7a..3f16150e4 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -2927,6 +2927,10 @@ class EbuildProcess(SpawnProcess): self.returncode = portage._doebuild_exit_status_check_and_log( self.settings, self.phase, self.returncode) + if self.phase == "test" and self.returncode != os.EX_OK and \ + "test-fail-continue" in self.settings.features: + self.returncode = os.EX_OK + portage._post_phase_userpriv_perms(self.settings) class EbuildPhase(CompositeTask): diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index cf966195a..fc42bd3af 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -4503,6 +4503,11 @@ def spawnebuild(mydo, actionmap, mysettings, debug, alwaysdep=0, _check_build_log(mysettings) if phase_retval == os.EX_OK: phase_retval = _post_src_install_checks(mysettings) + + if mydo == "test" and phase_retval != os.EX_OK and \ + "test-fail-continue" in mysettings.features: + phase_retval = os.EX_OK + return phase_retval _post_phase_cmds = { |