Gentoo Archives: gentoo-dev

From: Sam James <sam@g.o>
To: gentoo-dev@l.g.o
Cc: ruby@g.o, Sam James <sam@g.o>
Subject: [gentoo-dev] [PATCH v2 1/3] ruby-ng.eclass: allow non-fatal use of test functions
Date: Sat, 18 Mar 2023 23:13:12
Message-Id: 20230318231259.3814839-1-sam@gentoo.org
1 die -n will make die become non-fatal if run under 'nonfatal',
2 this is useful if e.g. need to do cleanup.
3
4 For example, in an ebuild, I need to setup a database, run tests,
5 then always cleanup, which looks like:
6 ```
7 db_setup
8 nonfatal each_fakegem_test || tests_failed=1
9 db_cleanup
10
11 if [[ ${tests_failed} == 1 ]] ; then
12 die "Tests failed! Please see ..."
13 fi
14 ```
15
16 Just like we do with e.g. virtualx. This also brings us into line
17 with the Python eclasses.
18
19 Signed-off-by: Sam James <sam@g.o>
20 ---
21 eclass/ruby-ng.eclass | 4 ++--
22 1 file changed, 2 insertions(+), 2 deletions(-)
23
24 diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
25 index 67c22d518a313..aa8a15170cf80 100644
26 --- a/eclass/ruby-ng.eclass
27 +++ b/eclass/ruby-ng.eclass
28 @@ -721,7 +721,7 @@ ruby-ng_rspec() {
29 ;;
30 esac
31
32 - ${RUBY} -S rspec-${version} ${rspec_params} ${files} || die "rspec failed"
33 + ${RUBY} -S rspec-${version} ${rspec_params} ${files} || die -n "rspec failed"
34 }
35
36 # @FUNCTION: ruby-ng_cucumber
37 @@ -754,7 +754,7 @@ ruby-ng_cucumber() {
38 ;;
39 esac
40
41 - CUCUMBER_PUBLISH_QUIET=true ${RUBY} -S cucumber ${cucumber_params} "$@" || die "cucumber failed"
42 + CUCUMBER_PUBLISH_QUIET=true ${RUBY} -S cucumber ${cucumber_params} "$@" || die -n "cucumber failed"
43 }
44
45 # @FUNCTION: ruby-ng_testrb-2
46 --
47 2.40.0

Replies