[libvirt] [PATCH] libvirt-tck: add junit output

Guido Günther agx at sigxcpu.org
Tue Oct 11 14:01:00 UTC 2011


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 at 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




More information about the libvir-list mailing list