On Tue, Oct 11, 2011 at 02:57:20PM +0100, Daniel P. Berrange wrote:
On Tue, Oct 11, 2011 at 03:44:32PM +0200, Guido Günther wrote:
> On Tue, Oct 11, 2011 at 08:41:09AM +0100, Daniel P. Berrange wrote:
> > On Mon, Oct 10, 2011 at 04:15:47PM -0600, Eric Blake wrote:
> > > On 10/10/2011 03:46 PM, Guido Günther wrote:
> > > >Hi,
> > > >having JUnit like XML allows for easy integration into CI tools like
> > > >Jenkins. Attach patch adds this using TAP::Formatter::JUnit.
> > > >Does this look reasonable?
> > >
> > > Do we need to modify a spec file to pull in the
> > > TAP::Formatter::JUnit module when installing the tck on Fedora?
> > > Other than that, it seems reasonable to me, but I'd also like
Dan's
> > > feedback.
> >
> > Normally you don't need to add Perl modules to the SPEC because RPM
> > will autodetect them, but because of the way the TAP system works,
> > we *do* need to add any TAP::Formatter::* modules manually.
> >
> > So ACK if you add this as a Requires and BuildRequires in the RPM
> > perl-Sys-Virt-TCK.spec.PL
> I also had to adjust Build.PL. Although I assume that's o.k. I'd a final
> ACK would be great.
> Cheers,
> -- Guido
> From 3d39a20d5f97de7cdf1effe17f25aa64fb13d872 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx(a)sigxcpu.org>
> Date: Mon, 10 Oct 2011 23:39:41 +0200
> Subject: [PATCH] Add --format=junit test result output
>
> for easy integration into e.g. Jenkins. This needs
> TAP::Formatter::JUnit.
> ---
> Build.PL | 1 +
> bin/libvirt-tck | 10 ++++++++--
> perl-Sys-Virt-TCK.spec.PL | 1 +
> 3 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/Build.PL b/Build.PL
> index b0c53a2..e682c3a 100644
> --- a/Build.PL
> +++ b/Build.PL
> @@ -79,6 +79,7 @@ my $b = $class->new(
> 'IO::Uncompress::Gunzip' => 0,
> 'IO::Uncompress::Bunzip2' => 0,
> 'TAP::Formatter::HTML' => 0,
> + 'TAP::Formatter::JUnit' => 0,
> 'TAP::Harness' => 3.11,
> 'TAP::Harness::Archive' => 0,
> 'Test::Exception' => 0,
> diff --git a/bin/libvirt-tck b/bin/libvirt-tck
> index ee40743..dcb053c 100644
> --- a/bin/libvirt-tck
> +++ b/bin/libvirt-tck
> @@ -26,6 +26,10 @@ Generate a formal XML document of results
>
> # libvirt-tck --format xml
>
> +Generate a JUnit XML document of results
> +
> + # libvirt-tck --format junit
> +
> =head1 DESCRIPTION
>
> The C<libvirt-tck> (libvirt Technology Compatability Kit) command
> @@ -77,7 +81,7 @@ the name of each test case
> Specify the name of the configuration file to use, rather than
> the default C</etc/libvirt-tck/default.cfg>
>
> -=item --format text|html|xml
> +=item --format text|html|xml|junit
>
> Choose the output format for the test results. The default format
> is C<text>, producing human readable results on the console. The
> @@ -192,8 +196,10 @@ if ($format eq "xml") {
> push @newargv, "--formatter=Sys::Virt::TCK::TAP::XMLFormatter";
> } elsif ($format eq "html") {
> push @newargv, "--formatter=TAP::Formatter::HTML"
> +} elsif ($format eq "junit") {
> + push @newargv, "--formatter=TAP::Formatter::JUnit"
> } elsif ($format ne "text") {
> - pod2usage(-msg => "unknown format '$format', expecting one of
'text', 'html', or 'xml'\n",
> + pod2usage(-msg => "unknown format '$format', expecting one of
'text', 'html', 'junit' or 'xml'\n",
> -exitval => 2,
> -output => \*STDERR);
> }
> diff --git a/perl-Sys-Virt-TCK.spec.PL b/perl-Sys-Virt-TCK.spec.PL
> index b6a989e..479aabe 100644
> --- a/perl-Sys-Virt-TCK.spec.PL
> +++ b/perl-Sys-Virt-TCK.spec.PL
> @@ -58,6 +58,7 @@ BuildRequires: perl(IO::Uncompress::Gunzip)
> BuildRequires: perl(IO::Uncompress::Bunzip2)
> BuildRequires: perl(Module::Build)
> BuildRequires: perl(TAP::Formatter::HTML)
> +BuildRequires: perl(TAP::Formatter::JUnit)
> BuildRequires: perl(TAP::Harness)
> BuildRequires: perl(TAP::Harness::Archive)
> BuildRequires: perl(Test::Builder)
You also need "Requires: perl(TAP::Formatter::JUnit)"
ACK with that addition
Pushed now (with that addede Requires). Thanks,
-- Guido