ruby-fakegem.eclass: allow non-fatal use of test functions

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 <sam@gentoo.org>
This commit is contained in:
Sam James
2023-03-18 05:41:53 +00:00
parent f38ae4be1b
commit d070090b50

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ruby-fakegem.eclass
@@ -552,7 +552,7 @@ each_fakegem_test() {
case ${RUBY_FAKEGEM_RECIPE_TEST} in
rake)
MT_NO_PLUGINS=true ${RUBY} --disable=did_you_mean -S rake ${RUBY_FAKEGEM_TASK_TEST} || die "tests failed"
MT_NO_PLUGINS=true ${RUBY} --disable=did_you_mean -S rake ${RUBY_FAKEGEM_TASK_TEST} || die -n "tests failed"
;;
rspec)
RSPEC_VERSION=2 ruby-ng_rspec