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