{"action":"created","issue":{"url":"https://api.github.com/repos/PulpQE/pulp-smash/issues/109","repository_url":"https://api.github.com/repos/PulpQE/pulp-smash","labels_url":"https://api.github.com/repos/PulpQE/pulp-smash/issues/109/labels{/name}","comments_url":"https://api.github.com/repos/PulpQE/pulp-smash/issues/109/comments","events_url":"https://api.github.com/repos/PulpQE/pulp-smash/issues/109/events","html_url":"https://github.com/PulpQE/pulp-smash/pull/109","id":133357507,"number":109,"title":"Change how OSTree tests are selected","user":{"login":"Ichimonji10","id":1012989,"avatar_url":"https://avatars.githubusercontent.com/u/1012989?v=3","gravatar_id":"","url":"https://api.github.com/users/Ichimonji10","html_url":"https://github.com/Ichimonji10","followers_url":"https://api.github.com/users/Ichimonji10/followers","following_url":"https://api.github.com/users/Ichimonji10/following{/other_user}","gists_url":"https://api.github.com/users/Ichimonji10/gists{/gist_id}","starred_url":"https://api.github.com/users/Ichimonji10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ichimonji10/subscriptions","organizations_url":"https://api.github.com/users/Ichimonji10/orgs","repos_url":"https://api.github.com/users/Ichimonji10/repos","events_url":"https://api.github.com/users/Ichimonji10/events{/privacy}","received_events_url":"https://api.github.com/users/Ichimonji10/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-12T22:20:10Z","updated_at":"2016-02-12T22:20:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/PulpQE/pulp-smash/pulls/109","html_url":"https://github.com/PulpQE/pulp-smash/pull/109","diff_url":"https://github.com/PulpQE/pulp-smash/pull/109.diff","patch_url":"https://github.com/PulpQE/pulp-smash/pull/109.patch"},"body":"A function named `load_tests` is in module `pulp_smash.tests.ostree`. This\r\nfunction is automatically called by the unittest (or unittest2) test runner\r\naccording to the load_tests protocol. [1] This works well, but few if any third\r\nparty test runners support the protocol. (To the best of my knowledge, only\r\nnose2 supports the load_tests protocol, and this support is nominal.)\r\n\r\nMany third party test runners add JUnit-style XML reporting. This reporting is\r\nvaluable, especially when combined with a tool like Jenkins. Unfortunately, it's\r\nnot so easy to get reports with the unittest test runner.\r\n\r\nThe conflict here is tha we want JUnit-style XML reporting *and* easy test\r\nselection. There's a couple routes forward:\r\n\r\n* Drop support for unittest (and unittest2) and adopt the test selection\r\n  features of a third party test runner.\r\n* Plow forward and put more work into figuring out how to make unittest produce\r\n  reports.\r\n* Don't use the load_tests protocol. Instead, add `setUpModule` functions that\r\n  perform the same task into each individual module of tests.\r\n\r\nThis commit adopts the third route. This route ensures that Pulp Smash continues\r\nto be compatible with the standard library's `unittest` module and allows\r\nreports to be generated by third party tools. The main drawback is some level of\r\nredundant code. (Options for reducing this redundancy may be available.)\r\n\r\nTest results are as expected for the following two commands:\r\n\r\n    python -m unittest2 discover pulp_smash.tests.ostree\r\n    py.test pulp_smash/tests/ostree/"},"comment":{"url":"https://api.github.com/repos/PulpQE/pulp-smash/issues/comments/183509857","html_url":"https://github.com/PulpQE/pulp-smash/pull/109#issuecomment-183509857","issue_url":"https://api.github.com/repos/PulpQE/pulp-smash/issues/109","id":183509857,"user":{"login":"Ichimonji10","id":1012989,"avatar_url":"https://avatars.githubusercontent.com/u/1012989?v=3","gravatar_id":"","url":"https://api.github.com/users/Ichimonji10","html_url":"https://github.com/Ichimonji10","followers_url":"https://api.github.com/users/Ichimonji10/followers","following_url":"https://api.github.com/users/Ichimonji10/following{/other_user}","gists_url":"https://api.github.com/users/Ichimonji10/gists{/gist_id}","starred_url":"https://api.github.com/users/Ichimonji10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ichimonji10/subscriptions","organizations_url":"https://api.github.com/users/Ichimonji10/orgs","repos_url":"https://api.github.com/users/Ichimonji10/repos","events_url":"https://api.github.com/users/Ichimonji10/events{/privacy}","received_events_url":"https://api.github.com/users/Ichimonji10/received_events","type":"User","site_admin":false},"created_at":"2016-02-12T22:20:45Z","updated_at":"2016-02-12T22:20:45Z","body":"@dkliban Sanity check, please."}}