{"action":"created","issue":{"url":"https://api.github.com/repos/nunit/nunit/issues/571","labels_url":"https://api.github.com/repos/nunit/nunit/issues/571/labels{/name}","comments_url":"https://api.github.com/repos/nunit/nunit/issues/571/comments","events_url":"https://api.github.com/repos/nunit/nunit/issues/571/events","html_url":"https://github.com/nunit/nunit/issues/571","id":65795155,"number":571,"title":"Add a mini-engine to NUnit","user":{"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},"labels":[{"url":"https://api.github.com/repos/nunit/nunit/labels/is:idea","name":"is:idea","color":"d4c5f9"},{"url":"https://api.github.com/repos/nunit/nunit/labels/pri:normal","name":"pri:normal","color":"0052cc"},{"url":"https://api.github.com/repos/nunit/nunit/labels/status:design","name":"status:design","color":"bfe5bf"}],"state":"open","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/10","html_url":"https://github.com/nunit/nunit/milestones/3.0Beta2","labels_url":"https://api.github.com/repos/nunit/nunit/milestones/10/labels","id":1018545,"number":10,"title":"3.0Beta2","description":"","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":22,"closed_issues":22,"state":"open","created_at":"2015-03-12T16:18:46Z","updated_at":"2015-04-24T03:00:03Z","due_on":"2015-04-30T07:00:00Z","closed_at":null},"comments":36,"created_at":"2015-04-01T22:51:32Z","updated_at":"2015-04-24T03:23:23Z","closed_at":null,"body":"The notion of a mini-engine has come up in several separate contexts, in particular in relation to the Visual Studio adapter and the compact framework build.\r\n\r\nOur current engine does a lot of things and not all of them make sense when used by a special-purpose runner or in a device. In addition, some features are not used when the engine is used in an nunit-agent process.\r\n\r\nI'm labelling this an idea with status:design since we need to define what we mean by a mini-engine before we can imlement it - even before we can say whether we need it.\r\n\r\nI'm assigning this to myself for the design phase and I'll add specific design issues as individual comments. Others should do the same to comment on or add to the design. The milestone assigned is intended to represent completion of design and making a decision. Implementation can take longer.\r\n\r\nWe haven't tried this mechanism for iterating to a design before. Let's give it a chance and see what happens.\r\n"},"comment":{"url":"https://api.github.com/repos/nunit/nunit/issues/comments/95787743","html_url":"https://github.com/nunit/nunit/issues/571#issuecomment-95787743","issue_url":"https://api.github.com/repos/nunit/nunit/issues/571","id":95787743,"user":{"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},"created_at":"2015-04-24T03:23:23Z","updated_at":"2015-04-24T03:23:23Z","body":"@rprouse  Your runners need even less than the VS adapter - leaving aside remote communication. I need to set up a test domain because I don't control the ApplicationBase under which VS calls the adapter. It sounds like the Xamarin runners function very much like NUnitLite, with the addition of a layer that eliminates the need for a reference.\r\n\r\nNow that @oznetmaster has got me thinking more about it, using a mini-engine as a communications partner for the desktop engine makes perfect sense. I had been thinking about using a special driver that knew how to communicate directly to the framework. I'll need to try out both options, but it seems like a device-based engine would iron out the differences between the various devices rather neatly.\r\n\r\n@oznetmaster Looking at the entries you added to the table, I'm wondering about reading nunit or VS projects on the CF device. I'd expect them to be resolved to a list of assemblies by the time the device was asked to execute them. But you might have a use case I don't know about.\r\n\r\nRegarding multiple processes... can you launch processes programatically in CF?\r\n"}}