{ "info": { "author": "Vincent Ladeuil", "author_email": "vila+ols@canonical.com", "bugtrack_url": null, "classifiers": [], "description": ".. -*- Mode: rst -*-\n===========\n ols.tests\n===========\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, lp:u1-test-utils and of course python\nunittest 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\nols-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''ols-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\nTest results are the output interface of test runners.\n\nThe most common use is to display the IDs executed and their timings as well\nas arun summary. It is good enough for interactive use or to provide\nfeedback during remote execution.\n\nsubunit is used when collecting test execution related data is needed (most\nimportantly failures), this project focuses on *testing* the integration\nwith subunit but also expose\n\nTest fixtures\n=============\n\nA common pattern in implementing TestCases is to add fixtures in the base\nclass so they are accessible to all tests. This pollutes the base classes\nwith methods or attributes 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 using a simpler (and a bit surprising at\nfirst) 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/ols-tests", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "olstests", "package_url": "https://pypi.org/project/olstests/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/olstests/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://launchpad.net/ols-tests" }, "release_url": "https://pypi.org/project/olstests/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Online Services test tools.", "version": "1.0.0" }, "last_serial": 2112445, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "62c3fcfe0a78b8eaf0c65587919366c9", "sha256": "0a1f416647b6011bb7d74be55bd15c231d03cb6c6b6cd89ec75900065d16cf17" }, "downloads": -1, "filename": "olstests-1.0.0.tar.gz", "has_sig": true, "md5_digest": "62c3fcfe0a78b8eaf0c65587919366c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54519, "upload_time": "2016-05-12T13:00:40", "url": "https://files.pythonhosted.org/packages/98/5f/12d4c1d20dc58b0865154527fbb6feedb40e4e674e879e4de5c76b6816e6/olstests-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "62c3fcfe0a78b8eaf0c65587919366c9", "sha256": "0a1f416647b6011bb7d74be55bd15c231d03cb6c6b6cd89ec75900065d16cf17" }, "downloads": -1, "filename": "olstests-1.0.0.tar.gz", "has_sig": true, "md5_digest": "62c3fcfe0a78b8eaf0c65587919366c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54519, "upload_time": "2016-05-12T13:00:40", "url": "https://files.pythonhosted.org/packages/98/5f/12d4c1d20dc58b0865154527fbb6feedb40e4e674e879e4de5c76b6816e6/olstests-1.0.0.tar.gz" } ] }