author Gregory Szorc <>
Mon, 08 May 2017 17:19:05 -0700
changeset 360045 a0e257e346ccf3c1db332ec5903241f4eeb9a7ee
parent 309024 62f855e872506e80a209d6d3415a1c45922ab72a
permissions -rw-r--r--
Bug 1359965 - Support and generate tar.gz WPT archive; r=glandium Several years ago there was a single zip file for all test files. Clients would only extract the files they needed. Thus, zip was a reasonable archive format because it allowed direct access to members without having to decompress the entirety of the stream. We have since split up that monolithic archive into separate, domain-specific archives. e.g. 1 archive for mochitests and one for xpcshell tests. This drastically cut down on network I/O required on testers because they only fetched archives/data that was relevant. It also enabled parallel generation of test archives, we shaved dozens of seconds off builds due to compression being a long pole. Despite the architectural changes to test archive management, we still used zip files. This is not ideal because we no longer access specific files in test archives and thus don't care about single/partial member access performance. This commit implements support for generating tar.gz test archives. And it switches the web-platform archive to a tar.gz file. The performance implications for archive generation are significant: before: 48,321,250 bytes; 6.05s after: 31,844,267 bytes; 4.57s The size is reduced because we have a single compression context so data from 1 file can benefit compression in a subsequent file. CPU usage is reduced because the compressor has to work less with 1 context than it does with N. While I didn't measure it, decompression performance should also be improved for the same reasons. And of course network I/O will be reduced. mozharness consumers use a generic method for handling unarchiving. This method automagically handles multiple file extensions. So as long as downstream consumers aren't hard coding ".zip" this change should "just work." MozReview-Commit-ID: LQa5MIHLsms

Metadata-Version: 1.1
Name: pytest
Version: 2.9.2
Summary: pytest: simple powerful testing with Python
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
Author-email: holger at
License: MIT license
Description: .. image::
           :align: center
           :alt: pytest
        .. image::
        .. image::
        .. image::
        .. image::
        .. image::
        The ``pytest`` framework makes it easy to write small tests, yet
        scales to support complex functional testing for applications and libraries.    
        An example of a simple test:
        .. code-block:: python
            # content of
            def func(x):
                return x + 1
            def test_answer():
                assert func(3) == 5
        To execute it::
            $ py.test
            ======= test session starts ========
            platform linux -- Python 3.4.3, pytest-2.8.5, py-1.4.31, pluggy-0.3.1    
            collected 1 items
            ======= FAILURES ========
            _______ test_answer ________
                def test_answer():
            >       assert func(3) == 5
            E       assert 4 == 5
            E        +  where 4 = func(3)
            ======= 1 failed in 0.12 seconds ========
        Due to ``py.test``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started <>`_ for more examples.
        - Detailed info on failing `assert statements <>`_ (no need to remember ``self.assert*`` names);
        - `Auto-discovery
          of test modules and functions;
        - `Modular fixtures <>`_  for
          managing small or parametrized long-lived test resources;
        - Can run `unittest <>`_ (or trial),
          `nose <>`_ test suites out of the box;
        - Python2.6+, Python3.2+, PyPy-2.3, Jython-2.5 (untested);
        - Rich plugin architecture, with over 150+ `external plugins <>`_ and thriving community;
        For full documentation, including installation, tutorials and PDF documents, please see
        Please use the `GitHub issue tracker <>`_ to submit bugs or request features.
        Consult the `Changelog <>`_ page for fixes and enhancements of each version.
        Copyright Holger Krekel and others, 2004-2016.
        Distributed under the terms of the `MIT`_ license, pytest is free and open source software.
        .. _`MIT`:
Platform: unix
Platform: linux
Platform: osx
Platform: cygwin
Platform: win32
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5