{"action":"created","comment":{"url":"https://api.github.com/repos/airportyh/testem/pulls/comments/25781424","id":25781424,"diff_hunk":"@@ -0,0 +1,103 @@\n+var fs = require('fs')\n+var App = require('../../lib/ci')\n+var TestReporter = require('../../lib/ci/test_reporters/tap_reporter')\n+var Config = require('../../lib/config')\n+var bd = require('bodydouble')\n+var mock = bd.mock\n+var stub = bd.stub\n+var assert = require('chai').assert\n+var expect = require('chai').expect\n+var Process = require('did_it_work')\n+var exec = require('child_process').exec\n+var rimraf = require('rimraf')\n+var path = require('path')\n+var PassThrough = require('stream').PassThrough\n+var ReportFile = require('../../lib/ci/report_file')\n+var XUnitReporter = require('../../lib/ci/test_reporters/xunit_reporter')\n+var tmp = require('tmp')\n+\n+describe('report file output', function() {\n+  var mainReportDir, reportDir, filename;\n+  before(function(done) {\n+    tmp.dir(function(err, path) {\n+      mainReportDir = path\n+      done()\n+    })\n+  })\n+  after(function(done) {\n+    rimraf(mainReportDir, function() {","path":"tests/ci/report_file_tests.js","position":28,"original_position":28,"commit_id":"54f6b469719f815c33225a0d62bfa55bb3c95f38","original_commit_id":"54f6b469719f815c33225a0d62bfa55bb3c95f38","user":{"login":"stabbylambda","id":124668,"avatar_url":"https://avatars.githubusercontent.com/u/124668?v=3","gravatar_id":"","url":"https://api.github.com/users/stabbylambda","html_url":"https://github.com/stabbylambda","followers_url":"https://api.github.com/users/stabbylambda/followers","following_url":"https://api.github.com/users/stabbylambda/following{/other_user}","gists_url":"https://api.github.com/users/stabbylambda/gists{/gist_id}","starred_url":"https://api.github.com/users/stabbylambda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stabbylambda/subscriptions","organizations_url":"https://api.github.com/users/stabbylambda/orgs","repos_url":"https://api.github.com/users/stabbylambda/repos","events_url":"https://api.github.com/users/stabbylambda/events{/privacy}","received_events_url":"https://api.github.com/users/stabbylambda/received_events","type":"User","site_admin":false},"body":"I tried that and it was still throwing crazy errors on Windows and folders were still hanging around.\n\n\n\nOn Mar 4, 2015, at 12:10 AM, Johannes W?rbach <notifications@github.com<mailto:notifications@github.com>> wrote:\n\n\nIn tests/ci/report_file_tests.js<https://github.com/airportyh/testem/pull/509#discussion_r25757807>:\n\n> +var path = require('path')\n> +var PassThrough = require('stream').PassThrough\n> +var ReportFile = require('../../lib/ci/report_file')\n> +var XUnitReporter = require('../../lib/ci/test_reporters/xunit_reporter')\n> +var tmp = require('tmp')\n> +\n> +describe('report file output', function() {\n> +  var mainReportDir, reportDir, filename;\n> +  before(function(done) {\n> +    tmp.dir(function(err, path) {\n> +      mainReportDir = path\n> +      done()\n> +    })\n> +  })\n> +  after(function(done) {\n> +    rimraf(mainReportDir, function() {\n\n\nThis could be removed, when tmp.dir({unsafeCleanup: true}, cb) is used in before.\n\n-\nReply to this email directly or view it on GitHub<https://github.com/airportyh/testem/pull/509/files#r25757807>.\n","created_at":"2015-03-04T15:14:29Z","updated_at":"2015-03-04T15:14:29Z","html_url":"https://github.com/airportyh/testem/pull/509#discussion_r25781424","pull_request_url":"https://api.github.com/repos/airportyh/testem/pulls/509","_links":{"self":{"href":"https://api.github.com/repos/airportyh/testem/pulls/comments/25781424"},"html":{"href":"https://github.com/airportyh/testem/pull/509#discussion_r25781424"},"pull_request":{"href":"https://api.github.com/repos/airportyh/testem/pulls/509"}}},"pull_request":{"url":"https://api.github.com/repos/airportyh/testem/pulls/509","id":29949681,"html_url":"https://github.com/airportyh/testem/pull/509","diff_url":"https://github.com/airportyh/testem/pull/509.diff","patch_url":"https://github.com/airportyh/testem/pull/509.patch","issue_url":"https://api.github.com/repos/airportyh/testem/issues/509","number":509,"state":"open","locked":false,"title":"Add the ability to save report output to a file","user":{"login":"stabbylambda","id":124668,"avatar_url":"https://avatars.githubusercontent.com/u/124668?v=3","gravatar_id":"","url":"https://api.github.com/users/stabbylambda","html_url":"https://github.com/stabbylambda","followers_url":"https://api.github.com/users/stabbylambda/followers","following_url":"https://api.github.com/users/stabbylambda/following{/other_user}","gists_url":"https://api.github.com/users/stabbylambda/gists{/gist_id}","starred_url":"https://api.github.com/users/stabbylambda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stabbylambda/subscriptions","organizations_url":"https://api.github.com/users/stabbylambda/orgs","repos_url":"https://api.github.com/users/stabbylambda/repos","events_url":"https://api.github.com/users/stabbylambda/events{/privacy}","received_events_url":"https://api.github.com/users/stabbylambda/received_events","type":"User","site_admin":false},"body":"This adds the ability to save the report output to a file in CI mode. I added this because I'd like the xml output for my Jenkins jobs. Normally I would just pipe the output from testem ci to a file, but I'm running testem through ember-cli, which prints some text to stdout before running testem.\r\n\r\nLet me know if anything looks out of order!","created_at":"2015-02-25T00:13:41Z","updated_at":"2015-03-04T15:14:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e530e6ae67e21ef0615273bdf3418f71ca4f899b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/airportyh/testem/pulls/509/commits","review_comments_url":"https://api.github.com/repos/airportyh/testem/pulls/509/comments","review_comment_url":"https://api.github.com/repos/airportyh/testem/pulls/comments{/number}","comments_url":"https://api.github.com/repos/airportyh/testem/issues/509/comments","statuses_url":"https://api.github.com/repos/airportyh/testem/statuses/54f6b469719f815c33225a0d62bfa55bb3c95f38","head":{"label":"stabbylambda:add-report-file","ref":"add-report-file","sha":"54f6b469719f815c33225a0d62bfa55bb3c95f38","user":{"login":"stabbylambda","id":124668,"avatar_url":"https://avatars.githubusercontent.com/u/124668?v=3","gravatar_id":"","url":"https://api.github.com/users/stabbylambda","html_url":"https://github.com/stabbylambda","followers_url":"https://api.github.com/users/stabbylambda/followers","following_url":"https://api.github.com/users/stabbylambda/following{/other_user}","gists_url":"https://api.github.com/users/stabbylambda/gists{/gist_id}","starred_url":"https://api.github.com/users/stabbylambda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stabbylambda/subscriptions","organizations_url":"https://api.github.com/users/stabbylambda/orgs","repos_url":"https://api.github.com/users/stabbylambda/repos","events_url":"https://api.github.com/users/stabbylambda/events{/privacy}","received_events_url":"https://api.github.com/users/stabbylambda/received_events","type":"User","site_admin":false},"repo":{"id":31287990,"name":"testem","full_name":"stabbylambda/testem","owner":{"login":"stabbylambda","id":124668,"avatar_url":"https://avatars.githubusercontent.com/u/124668?v=3","gravatar_id":"","url":"https://api.github.com/users/stabbylambda","html_url":"https://github.com/stabbylambda","followers_url":"https://api.github.com/users/stabbylambda/followers","following_url":"https://api.github.com/users/stabbylambda/following{/other_user}","gists_url":"https://api.github.com/users/stabbylambda/gists{/gist_id}","starred_url":"https://api.github.com/users/stabbylambda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stabbylambda/subscriptions","organizations_url":"https://api.github.com/users/stabbylambda/orgs","repos_url":"https://api.github.com/users/stabbylambda/repos","events_url":"https://api.github.com/users/stabbylambda/events{/privacy}","received_events_url":"https://api.github.com/users/stabbylambda/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/stabbylambda/testem","description":"Test'em 'Scripts! A test runner that makes Javascript unit testing fun.","fork":true,"url":"https://api.github.com/repos/stabbylambda/testem","forks_url":"https://api.github.com/repos/stabbylambda/testem/forks","keys_url":"https://api.github.com/repos/stabbylambda/testem/keys{/key_id}","collaborators_url":"https://api.github.com/repos/stabbylambda/testem/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/stabbylambda/testem/teams","hooks_url":"https://api.github.com/repos/stabbylambda/testem/hooks","issue_events_url":"https://api.github.com/repos/stabbylambda/testem/issues/events{/number}","events_url":"https://api.github.com/repos/stabbylambda/testem/events","assignees_url":"https://api.github.com/repos/stabbylambda/testem/assignees{/user}","branches_url":"https://api.github.com/repos/stabbylambda/testem/branches{/branch}","tags_url":"https://api.github.com/repos/stabbylambda/testem/tags","blobs_url":"https://api.github.com/repos/stabbylambda/testem/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/stabbylambda/testem/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/stabbylambda/testem/git/refs{/sha}","trees_url":"https://api.github.com/repos/stabbylambda/testem/git/trees{/sha}","statuses_url":"https://api.github.com/repos/stabbylambda/testem/statuses/{sha}","languages_url":"https://api.github.com/repos/stabbylambda/testem/languages","stargazers_url":"https://api.github.com/repos/stabbylambda/testem/stargazers","contributors_url":"https://api.github.com/repos/stabbylambda/testem/contributors","subscribers_url":"https://api.github.com/repos/stabbylambda/testem/subscribers","subscription_url":"https://api.github.com/repos/stabbylambda/testem/subscription","commits_url":"https://api.github.com/repos/stabbylambda/testem/commits{/sha}","git_commits_url":"https://api.github.com/repos/stabbylambda/testem/git/commits{/sha}","comments_url":"https://api.github.com/repos/stabbylambda/testem/comments{/number}","issue_comment_url":"https://api.github.com/repos/stabbylambda/testem/issues/comments{/number}","contents_url":"https://api.github.com/repos/stabbylambda/testem/contents/{+path}","compare_url":"https://api.github.com/repos/stabbylambda/testem/compare/{base}...{head}","merges_url":"https://api.github.com/repos/stabbylambda/testem/merges","archive_url":"https://api.github.com/repos/stabbylambda/testem/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/stabbylambda/testem/downloads","issues_url":"https://api.github.com/repos/stabbylambda/testem/issues{/number}","pulls_url":"https://api.github.com/repos/stabbylambda/testem/pulls{/number}","milestones_url":"https://api.github.com/repos/stabbylambda/testem/milestones{/number}","notifications_url":"https://api.github.com/repos/stabbylambda/testem/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/stabbylambda/testem/labels{/name}","releases_url":"https://api.github.com/repos/stabbylambda/testem/releases{/id}","created_at":"2015-02-24T23:45:27Z","updated_at":"2015-02-24T23:54:20Z","pushed_at":"2015-03-03T20:19:43Z","git_url":"git://github.com/stabbylambda/testem.git","ssh_url":"git@github.com:stabbylambda/testem.git","clone_url":"https://github.com/stabbylambda/testem.git","svn_url":"https://github.com/stabbylambda/testem","homepage":"","size":37105,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"airportyh:master","ref":"master","sha":"31e070490cb8835a0b05b4f14fc1a75fe71e130a","user":{"login":"airportyh","id":54303,"avatar_url":"https://avatars.githubusercontent.com/u/54303?v=3","gravatar_id":"","url":"https://api.github.com/users/airportyh","html_url":"https://github.com/airportyh","followers_url":"https://api.github.com/users/airportyh/followers","following_url":"https://api.github.com/users/airportyh/following{/other_user}","gists_url":"https://api.github.com/users/airportyh/gists{/gist_id}","starred_url":"https://api.github.com/users/airportyh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/airportyh/subscriptions","organizations_url":"https://api.github.com/users/airportyh/orgs","repos_url":"https://api.github.com/users/airportyh/repos","events_url":"https://api.github.com/users/airportyh/events{/privacy}","received_events_url":"https://api.github.com/users/airportyh/received_events","type":"User","site_admin":false},"repo":{"id":2034023,"name":"testem","full_name":"airportyh/testem","owner":{"login":"airportyh","id":54303,"avatar_url":"https://avatars.githubusercontent.com/u/54303?v=3","gravatar_id":"","url":"https://api.github.com/users/airportyh","html_url":"https://github.com/airportyh","followers_url":"https://api.github.com/users/airportyh/followers","following_url":"https://api.github.com/users/airportyh/following{/other_user}","gists_url":"https://api.github.com/users/airportyh/gists{/gist_id}","starred_url":"https://api.github.com/users/airportyh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/airportyh/subscriptions","organizations_url":"https://api.github.com/users/airportyh/orgs","repos_url":"https://api.github.com/users/airportyh/repos","events_url":"https://api.github.com/users/airportyh/events{/privacy}","received_events_url":"https://api.github.com/users/airportyh/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/airportyh/testem","description":"Test'em 'Scripts! A test runner that makes Javascript unit testing fun.","fork":false,"url":"https://api.github.com/repos/airportyh/testem","forks_url":"https://api.github.com/repos/airportyh/testem/forks","keys_url":"https://api.github.com/repos/airportyh/testem/keys{/key_id}","collaborators_url":"https://api.github.com/repos/airportyh/testem/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/airportyh/testem/teams","hooks_url":"https://api.github.com/repos/airportyh/testem/hooks","issue_events_url":"https://api.github.com/repos/airportyh/testem/issues/events{/number}","events_url":"https://api.github.com/repos/airportyh/testem/events","assignees_url":"https://api.github.com/repos/airportyh/testem/assignees{/user}","branches_url":"https://api.github.com/repos/airportyh/testem/branches{/branch}","tags_url":"https://api.github.com/repos/airportyh/testem/tags","blobs_url":"https://api.github.com/repos/airportyh/testem/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/airportyh/testem/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/airportyh/testem/git/refs{/sha}","trees_url":"https://api.github.com/repos/airportyh/testem/git/trees{/sha}","statuses_url":"https://api.github.com/repos/airportyh/testem/statuses/{sha}","languages_url":"https://api.github.com/repos/airportyh/testem/languages","stargazers_url":"https://api.github.com/repos/airportyh/testem/stargazers","contributors_url":"https://api.github.com/repos/airportyh/testem/contributors","subscribers_url":"https://api.github.com/repos/airportyh/testem/subscribers","subscription_url":"https://api.github.com/repos/airportyh/testem/subscription","commits_url":"https://api.github.com/repos/airportyh/testem/commits{/sha}","git_commits_url":"https://api.github.com/repos/airportyh/testem/git/commits{/sha}","comments_url":"https://api.github.com/repos/airportyh/testem/comments{/number}","issue_comment_url":"https://api.github.com/repos/airportyh/testem/issues/comments{/number}","contents_url":"https://api.github.com/repos/airportyh/testem/contents/{+path}","compare_url":"https://api.github.com/repos/airportyh/testem/compare/{base}...{head}","merges_url":"https://api.github.com/repos/airportyh/testem/merges","archive_url":"https://api.github.com/repos/airportyh/testem/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/airportyh/testem/downloads","issues_url":"https://api.github.com/repos/airportyh/testem/issues{/number}","pulls_url":"https://api.github.com/repos/airportyh/testem/pulls{/number}","milestones_url":"https://api.github.com/repos/airportyh/testem/milestones{/number}","notifications_url":"https://api.github.com/repos/airportyh/testem/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/airportyh/testem/labels{/name}","releases_url":"https://api.github.com/repos/airportyh/testem/releases{/id}","created_at":"2011-07-12T03:41:27Z","updated_at":"2015-03-04T11:34:03Z","pushed_at":"2015-03-04T07:46:25Z","git_url":"git://github.com/airportyh/testem.git","ssh_url":"git@github.com:airportyh/testem.git","clone_url":"https://github.com/airportyh/testem.git","svn_url":"https://github.com/airportyh/testem","homepage":"","size":40764,"stargazers_count":1900,"watchers_count":1900,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":181,"mirror_url":null,"open_issues_count":39,"forks":181,"open_issues":39,"watchers":1900,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/airportyh/testem/pulls/509"},"html":{"href":"https://github.com/airportyh/testem/pull/509"},"issue":{"href":"https://api.github.com/repos/airportyh/testem/issues/509"},"comments":{"href":"https://api.github.com/repos/airportyh/testem/issues/509/comments"},"review_comments":{"href":"https://api.github.com/repos/airportyh/testem/pulls/509/comments"},"review_comment":{"href":"https://api.github.com/repos/airportyh/testem/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/airportyh/testem/pulls/509/commits"},"statuses":{"href":"https://api.github.com/repos/airportyh/testem/statuses/54f6b469719f815c33225a0d62bfa55bb3c95f38"}}}}