{"action":"created","issue":{"url":"https://api.github.com/repos/zopefoundation/zope.testrunner/issues/28","labels_url":"https://api.github.com/repos/zopefoundation/zope.testrunner/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/zopefoundation/zope.testrunner/issues/28/comments","events_url":"https://api.github.com/repos/zopefoundation/zope.testrunner/issues/28/events","html_url":"https://github.com/zopefoundation/zope.testrunner/issues/28","id":77965627,"number":28,"title":"make -jN work properly","user":{"login":"mgedmin","id":159967,"avatar_url":"https://avatars.githubusercontent.com/u/159967?v=3","gravatar_id":"","url":"https://api.github.com/users/mgedmin","html_url":"https://github.com/mgedmin","followers_url":"https://api.github.com/users/mgedmin/followers","following_url":"https://api.github.com/users/mgedmin/following{/other_user}","gists_url":"https://api.github.com/users/mgedmin/gists{/gist_id}","starred_url":"https://api.github.com/users/mgedmin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgedmin/subscriptions","organizations_url":"https://api.github.com/users/mgedmin/orgs","repos_url":"https://api.github.com/users/mgedmin/repos","events_url":"https://api.github.com/users/mgedmin/events{/privacy}","received_events_url":"https://api.github.com/users/mgedmin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-05-19T06:56:46Z","updated_at":"2015-05-19T12:13:49Z","closed_at":null,"body":"Currently zope-testrunner -jN runs the first test layer serially, and only then starts forking N subprocesses for parallel execution.  People have been creating workarounds for this by adding an empty test layer named something like `.!no tests here!` to get the 1st serial layer out of the way ASAP, so the rest of the tests can run in parallel.\r\n\r\nThe change in 4.4.5 (run the unit test layer first, https://bugs.launchpad.net/zope.testrunner/+bug/497871) broke this hack.\r\n\r\nSuggestion: if the test runner sees -j on the command line, let it create an empty test layer automatically and insert it in front of all other layers.  (Maybe make it conditional on there being at least two other layers, maybe don't bother -- who would use -j when there's only one test layer?)"},"comment":{"url":"https://api.github.com/repos/zopefoundation/zope.testrunner/issues/comments/103463763","html_url":"https://github.com/zopefoundation/zope.testrunner/issues/28#issuecomment-103463763","issue_url":"https://api.github.com/repos/zopefoundation/zope.testrunner/issues/28","id":103463763,"user":{"login":"mgedmin","id":159967,"avatar_url":"https://avatars.githubusercontent.com/u/159967?v=3","gravatar_id":"","url":"https://api.github.com/users/mgedmin","html_url":"https://github.com/mgedmin","followers_url":"https://api.github.com/users/mgedmin/followers","following_url":"https://api.github.com/users/mgedmin/following{/other_user}","gists_url":"https://api.github.com/users/mgedmin/gists{/gist_id}","starred_url":"https://api.github.com/users/mgedmin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgedmin/subscriptions","organizations_url":"https://api.github.com/users/mgedmin/orgs","repos_url":"https://api.github.com/users/mgedmin/repos","events_url":"https://api.github.com/users/mgedmin/events{/privacy}","received_events_url":"https://api.github.com/users/mgedmin/received_events","type":"User","site_admin":false},"created_at":"2015-05-19T12:13:49Z","updated_at":"2015-05-19T12:13:49Z","body":"BTW fixing this will make the regression test for #6 invalid.  The test should probably be rewritten to avoid -j and instead explicitly define a test layer that does os.chdir() and raises NotImplementedError from layer teardown."}}