[Bug 1065539] New: Review Request: subunit - C bindings for subunit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1065539

            Bug ID: 1065539
           Summary: Review Request: subunit - C bindings for subunit
           Product: Fedora
           Version: rawhide
         Component: Package Review
          Severity: medium
          Priority: medium
          Assignee: nobody@xxxxxxxxxxxxxxxxx
          Reporter: loganjerry@xxxxxxxxx
        QA Contact: extras-qa@xxxxxxxxxxxxxxxxx
                CC: package-review@xxxxxxxxxxxxxxxxxxxxxxx



Spec URL: http://jjames.fedorapeople.org/subunit/subunit.spec
SRPM URL: http://jjames.fedorapeople.org/subunit/subunit-0.0.18-1.fc21.src.rpm
Fedora Account System Username: jjames
Description: Subunit is a streaming protocol for test results.  The protocol is
a binary encoding that is easily generated and parsed.  By design all the
components of the protocol conceptually fit into the xUnit TestCase ->
TestResult interaction.

Subunit comes with command line filters to process a subunit stream and
language bindings for python, C, C++ and shell.  Bindings are easy to write for
other languages.

A number of useful things can be done easily with subunit:
- Test aggregation: Tests run separately can be combined and then
reported/displayed together.  For instance, tests from different languages can
be shown as a seamless whole.
- Test archiving: A test run may be recorded and replayed later.
- Test isolation: Tests that may crash or otherwise interact badly with each
other can be run separately and then aggregated, rather than interfering with
each other.
- Grid testing: subunit can act as the necessary serialization and
deserialization to get test runs on distributed machines to be reported in real
time.

The package breakdown and interdependencies are somewhat unusual.  That is
partly because some bits are architecture-dependent and other bits are
architecture-independent.  Due to the way rpm handles noarch packages, that
means one of the architecture-dependent bits must be the main package, with the
noarch parts in subpackages.  The other part is that subunit consists of 2
different kinds of packages: language bindings (which allow test results to be
emitted in subunit format), and processing tools.  The two different kinds are
completely independent.  It is possible, for example, to produce test results
with the language bindings on one machine, then ship the results to a
completely different machine to process those results.  Therefore, there are no
rpm package dependencies in either direction between the two kinds of packages.
 I have tried to make the order of the packages in the spec file reflect this,
to help alleviate confusion.

The main package contains a C library that allows C programs to emit subunit
test results.  It does not depend on any of the other packages.  The -devel
package, which contains the single header file needed to use the library,
depends only on the main package.  The -cppunit package contains cppunit
integration for subunit.  Since it links against the C library, it depends on
the main package.  The -cppunit-devel package therefore requires both -devel
and the -cppunit package.  The -perl package allows perl programs to emit
subunit test results.  It does not depend on any of the other packages. 
Likewise, the -shell package does not depend on any of the other packages. 
That is all of the language binding packages.

The python-subunit package is the main processing package.  It is currently
available for python 2 only, due to missing python 3 dependencies.  It does not
depend on any language bindings, and therefore has no Requires on any other
package.  Last is the -filters package, which contains some command line
filters that use the python code, and therefore depend on python-subunit.

There is already a python-subunit package in Fedora.  This package will replace
it, as discussed in bug 908842.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review





[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]