Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Gentoo Development (http://www.linux-archive.org/gentoo-development/)
-   -   A unit-testing prototype (http://www.linux-archive.org/gentoo-development/95491-unit-testing-prototype.html)

Donnie Berkholz 05-26-2008 09:47 AM

A unit-testing prototype
 
Hi everyone,

A while back, vapier added some tests for the toolchain-funcs eclass to
/usr/portage/eclass/tests/. I really like the idea, and I recently
discovered an xUnit-style unit-testing framework for shell scripts
called ShUnit2. I played with it a little and made a couple of
prototypes. Take a look and see what you think.

To get started:

layman -f -o http://gechi-overlay.sf.net/layman.xml -a gechi
emerge shunit2
sed -i -e "/^__SHUNIT_SHELL_FLAGS/s:u::g" /usr/share/shunit2/shunit2

Download the attached files to /usr/portage/eclass/tests, make 'em
executable and run 'em. The output looks something like this:

donnie@comet $ ./toolchain-funcs-shunit.sh
#
# Performing tests
#
test-tc-arch-kernel
test-tc-arch

#
# Test report
#
tests passed: 71 100%
tests failed: 0 0%
tests skipped: 0 0%
tests total: 71 100%

donnie@comet $ ./x-modular-shunit.sh
#
# Performing tests
#
test-x-modular_specs_check
test-x-modular_dri_check
ASSERT:DRIVER='yes' IUSE='dri' USE='dri' BUILT_WITH='yes'
test-x-modular_server_supports_drivers_check
ASSERT:DRIVER='yes' HAS_VER='yes' BUILT_WITH='yes'

#
# Test report
#
tests passed: 28 93%
tests failed: 2 7%
tests skipped: 0 0%
tests total: 30 100%


What do you think?

Thanks,
Donnie

Donnie Berkholz 06-12-2008 07:48 AM

A unit-testing prototype
 
On 02:47 Mon 26 May , Donnie Berkholz wrote:
> A while back, vapier added some tests for the toolchain-funcs eclass to
> /usr/portage/eclass/tests/. I really like the idea, and I recently
> discovered an xUnit-style unit-testing framework for shell scripts
> called ShUnit2. I played with it a little and made a couple of
> prototypes. Take a look and see what you think.

I've heard two positive comments on IRC and nothing else, so I'm
proceeding with this. I'll be adding these to the existing
/usr/portage/eclass/tests/, adding shunit2 to the tree, and beginning
some work looking into unit tests for portage's bash code.

Probably some for app-shells/bash would also be useful, since we seem to
pretty consistently run into weird breakage on new versions.

Thanks,
Donnie
--
gentoo-dev@lists.gentoo.org mailing list

Alexis Ballier 06-12-2008 08:42 AM

A unit-testing prototype
 
On Thu, 12 Jun 2008 00:48:01 -0700
Donnie Berkholz <dberkholz@gentoo.org> wrote:

> On 02:47 Mon 26 May , Donnie Berkholz wrote:
> > A while back, vapier added some tests for the toolchain-funcs
> > eclass to /usr/portage/eclass/tests/. I really like the idea, and I
> > recently discovered an xUnit-style unit-testing framework for shell
> > scripts called ShUnit2. I played with it a little and made a couple
> > of prototypes. Take a look and see what you think.
>
> I've heard two positive comments on IRC and nothing else, so I'm
> proceeding with this. I'll be adding these to the existing
> /usr/portage/eclass/tests/, adding shunit2 to the tree, and beginning
> some work looking into unit tests for portage's bash code.

Great! Thanks. I didn't try it because I was too lazy to put shunit2 in
an overlay but had a look at the code. Tests cannot hurt, esp. for such
widely used code that eclasses are.
I'll probably use this to write tests for the couple of eclasses I
maintain.


Alexis.

Rémi Cardona 06-12-2008 09:59 AM

A unit-testing prototype
 
Donnie Berkholz a écrit :
I've heard two positive comments on IRC and nothing else, so I'm
proceeding with this. I'll be adding these to the existing
/usr/portage/eclass/tests/, adding shunit2 to the tree, and beginning
some work looking into unit tests for portage's bash code.


Could you let us know of your progress here or on your blog? I'm
interested in maybe writing a couple tests for the gnome2* eclasses.


Thanks for your work on this :)

Cheers

--
Rémi Cardona
LRI, INRIA
remi.cardona@lri.fr
remi@gentoo.org
--
gentoo-dev@lists.gentoo.org mailing list


All times are GMT. The time now is 12:52 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.