die -n will make die become non-fatal if run under 'nonfatal',
this is useful if e.g. need to do cleanup.

For example, in an ebuild, I need to setup a database, run tests,
then always cleanup, which looks like:
```
db_setup
nonfatal each_fakegem_test || tests_failed=1
db_cleanup

if [[ ${tests_failed} == 1 ]] ; then
        die "Tests failed! Please see ..."
fi
```

Just like we do with e.g. virtualx. This also brings us into line
with the Python eclasses.

Signed-off-by: Sam James <s...@gentoo.org>
---
 eclass/ruby-ng.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 67c22d518a313..aa8a15170cf80 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -721,7 +721,7 @@ ruby-ng_rspec() {
                        ;;
        esac
 
-       ${RUBY} -S rspec-${version} ${rspec_params} ${files} || die "rspec 
failed"
+       ${RUBY} -S rspec-${version} ${rspec_params} ${files} || die -n "rspec 
failed"
 }
 
 # @FUNCTION: ruby-ng_cucumber
@@ -754,7 +754,7 @@ ruby-ng_cucumber() {
                        ;;
        esac
 
-       CUCUMBER_PUBLISH_QUIET=true ${RUBY} -S cucumber ${cucumber_params} "$@" 
|| die "cucumber failed"
+       CUCUMBER_PUBLISH_QUIET=true ${RUBY} -S cucumber ${cucumber_params} "$@" 
|| die -n "cucumber failed"
 }
 
 # @FUNCTION: ruby-ng_testrb-2
-- 
2.40.0


Reply via email to