{ "info": { "author": "Vincent Ladeuil", "author_email": "vila+qa@canonical.com", "bugtrack_url": null, "classifiers": [], "description": ".. -*- Mode: rst -*-\n===========\n uci.tests\n===========\n\nThe Ubuntu Continuous Integration engine runs all the tests against various\nUbuntu images for various releases.\n\nThis project provides a central place for utilities common to many use cases\nso we don't have to re-implement them for multiple projects.\n\nIt builds on techniques used for many years in lp:bzr, lp:testtools,\nlp:subunit, lp:selenium-simple-test and of course python unittest itself.\n\nTest Loaders\n============\n\nThe provided test loader standardizes on test IDs and addresses current and\nknown issues with unittest discover.\n\nIt can be used to load arbitrary tests from an arbitrary tree, relying on\nsimple hooks defined in python packages.\n\nExamples include lp:selenium-simple-test scripts, shell scripts as well as\npython tests organized in unusual ways. It also allows mixing different\nkinds of tests in the same tree.\n\nThe emphasis is on allowing the user to fully customize test loading.\n\n\nTest suites\n===========\n\nThere are times where a test suite needs a specific setup. The\nsuites.TestSuite class implements setUp()/addCleanup() with semantics\nsimilar to the sibling functions in unittest.TestCase.\n\nThis should be used while loading the tests and relies on existing API for\nthe test result classes.\n\n\nTest selection\n==============\n\nWhile a test suite is most commonly run in full, there are times when only a\nsubset of a suite needs to run:\n * a developer may want to focus on a very reduced set when fixing a bug or\n developing a new feature.\n * a CI engine may want to run only hardware specific tests or any specific\n configuration (network, file systems, OS).\n\nUsing regular expressions to select or exclude tests has been addressing all\nthese needs in a surprisingly easy way.\n\nTest runners\n============\n\nSee test results ;)\n\nTest runners generally mix test loading, test selection and test results\nproduction.\n\nuci-tests aim is not to provide a one-size fits all test runner but instead\nallow people to use their preferred one or define their own by offering\ncustomizable test loaders, test filters and test results.\n\n''uci-run-tests'' is a simple test runner that demonstrates how to use the\nvarious pieces. It may or may not address your needs ;)\n\nTest Results\n============\n\nThe test results provided here address the Ubuntu Continuous Integration\nengine needs.\n\nThis is mainly a simple text result displaying the test IDs and their\ntimings and is good enough for interactive use or to provide feedback during\nremote execution.\n\nsubunit is used when collecting failure related data is needed, this project\nfocuses on *testing* the integration with subunit.\n\nTest fixtures\n=============\n\nA common pattern in TestCase is to add fixtures in the base class so they\nare accessible to all tests. This pollutes the base classes with methods or\nattributes not used by most of the tests.\n\nFixtures are better used via composition. But requiring an additional\n'.fixtures.feature_x.attribute_y' make them harder to use.\n\nWe use a middle ground here by just joining a simpler (and a bit surprising\nat first) syntax and using python's ability to handle arbitrary attributes.\n\nApart from that modest invasise use of test objects namespace, the only\nconstraint is that the test object supports the 'addCleanup' and the most\nusual assertX methods. Since 'addCleanup' is provided by unittest.TestCase\nitself, this is a light constraint, most python test frameworks inheriting\nfrom it.\n\nThe benefit is that these fixtures can be used on any TestCase class without\nrequiring inheritance which can then be used for other needs without\ninterferences.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://launchpad.net/uci-tests", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "ucitests", "package_url": "https://pypi.org/project/ucitests/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ucitests/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://launchpad.net/uci-tests" }, "release_url": "https://pypi.org/project/ucitests/0.4.1/", "requires_dist": null, "requires_python": null, "summary": "Ubuntu Continuous Integration test tools.", "version": "0.4.1" }, "last_serial": 1913729, "releases": { "0.0.8": [ { "comment_text": "", "digests": { "md5": "301413d746ef48eb0a40d7e3fefc883a", "sha256": "da2bfb955d20b59cd10a7a86c63d73f4605b2ff9438d1aca5c41b18b39c19531" }, "downloads": -1, "filename": "ucitests-0.0.8.tar.gz", "has_sig": true, "md5_digest": "301413d746ef48eb0a40d7e3fefc883a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37359, "upload_time": "2014-02-05T17:38:06", "url": "https://files.pythonhosted.org/packages/ec/db/82dc440c0725f73503e6fcdd6eee780430076ede1d1c2c141749e225d0c4/ucitests-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "76b62199b7699ea4ca69db851fddfe21", "sha256": "7ebeae20290410e9fce161371ff345f5c4cee8517bb47b8cd8cb81360b0ed644" }, "downloads": -1, "filename": "ucitests-0.0.9.tar.gz", "has_sig": true, "md5_digest": "76b62199b7699ea4ca69db851fddfe21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40471, "upload_time": "2014-02-15T10:26:21", "url": "https://files.pythonhosted.org/packages/e5/04/3518256555df6e985e07d2032ea7b737e7c32bc032ada73327e75681f190/ucitests-0.0.9.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b5bc13c1f32ddb5cc212e778df4e2d07", "sha256": "12b6f26e9e643b3dc27164270531ec8276d01bff315807c149c36ae358d55923" }, "downloads": -1, "filename": "ucitests-0.1.2.tar.gz", "has_sig": true, "md5_digest": "b5bc13c1f32ddb5cc212e778df4e2d07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41411, "upload_time": "2014-02-17T11:21:55", "url": "https://files.pythonhosted.org/packages/c7/5c/d5646e188c6bef6e294b2cbfc2ef1a0599bf4ee5da098620800fd1d0ca72/ucitests-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "86343a8041cd09755ee9132eecf3a05a", "sha256": "4b313df242e7ecaee8d94bf629130283d9241eb17f5f91390c76e4ce8d4b24d0" }, "downloads": -1, "filename": "ucitests-0.1.3.tar.gz", "has_sig": true, "md5_digest": "86343a8041cd09755ee9132eecf3a05a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43812, "upload_time": "2014-05-22T09:11:10", "url": "https://files.pythonhosted.org/packages/2d/f7/ebdea90fa9c84307b1b04620b923646e25140655894583dc81eb0fe79b60/ucitests-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9886942d876d74bdd0da974206e23250", "sha256": "305b0fddc83282fc3bbe721fe47107b7445e40f3ddf614e0968cc836cc92e951" }, "downloads": -1, "filename": "ucitests-0.1.4.tar.gz", "has_sig": true, "md5_digest": "9886942d876d74bdd0da974206e23250", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43897, "upload_time": "2014-07-31T09:41:33", "url": "https://files.pythonhosted.org/packages/de/d9/edde0dd91352bfdaaf09474fcb9d8dc8017845dc7a400bb7ef11995c1bde/ucitests-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "fd273e1dc964d627c151bbbabb616e85", "sha256": "1438232a81bc38124553bffd4e6b68b690eaf46fb214e8b4551bb55b6611f914" }, "downloads": -1, "filename": "ucitests-0.1.5.tar.gz", "has_sig": true, "md5_digest": "fd273e1dc964d627c151bbbabb616e85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46257, "upload_time": "2014-10-10T12:17:41", "url": "https://files.pythonhosted.org/packages/51/3b/82deb302e813dbbdff0a8e49611e7308a2b7c3c2ce4e3321ece3d83f1a61/ucitests-0.1.5.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "1392a6b30c54984a07b5157e451fbbf1", "sha256": "809792668f1b220fe68094aeb08a5cf3815ff3c025d3bc16ad11d9ecf55c2b47" }, "downloads": -1, "filename": "ucitests-0.1.7.tar.gz", "has_sig": true, "md5_digest": "1392a6b30c54984a07b5157e451fbbf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50943, "upload_time": "2015-06-26T08:52:26", "url": "https://files.pythonhosted.org/packages/85/e1/6764b85c2baf0db01c0cc805858b265981459c631516de5d21eccb49e788/ucitests-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "200182b7bc8d4020c758905f2c52ecc5", "sha256": "35694eb76262d53fa3797443dc2a97ac05df8168e3b081bffd973d9c6396fc2e" }, "downloads": -1, "filename": "ucitests-0.1.8.tar.gz", "has_sig": true, "md5_digest": "200182b7bc8d4020c758905f2c52ecc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50982, "upload_time": "2015-07-03T17:13:45", "url": "https://files.pythonhosted.org/packages/3a/bf/aa56cb1e8677a367361c64c6eb9d7e1c1d61fedfe51499319dd9643286c7/ucitests-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "cc3887120e1c26f0353f5ea43c821e15", "sha256": "2415282408ea00824d5c4c61539ffca8331d4ef968325b02d3f29a21f0d103b8" }, "downloads": -1, "filename": "ucitests-0.1.9.tar.gz", "has_sig": true, "md5_digest": "cc3887120e1c26f0353f5ea43c821e15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51389, "upload_time": "2015-07-10T16:20:53", "url": "https://files.pythonhosted.org/packages/3e/ed/31ccbeac42a37fd2376ea6c73d1bcec129dffa24a51936b4dccc7510634a/ucitests-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5d4fc8a8281ac0e4c85a4a9b4b27ad38", "sha256": "2e94d11987a8bab73717a3b98f96531d8dd206a1e0b4b2e75ccd01d8400b24df" }, "downloads": -1, "filename": "ucitests-0.2.0.tar.gz", "has_sig": true, "md5_digest": "5d4fc8a8281ac0e4c85a4a9b4b27ad38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53000, "upload_time": "2015-12-09T18:06:20", "url": "https://files.pythonhosted.org/packages/aa/62/43a6b2f6c78a668ecbbb9815a4cb45f115558e2f012a9c89263b9764bf3f/ucitests-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "bc38bfc5c911a8df39e44a43aa3d1cb2", "sha256": "457b08bec800f627957eb7ffac8ef5c97872a37ee2a1dcb6eb0f3b2d2b1b7d32" }, "downloads": -1, "filename": "ucitests-0.2.1.tar.gz", "has_sig": true, "md5_digest": "bc38bfc5c911a8df39e44a43aa3d1cb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53420, "upload_time": "2015-12-10T09:57:27", "url": "https://files.pythonhosted.org/packages/4d/ee/dfc6ed1aa11802a67ba8f1d4af204c8fd9564f3bf6d2e580e7c900063ff0/ucitests-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ab81f85b05c6b73c0e97ad64febb311e", "sha256": "af6a65f2afc0dbc08ff0d7fda97200bc2a1824c5f98d3b8031f75926fe230227" }, "downloads": -1, "filename": "ucitests-0.3.0.tar.gz", "has_sig": true, "md5_digest": "ab81f85b05c6b73c0e97ad64febb311e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55203, "upload_time": "2016-01-08T14:12:24", "url": "https://files.pythonhosted.org/packages/8d/0c/a6bec222b36c51f065aec98d4ba024f9542e9414953f3e046656b14947e5/ucitests-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "7ff5f1d33c39db3935c33a064f28a649", "sha256": "5880bb479620e7e51759c2a35c7e6248072f6d4d9c49755e8270327a3793cc98" }, "downloads": -1, "filename": "ucitests-0.3.1.tar.gz", "has_sig": true, "md5_digest": "7ff5f1d33c39db3935c33a064f28a649", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55305, "upload_time": "2016-01-08T14:28:54", "url": "https://files.pythonhosted.org/packages/76/50/c76be2129bc56eaa7d3a21d247eeec9cd67f48f30ace68ff0971f3709ccd/ucitests-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "8e12becfff9500f59b2b585ed9baa6ae", "sha256": "185d26cfbfb9f26b7391f6d3a6101dccbc6d7f74fed1e4789cfba753d52f3a6d" }, "downloads": -1, "filename": "ucitests-0.3.2.tar.gz", "has_sig": true, "md5_digest": "8e12becfff9500f59b2b585ed9baa6ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55439, "upload_time": "2016-01-12T11:06:04", "url": "https://files.pythonhosted.org/packages/8c/18/b7e90b5f50081143f278553f7f3a588e13ae5cfcfe25df97e13e7edb2886/ucitests-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "40af6fb220a0147cbfd7d9b1730fdc5a", "sha256": "1042113165b5c94996eb2629b78a51a9598497226eb1e3d9281cf44bc4e2be57" }, "downloads": -1, "filename": "ucitests-0.4.0.tar.gz", "has_sig": true, "md5_digest": "40af6fb220a0147cbfd7d9b1730fdc5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54323, "upload_time": "2016-01-14T16:24:27", "url": "https://files.pythonhosted.org/packages/2e/b6/1e2b1819447d74a9e45f30765b4183e2e83421a75892b4db312f8b05be78/ucitests-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "98ff8c81205188ad3085545661bbda5c", "sha256": "efb407485f4559a617eac94d4424f539a9c606172942c1a8c35979966adcecd8" }, "downloads": -1, "filename": "ucitests-0.4.1.tar.gz", "has_sig": true, "md5_digest": "98ff8c81205188ad3085545661bbda5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54935, "upload_time": "2016-01-20T18:28:34", "url": "https://files.pythonhosted.org/packages/b5/8d/28f4362ea343f1a414fd3db1791b4c82fc2f53f88761ba5369f9e89e147e/ucitests-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "98ff8c81205188ad3085545661bbda5c", "sha256": "efb407485f4559a617eac94d4424f539a9c606172942c1a8c35979966adcecd8" }, "downloads": -1, "filename": "ucitests-0.4.1.tar.gz", "has_sig": true, "md5_digest": "98ff8c81205188ad3085545661bbda5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54935, "upload_time": "2016-01-20T18:28:34", "url": "https://files.pythonhosted.org/packages/b5/8d/28f4362ea343f1a414fd3db1791b4c82fc2f53f88761ba5369f9e89e147e/ucitests-0.4.1.tar.gz" } ] }