{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/comments/279445752","pull_request_review_id":231784017,"id":279445752,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI3OTQ0NTc1Mg==","diff_hunk":"@@ -62,6 +66,25 @@ export class NUnitXmlUtil extends XmlUtil {\n     return xml1;\n   }\n \n+  combineNUnit3(xml1: Document, xml2: Document): Document {\n+    this.combineTestResultsAttribute(xml1, xml2, \"testcasecount\");\n+    this.combineTestResultsAttribute(xml1, xml2, \"total\");\n+    this.combineTestResultsAttribute(xml1, xml2, \"passed\");\n+    this.combineTestResultsAttribute(xml1, xml2, \"failed\");\n+    this.combineTestResultsAttribute(xml1, xml2, \"inconclusive\");\n+    this.combineTestResultsAttribute(xml1, xml2, \"skipped\");\n+    this.combineTestResultsAttribute(xml1, xml2, \"asserts\");\n+\n+    const testSuitesParent: Element = this.collectAllElements(xml1.documentElement, \"test-run\")[0];\n+    const testSuites: Element[] = this.collectChildren(xml2.documentElement, \"test-suite\");\n+\n+    testSuites.forEach((child: Element) => {","path":"src/commands/test/lib/nunit-xml-util.ts","position":54,"original_position":38,"commit_id":"4bcfd4677ebb197b95dc5d34f3f7abae4350841b","original_commit_id":"9ddc1b1c9b9cd1a8bfcfbceaa0eed7acf82ef521","user":{"login":"owenniblock","id":4696224,"node_id":"MDQ6VXNlcjQ2OTYyMjQ=","avatar_url":"https://avatars0.githubusercontent.com/u/4696224?v=4","gravatar_id":"","url":"https://api.github.com/users/owenniblock","html_url":"https://github.com/owenniblock","followers_url":"https://api.github.com/users/owenniblock/followers","following_url":"https://api.github.com/users/owenniblock/following{/other_user}","gists_url":"https://api.github.com/users/owenniblock/gists{/gist_id}","starred_url":"https://api.github.com/users/owenniblock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owenniblock/subscriptions","organizations_url":"https://api.github.com/users/owenniblock/orgs","repos_url":"https://api.github.com/users/owenniblock/repos","events_url":"https://api.github.com/users/owenniblock/events{/privacy}","received_events_url":"https://api.github.com/users/owenniblock/received_events","type":"User","site_admin":false},"body":"I couldn't get this to work:\r\n\r\n`.appendChild` isn't compatible with `...` because it expects at least 1 child element [this error gets raised](https://github.com/Microsoft/TypeScript/issues/28010)\r\n\r\n`.append` appears to not work for an `Element` which is confusing. Unless you're super keen for me to do this I suggest we don't invest _too_ much time in it.","created_at":"2019-04-29T16:46:15Z","updated_at":"2019-04-29T16:46:15Z","html_url":"https://github.com/Microsoft/appcenter-cli/pull/572#discussion_r279445752","pull_request_url":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/572","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/comments/279445752"},"html":{"href":"https://github.com/Microsoft/appcenter-cli/pull/572#discussion_r279445752"},"pull_request":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/572"}},"in_reply_to_id":279374664},"pull_request":{"url":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/572","id":273165501,"node_id":"MDExOlB1bGxSZXF1ZXN0MjczMTY1NTAx","html_url":"https://github.com/Microsoft/appcenter-cli/pull/572","diff_url":"https://github.com/Microsoft/appcenter-cli/pull/572.diff","patch_url":"https://github.com/Microsoft/appcenter-cli/pull/572.patch","issue_url":"https://api.github.com/repos/Microsoft/appcenter-cli/issues/572","number":572,"state":"open","locked":false,"title":"Add support for NUnit3 XML reports from UITest","user":{"login":"owenniblock","id":4696224,"node_id":"MDQ6VXNlcjQ2OTYyMjQ=","avatar_url":"https://avatars0.githubusercontent.com/u/4696224?v=4","gravatar_id":"","url":"https://api.github.com/users/owenniblock","html_url":"https://github.com/owenniblock","followers_url":"https://api.github.com/users/owenniblock/followers","following_url":"https://api.github.com/users/owenniblock/following{/other_user}","gists_url":"https://api.github.com/users/owenniblock/gists{/gist_id}","starred_url":"https://api.github.com/users/owenniblock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owenniblock/subscriptions","organizations_url":"https://api.github.com/users/owenniblock/orgs","repos_url":"https://api.github.com/users/owenniblock/repos","events_url":"https://api.github.com/users/owenniblock/events{/privacy}","received_events_url":"https://api.github.com/users/owenniblock/received_events","type":"User","site_admin":false},"body":"### Motivation\r\n\r\n`NUnit3` test runs against the latest `UITest` fail when they attempt to merge the output XML (this is because of a bug in the merging on the pipeline but also because of the code here which needed updating to match).\r\n\r\nThis PR adds support for the new `NUnit3` report format.\r\n\r\n### Caveat\r\n\r\nLooking at the existing code, I suspect that there are some issues merging result states between test runs (both in `NUnit2` and `NUnit3`) - I have not had time to investigate this thoroughly but I believe it would manifest if running on several devices and only a subset of the devices fail.\r\n\r\nExample CLI output:\r\n\r\n```\r\nCurrent test status: Running on 1 device (3 / 4 completed, 0 pending) - Report 50% done\r\n\r\nCurrent test status: Tests completed. Processing data.\r\n\r\nCurrent test status: Tests completed. Processing data.\r\n\r\nCurrent test status: Tests completed. Processing data.\r\n\r\nCurrent test status: Done!\r\nTotal scenarios: 4\r\n4 passed\r\n0 failed\r\nTotal steps: 6\r\n\r\n\r\nDownloaded artifacts to /Users/owenniblock/tmp/nunit_xml_zip.zip\r\n```\r\n\r\n@maxxkrakoa - I'm not sure who's best to review this PR. Normally I'd ask Simon - let me know!","created_at":"2019-04-24T14:45:05Z","updated_at":"2019-04-29T16:46:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e27eff1858471114f3c788e8046952a55e2de75e","assignee":null,"assignees":[],"requested_reviewers":[{"login":"kamstrup","id":201347,"node_id":"MDQ6VXNlcjIwMTM0Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/201347?v=4","gravatar_id":"","url":"https://api.github.com/users/kamstrup","html_url":"https://github.com/kamstrup","followers_url":"https://api.github.com/users/kamstrup/followers","following_url":"https://api.github.com/users/kamstrup/following{/other_user}","gists_url":"https://api.github.com/users/kamstrup/gists{/gist_id}","starred_url":"https://api.github.com/users/kamstrup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kamstrup/subscriptions","organizations_url":"https://api.github.com/users/kamstrup/orgs","repos_url":"https://api.github.com/users/kamstrup/repos","events_url":"https://api.github.com/users/kamstrup/events{/privacy}","received_events_url":"https://api.github.com/users/kamstrup/received_events","type":"User","site_admin":false},{"login":"jonstoneman","id":741710,"node_id":"MDQ6VXNlcjc0MTcxMA==","avatar_url":"https://avatars3.githubusercontent.com/u/741710?v=4","gravatar_id":"","url":"https://api.github.com/users/jonstoneman","html_url":"https://github.com/jonstoneman","followers_url":"https://api.github.com/users/jonstoneman/followers","following_url":"https://api.github.com/users/jonstoneman/following{/other_user}","gists_url":"https://api.github.com/users/jonstoneman/gists{/gist_id}","starred_url":"https://api.github.com/users/jonstoneman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonstoneman/subscriptions","organizations_url":"https://api.github.com/users/jonstoneman/orgs","repos_url":"https://api.github.com/users/jonstoneman/repos","events_url":"https://api.github.com/users/jonstoneman/events{/privacy}","received_events_url":"https://api.github.com/users/jonstoneman/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/572/commits","review_comments_url":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/572/comments","review_comment_url":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/appcenter-cli/issues/572/comments","statuses_url":"https://api.github.com/repos/Microsoft/appcenter-cli/statuses/4bcfd4677ebb197b95dc5d34f3f7abae4350841b","head":{"label":"owenniblock:feature/nunit3-xml-report-support","ref":"feature/nunit3-xml-report-support","sha":"4bcfd4677ebb197b95dc5d34f3f7abae4350841b","user":{"login":"owenniblock","id":4696224,"node_id":"MDQ6VXNlcjQ2OTYyMjQ=","avatar_url":"https://avatars0.githubusercontent.com/u/4696224?v=4","gravatar_id":"","url":"https://api.github.com/users/owenniblock","html_url":"https://github.com/owenniblock","followers_url":"https://api.github.com/users/owenniblock/followers","following_url":"https://api.github.com/users/owenniblock/following{/other_user}","gists_url":"https://api.github.com/users/owenniblock/gists{/gist_id}","starred_url":"https://api.github.com/users/owenniblock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owenniblock/subscriptions","organizations_url":"https://api.github.com/users/owenniblock/orgs","repos_url":"https://api.github.com/users/owenniblock/repos","events_url":"https://api.github.com/users/owenniblock/events{/privacy}","received_events_url":"https://api.github.com/users/owenniblock/received_events","type":"User","site_admin":false},"repo":{"id":105012363,"node_id":"MDEwOlJlcG9zaXRvcnkxMDUwMTIzNjM=","name":"appcenter-cli","full_name":"owenniblock/appcenter-cli","private":false,"owner":{"login":"owenniblock","id":4696224,"node_id":"MDQ6VXNlcjQ2OTYyMjQ=","avatar_url":"https://avatars0.githubusercontent.com/u/4696224?v=4","gravatar_id":"","url":"https://api.github.com/users/owenniblock","html_url":"https://github.com/owenniblock","followers_url":"https://api.github.com/users/owenniblock/followers","following_url":"https://api.github.com/users/owenniblock/following{/other_user}","gists_url":"https://api.github.com/users/owenniblock/gists{/gist_id}","starred_url":"https://api.github.com/users/owenniblock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owenniblock/subscriptions","organizations_url":"https://api.github.com/users/owenniblock/orgs","repos_url":"https://api.github.com/users/owenniblock/repos","events_url":"https://api.github.com/users/owenniblock/events{/privacy}","received_events_url":"https://api.github.com/users/owenniblock/received_events","type":"User","site_admin":false},"html_url":"https://github.com/owenniblock/appcenter-cli","description":null,"fork":true,"url":"https://api.github.com/repos/owenniblock/appcenter-cli","forks_url":"https://api.github.com/repos/owenniblock/appcenter-cli/forks","keys_url":"https://api.github.com/repos/owenniblock/appcenter-cli/keys{/key_id}","collaborators_url":"https://api.github.com/repos/owenniblock/appcenter-cli/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/owenniblock/appcenter-cli/teams","hooks_url":"https://api.github.com/repos/owenniblock/appcenter-cli/hooks","issue_events_url":"https://api.github.com/repos/owenniblock/appcenter-cli/issues/events{/number}","events_url":"https://api.github.com/repos/owenniblock/appcenter-cli/events","assignees_url":"https://api.github.com/repos/owenniblock/appcenter-cli/assignees{/user}","branches_url":"https://api.github.com/repos/owenniblock/appcenter-cli/branches{/branch}","tags_url":"https://api.github.com/repos/owenniblock/appcenter-cli/tags","blobs_url":"https://api.github.com/repos/owenniblock/appcenter-cli/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/owenniblock/appcenter-cli/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/owenniblock/appcenter-cli/git/refs{/sha}","trees_url":"https://api.github.com/repos/owenniblock/appcenter-cli/git/trees{/sha}","statuses_url":"https://api.github.com/repos/owenniblock/appcenter-cli/statuses/{sha}","languages_url":"https://api.github.com/repos/owenniblock/appcenter-cli/languages","stargazers_url":"https://api.github.com/repos/owenniblock/appcenter-cli/stargazers","contributors_url":"https://api.github.com/repos/owenniblock/appcenter-cli/contributors","subscribers_url":"https://api.github.com/repos/owenniblock/appcenter-cli/subscribers","subscription_url":"https://api.github.com/repos/owenniblock/appcenter-cli/subscription","commits_url":"https://api.github.com/repos/owenniblock/appcenter-cli/commits{/sha}","git_commits_url":"https://api.github.com/repos/owenniblock/appcenter-cli/git/commits{/sha}","comments_url":"https://api.github.com/repos/owenniblock/appcenter-cli/comments{/number}","issue_comment_url":"https://api.github.com/repos/owenniblock/appcenter-cli/issues/comments{/number}","contents_url":"https://api.github.com/repos/owenniblock/appcenter-cli/contents/{+path}","compare_url":"https://api.github.com/repos/owenniblock/appcenter-cli/compare/{base}...{head}","merges_url":"https://api.github.com/repos/owenniblock/appcenter-cli/merges","archive_url":"https://api.github.com/repos/owenniblock/appcenter-cli/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/owenniblock/appcenter-cli/downloads","issues_url":"https://api.github.com/repos/owenniblock/appcenter-cli/issues{/number}","pulls_url":"https://api.github.com/repos/owenniblock/appcenter-cli/pulls{/number}","milestones_url":"https://api.github.com/repos/owenniblock/appcenter-cli/milestones{/number}","notifications_url":"https://api.github.com/repos/owenniblock/appcenter-cli/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/owenniblock/appcenter-cli/labels{/name}","releases_url":"https://api.github.com/repos/owenniblock/appcenter-cli/releases{/id}","deployments_url":"https://api.github.com/repos/owenniblock/appcenter-cli/deployments","created_at":"2017-09-27T11:56:24Z","updated_at":"2019-04-24T10:19:16Z","pushed_at":"2019-04-29T16:45:46Z","git_url":"git://github.com/owenniblock/appcenter-cli.git","ssh_url":"git@github.com:owenniblock/appcenter-cli.git","clone_url":"https://github.com/owenniblock/appcenter-cli.git","svn_url":"https://github.com/owenniblock/appcenter-cli","homepage":null,"size":4499,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Microsoft:master","ref":"master","sha":"e817deab9e4d1e6323e052625194dc8dd9105ab3","user":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":68242587,"node_id":"MDEwOlJlcG9zaXRvcnk2ODI0MjU4Nw==","name":"appcenter-cli","full_name":"Microsoft/appcenter-cli","private":false,"owner":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Microsoft/appcenter-cli","description":"Command-line Interface (CLI) for Visual Studio App Center","fork":false,"url":"https://api.github.com/repos/Microsoft/appcenter-cli","forks_url":"https://api.github.com/repos/Microsoft/appcenter-cli/forks","keys_url":"https://api.github.com/repos/Microsoft/appcenter-cli/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/appcenter-cli/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/appcenter-cli/teams","hooks_url":"https://api.github.com/repos/Microsoft/appcenter-cli/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/appcenter-cli/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/appcenter-cli/events","assignees_url":"https://api.github.com/repos/Microsoft/appcenter-cli/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/appcenter-cli/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/appcenter-cli/tags","blobs_url":"https://api.github.com/repos/Microsoft/appcenter-cli/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/appcenter-cli/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/appcenter-cli/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/appcenter-cli/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/appcenter-cli/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/appcenter-cli/languages","stargazers_url":"https://api.github.com/repos/Microsoft/appcenter-cli/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/appcenter-cli/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/appcenter-cli/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/appcenter-cli/subscription","commits_url":"https://api.github.com/repos/Microsoft/appcenter-cli/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/appcenter-cli/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/appcenter-cli/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/appcenter-cli/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/appcenter-cli/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/appcenter-cli/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/appcenter-cli/merges","archive_url":"https://api.github.com/repos/Microsoft/appcenter-cli/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/appcenter-cli/downloads","issues_url":"https://api.github.com/repos/Microsoft/appcenter-cli/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/appcenter-cli/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/appcenter-cli/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/appcenter-cli/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/appcenter-cli/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/appcenter-cli/deployments","created_at":"2016-09-14T20:55:37Z","updated_at":"2019-04-22T03:38:36Z","pushed_at":"2019-04-29T16:45:48Z","git_url":"git://github.com/Microsoft/appcenter-cli.git","ssh_url":"git@github.com:Microsoft/appcenter-cli.git","clone_url":"https://github.com/Microsoft/appcenter-cli.git","svn_url":"https://github.com/Microsoft/appcenter-cli","homepage":"https://appcenter.ms/","size":4477,"stargazers_count":201,"watchers_count":201,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":96,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":25,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":96,"open_issues":25,"watchers":201,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/572"},"html":{"href":"https://github.com/Microsoft/appcenter-cli/pull/572"},"issue":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/issues/572"},"comments":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/issues/572/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/572/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/pulls/572/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/appcenter-cli/statuses/4bcfd4677ebb197b95dc5d34f3f7abae4350841b"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"owenniblock"}}