{"action":"created","issue":{"url":"https://api.github.com/repos/humbug/humbug/issues/246","repository_url":"https://api.github.com/repos/humbug/humbug","labels_url":"https://api.github.com/repos/humbug/humbug/issues/246/labels{/name}","comments_url":"https://api.github.com/repos/humbug/humbug/issues/246/comments","events_url":"https://api.github.com/repos/humbug/humbug/issues/246/events","html_url":"https://github.com/humbug/humbug/issues/246","id":226878744,"number":246,"title":"[DISCUSS] Dependency interference/Initial run failures","user":{"login":"padraic","id":19780,"avatar_url":"https://avatars2.githubusercontent.com/u/19780?v=3","gravatar_id":"","url":"https://api.github.com/users/padraic","html_url":"https://github.com/padraic","followers_url":"https://api.github.com/users/padraic/followers","following_url":"https://api.github.com/users/padraic/following{/other_user}","gists_url":"https://api.github.com/users/padraic/gists{/gist_id}","starred_url":"https://api.github.com/users/padraic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/padraic/subscriptions","organizations_url":"https://api.github.com/users/padraic/orgs","repos_url":"https://api.github.com/users/padraic/repos","events_url":"https://api.github.com/users/padraic/events{/privacy}","received_events_url":"https://api.github.com/users/padraic/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-05-07T17:39:30Z","updated_at":"2017-05-07T18:12:27Z","closed_at":null,"body":"Discussion topic for here or slack. Actually two for now:\r\n\r\n1. Dependency interference\r\n\r\nThere's a number of issues which are resolved by running humbug in a different manner, to keep dependencies between humbug and the code being mutated from clashing. It will most likely impact the phar build where composer has no scope to resolve requirements. Unfortunately it's hard to spot, so the floor is open to suggestions.\r\n\r\n2. Code coverage errors\r\n\r\nA few initial run failures are tied to running phpunit with code coverage. Users may not be doing this at all, not spotting that it fails, and reporting that humbug failed instead. Understandable since we don't do an initial run without code coverage for comparison."},"comment":{"url":"https://api.github.com/repos/humbug/humbug/issues/comments/299723945","html_url":"https://github.com/humbug/humbug/issues/246#issuecomment-299723945","issue_url":"https://api.github.com/repos/humbug/humbug/issues/246","id":299723945,"user":{"login":"theofidry","id":5175937,"avatar_url":"https://avatars0.githubusercontent.com/u/5175937?v=3","gravatar_id":"","url":"https://api.github.com/users/theofidry","html_url":"https://github.com/theofidry","followers_url":"https://api.github.com/users/theofidry/followers","following_url":"https://api.github.com/users/theofidry/following{/other_user}","gists_url":"https://api.github.com/users/theofidry/gists{/gist_id}","starred_url":"https://api.github.com/users/theofidry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theofidry/subscriptions","organizations_url":"https://api.github.com/users/theofidry/orgs","repos_url":"https://api.github.com/users/theofidry/repos","events_url":"https://api.github.com/users/theofidry/events{/privacy}","received_events_url":"https://api.github.com/users/theofidry/received_events","type":"User","site_admin":false},"created_at":"2017-05-07T18:12:27Z","updated_at":"2017-05-07T18:12:27Z","body":"1. Is a well know issue to which there is only three solutions AFAIK:\r\n\r\n- Isolate properly the code used in the PHAR, which can be done by changing the namespaces. It's a whole topic on its own and far from being trivial. I saw it successfully done in some closed projects (success highly correlated to the fact that it was closed, controlled and scoped projects). An open-source generic solution could be done although there will always be edge cases, and it's I believe what https://github.com/webmozart/php-scoper aims at. However webmozart is unlikely to finish this one so this project should be taken over (I can help with that)\r\n- Accept the risk. Deal with it.\r\n- Require Humbug (and that applies to any tool _executing_ your code) as a dependency via Composer as a regular package\r\n\r\n2. Could be circumvented by providing the code coverage report (it's not rare to run tests with coverage before running Humbug, so that could avoid running the code with coverage twice) or make it more configurable/transparent about how humbug is running them to allow one to reproduce the issue outside of Humbug."}}
{"actor":{"display_login":"theofidry"}}