{"action":"created","issue":{"url":"https://api.github.com/repos/nunit/nunit/issues/830","labels_url":"https://api.github.com/repos/nunit/nunit/issues/830/labels{/name}","comments_url":"https://api.github.com/repos/nunit/nunit/issues/830/comments","events_url":"https://api.github.com/repos/nunit/nunit/issues/830/events","html_url":"https://github.com/nunit/nunit/issues/830","id":107687978,"number":830,"title":"Add ability to report test results synchronously to test runners","user":{"login":"remcomulder","id":845496,"avatar_url":"https://avatars.githubusercontent.com/u/845496?v=3","gravatar_id":"","url":"https://api.github.com/users/remcomulder","html_url":"https://github.com/remcomulder","followers_url":"https://api.github.com/users/remcomulder/followers","following_url":"https://api.github.com/users/remcomulder/following{/other_user}","gists_url":"https://api.github.com/users/remcomulder/gists{/gist_id}","starred_url":"https://api.github.com/users/remcomulder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remcomulder/subscriptions","organizations_url":"https://api.github.com/users/remcomulder/orgs","repos_url":"https://api.github.com/users/remcomulder/repos","events_url":"https://api.github.com/users/remcomulder/events{/privacy}","received_events_url":"https://api.github.com/users/remcomulder/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nunit/nunit/labels/closed:done","name":"closed:done","color":"009800"},{"url":"https://api.github.com/repos/nunit/nunit/labels/is:enhancement","name":"is:enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/nunit/nunit/labels/pri:high","name":"pri:high","color":"eb6420"}],"state":"closed","locked":false,"assignee":{"login":"CharliePoole","id":2678661,"avatar_url":"https://avatars.githubusercontent.com/u/2678661?v=3","gravatar_id":"","url":"https://api.github.com/users/CharliePoole","html_url":"https://github.com/CharliePoole","followers_url":"https://api.github.com/users/CharliePoole/followers","following_url":"https://api.github.com/users/CharliePoole/following{/other_user}","gists_url":"https://api.github.com/users/CharliePoole/gists{/gist_id}","starred_url":"https://api.github.com/users/CharliePoole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CharliePoole/subscriptions","organizations_url":"https://api.github.com/users/CharliePoole/orgs","repos_url":"https://api.github.com/users/CharliePoole/repos","events_url":"https://api.github.com/users/CharliePoole/events{/privacy}","received_events_url":"https://api.github.com/users/CharliePoole/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/nunit/nunit/milestones/16","html_url":"https://github.com/nunit/nunit/milestones/3.0Beta5","labels_url":"https://api.github.com/repos/nunit/nunit/milestones/16/labels","id":1348983,"number":16,"title":"3.0Beta5","description":"Hopefully the last beta!","creator":{"login":"CharliePoole","id":2678661,"avatar_url":"https://avatars.githubusercontent.com/u/2678661?v=3","gravatar_id":"","url":"https://api.github.com/users/CharliePoole","html_url":"https://github.com/CharliePoole","followers_url":"https://api.github.com/users/CharliePoole/followers","following_url":"https://api.github.com/users/CharliePoole/following{/other_user}","gists_url":"https://api.github.com/users/CharliePoole/gists{/gist_id}","starred_url":"https://api.github.com/users/CharliePoole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CharliePoole/subscriptions","organizations_url":"https://api.github.com/users/CharliePoole/orgs","repos_url":"https://api.github.com/users/CharliePoole/repos","events_url":"https://api.github.com/users/CharliePoole/events{/privacy}","received_events_url":"https://api.github.com/users/CharliePoole/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":35,"state":"open","created_at":"2015-10-11T02:47:31Z","updated_at":"2015-10-12T20:06:00Z","due_on":"2015-10-16T07:00:00Z","closed_at":null},"comments":5,"created_at":"2015-09-22T10:42:09Z","updated_at":"2015-10-12T21:05:23Z","closed_at":"2015-10-12T15:45:11Z","body":"With the madness of the new VS release now receding to manageable levels, I’ve been working on integrating NCrunch with NUnit3.\r\n\r\nI’m happy to say that so far progress has been good.  I now have a prototype adapter that can discover tests and execute them using NUnit’s FrameworkController.  With the XML reporting of results and the engine living inside NUnit.Framework, it’s looking like I’ll be able to have an implementation that will be highly adaptive to future versions of NUnit, without any reintegration necessary.  This is a very exciting thing for me \r\n\r\nA bit of a roadblock I’ve hit is around the manner in which NUnit reports the results of tests being executed.  It appears that the test results are being passed through a background thread.  This is a showstopper for NCrunch, as NCrunch needs to be able to swap code coverage maps (among other things) between the execution of individual tests/fixtures.  To do this, it needs to have the results reported from the test run entirely synchronously (i.e. on the same thread being used for the physical execution).\r\n\r\nI encountered the exact same problem when integrating NCrunch with Gallio and XUnit.  In each case, the only solution was to modify the test framework to include a setting that would disable asynchronous execution and results reporting.\r\n"},"comment":{"url":"https://api.github.com/repos/nunit/nunit/issues/comments/147522869","html_url":"https://github.com/nunit/nunit/issues/830#issuecomment-147522869","issue_url":"https://api.github.com/repos/nunit/nunit/issues/830","id":147522869,"user":{"login":"remcomulder","id":845496,"avatar_url":"https://avatars.githubusercontent.com/u/845496?v=3","gravatar_id":"","url":"https://api.github.com/users/remcomulder","html_url":"https://github.com/remcomulder","followers_url":"https://api.github.com/users/remcomulder/followers","following_url":"https://api.github.com/users/remcomulder/following{/other_user}","gists_url":"https://api.github.com/users/remcomulder/gists{/gist_id}","starred_url":"https://api.github.com/users/remcomulder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remcomulder/subscriptions","organizations_url":"https://api.github.com/users/remcomulder/orgs","repos_url":"https://api.github.com/users/remcomulder/repos","events_url":"https://api.github.com/users/remcomulder/events{/privacy}","received_events_url":"https://api.github.com/users/remcomulder/received_events","type":"User","site_admin":false},"created_at":"2015-10-12T21:05:23Z","updated_at":"2015-10-12T21:05:23Z","body":"Awesome, thanks!"}}