Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jul 2014 13:30:19 +0200
From:      Fabian Keil <freebsd-listen@fabiankeil.de>
To:        <freebsd-testing@freebsd.org>
Subject:   atf_check() equivalent to test individual shell functions?
Message-ID:  <41d8a2fb.75b47028@fabiankeil.de>

next in thread | raw e-mail | index | archive | help
--Sig_/RA443hGBEO=kGyPObZgnDDi
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Here's another zogftw-related problem.

Putting something like this in a test case works as expected:

| atf_check -s exit:0 -o empty -e empty $ZOGFTW cmd zogftw_string_ends_with=
 "abc" "c"

It would be preferably to source zogftw once at the beginning
and call the shell function zogftw_string_ends_with() directly
afterwards to reduce the overhead, though.

The following sort of does this, but the stdout and stderr
output isn't verified, it's tedious to write and if nothing
fails, the "kyua debug" output isn't particular useful:

| . $ZOGFTW source || atf_fail "Failed to source zogftw"
|
| if ! zogftw_string_ends_with "abc" "c"; then
|     atf_fail "Failed to find 'c' at the end of 'abc'"
| fi

The following also sort of works, but in case of errors the output
isn't helpful (because atf_check_equal() doesn't see the actual
function) and the stderr output isn't verified either:

| . $ZOGFTW source || atf_fail "Failed to source zogftw"
|
| atf_check_equal $(zogftw_string_ends_with "abc" "c"; echo $?) "0"

What I'm looking for is something like this:

| atf_check_shell_function -s return:0 -o empty -e empty zogftw_string_ends=
_with "abc" "c"

atf-sh-api(3) doesn't seem to mention anything like it,
so I'm wondering how other people are testing individual
shell functions?

Fabian

--Sig_/RA443hGBEO=kGyPObZgnDDi
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlPTkUsACgkQBYqIVf93VJ0OgwCfbyxvQkkb85gHu4P/JexXBh2f
kpUAoJN0FD32/2QTWPGNUoTw8gYtvprB
=qBaI
-----END PGP SIGNATURE-----

--Sig_/RA443hGBEO=kGyPObZgnDDi--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41d8a2fb.75b47028>