{"action":"created","comment":{"url":"https://api.github.com/repos/aspnet/dnx/pulls/comments/37937156","id":37937156,"diff_hunk":"@@ -202,6 +202,40 @@ public void DnuPack_OutPathSpecified(string flavor, string os, string architectu\n \n         [Theory]\n         [MemberData(nameof(RuntimeComponents))]\n+        public void DnuPack_NormalizesVersionNumber(string flavor, string os, string architecture)\n+        {\n+            string expectedNupkg =\n+            @\"{0} -> {1}/bin/Debug/{0}.1.0.0.nupkg\".Replace('/', Path.DirectorySeparatorChar);\n+            string expectedSymbol =\n+            @\"{0} -> {1}/bin/Debug/{0}.1.0.0.symbols.nupkg\".Replace('/', Path.DirectorySeparatorChar);\n+            string stdOut;\n+            string stdErr;\n+            var runtimeHomeDir = TestUtils.GetRuntimeHomeDir(flavor, os, architecture);\n+            int exitCode;\n+\n+            using (var testEnv = new DnuTestEnvironment(runtimeHomeDir))\n+            {\n+                File.WriteAllText($\"{testEnv.RootDir}/project.json\",\n+@\"{\n+  \"\"version\"\": \"\"1.0.0.0\"\",\n+  \"\"frameworks\"\": {\n+    \"\"dnx451\"\": {}\n+  }\n+}\");\n+\n+                exitCode = DnuTestUtils.ExecDnu(runtimeHomeDir, \"restore\", \"\", out stdOut, out stdErr, workingDir: testEnv.RootDir);\n+                Assert.Equal(0, exitCode);\n+\n+                exitCode = DnuTestUtils.ExecDnu(runtimeHomeDir, \"pack\", \"\", out stdOut, out stdErr, workingDir: testEnv.RootDir);\n+                Assert.Empty(stdErr);\n+                Assert.Contains(string.Format(expectedNupkg, Path.GetFileName(testEnv.RootDir), testEnv.RootDir), stdOut);\n+                Assert.Contains(string.Format(expectedSymbol, Path.GetFileName(testEnv.RootDir), testEnv.RootDir), stdOut);","path":"test/Microsoft.Dnx.Tooling.FunctionalTests/DnuPackTests.cs","position":31,"original_position":31,"commit_id":"9e50514f31d54ea69080ba2f7fbc41167ffb99a4","original_commit_id":"9e50514f31d54ea69080ba2f7fbc41167ffb99a4","user":{"login":"ChengTian","id":1383883,"avatar_url":"https://avatars.githubusercontent.com/u/1383883?v=3","gravatar_id":"","url":"https://api.github.com/users/ChengTian","html_url":"https://github.com/ChengTian","followers_url":"https://api.github.com/users/ChengTian/followers","following_url":"https://api.github.com/users/ChengTian/following{/other_user}","gists_url":"https://api.github.com/users/ChengTian/gists{/gist_id}","starred_url":"https://api.github.com/users/ChengTian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChengTian/subscriptions","organizations_url":"https://api.github.com/users/ChengTian/orgs","repos_url":"https://api.github.com/users/ChengTian/repos","events_url":"https://api.github.com/users/ChengTian/events{/privacy}","received_events_url":"https://api.github.com/users/ChengTian/received_events","type":"User","site_admin":false},"body":"Instead of checking the contents of log, we should check the actual output files on disk. That's what we care the most in this scenario.","created_at":"2015-08-26T00:50:49Z","updated_at":"2015-08-26T00:50:49Z","html_url":"https://github.com/aspnet/dnx/pull/2551#discussion_r37937156","pull_request_url":"https://api.github.com/repos/aspnet/dnx/pulls/2551","_links":{"self":{"href":"https://api.github.com/repos/aspnet/dnx/pulls/comments/37937156"},"html":{"href":"https://github.com/aspnet/dnx/pull/2551#discussion_r37937156"},"pull_request":{"href":"https://api.github.com/repos/aspnet/dnx/pulls/2551"}}},"pull_request":{"url":"https://api.github.com/repos/aspnet/dnx/pulls/2551","id":43205787,"html_url":"https://github.com/aspnet/dnx/pull/2551","diff_url":"https://github.com/aspnet/dnx/pull/2551.diff","patch_url":"https://github.com/aspnet/dnx/pull/2551.patch","issue_url":"https://api.github.com/repos/aspnet/dnx/issues/2551","number":2551,"state":"open","locked":false,"title":"fix #2390 by using normalized version numbers during dnu publish","user":{"login":"JunTaoLuo","id":2030323,"avatar_url":"https://avatars.githubusercontent.com/u/2030323?v=3","gravatar_id":"","url":"https://api.github.com/users/JunTaoLuo","html_url":"https://github.com/JunTaoLuo","followers_url":"https://api.github.com/users/JunTaoLuo/followers","following_url":"https://api.github.com/users/JunTaoLuo/following{/other_user}","gists_url":"https://api.github.com/users/JunTaoLuo/gists{/gist_id}","starred_url":"https://api.github.com/users/JunTaoLuo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JunTaoLuo/subscriptions","organizations_url":"https://api.github.com/users/JunTaoLuo/orgs","repos_url":"https://api.github.com/users/JunTaoLuo/repos","events_url":"https://api.github.com/users/JunTaoLuo/events{/privacy}","received_events_url":"https://api.github.com/users/JunTaoLuo/received_events","type":"User","site_admin":false},"body":"Updated the GetPackagePath helper function in BuildManager to use normalized version string instead for dnu publish. Added a functional test to test for this scenario.","created_at":"2015-08-24T18:28:43Z","updated_at":"2015-08-26T00:50:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"12e4a09c62bed2091484f62c89c2c4fa4ae757cc","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/aspnet/dnx/pulls/2551/commits","review_comments_url":"https://api.github.com/repos/aspnet/dnx/pulls/2551/comments","review_comment_url":"https://api.github.com/repos/aspnet/dnx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aspnet/dnx/issues/2551/comments","statuses_url":"https://api.github.com/repos/aspnet/dnx/statuses/9e50514f31d54ea69080ba2f7fbc41167ffb99a4","head":{"label":"aspnet:johluo/2390-more-version-normalization","ref":"johluo/2390-more-version-normalization","sha":"9e50514f31d54ea69080ba2f7fbc41167ffb99a4","user":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":14225208,"name":"dnx","full_name":"aspnet/dnx","owner":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aspnet/dnx","description":"The DNX (a .NET Execution Environment) contains the code required to bootstrap and run an application, including the compilation system, SDK tools, and the native CLR hosts.","fork":false,"url":"https://api.github.com/repos/aspnet/dnx","forks_url":"https://api.github.com/repos/aspnet/dnx/forks","keys_url":"https://api.github.com/repos/aspnet/dnx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/dnx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/dnx/teams","hooks_url":"https://api.github.com/repos/aspnet/dnx/hooks","issue_events_url":"https://api.github.com/repos/aspnet/dnx/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/dnx/events","assignees_url":"https://api.github.com/repos/aspnet/dnx/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/dnx/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/dnx/tags","blobs_url":"https://api.github.com/repos/aspnet/dnx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/dnx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/dnx/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/dnx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/dnx/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/dnx/languages","stargazers_url":"https://api.github.com/repos/aspnet/dnx/stargazers","contributors_url":"https://api.github.com/repos/aspnet/dnx/contributors","subscribers_url":"https://api.github.com/repos/aspnet/dnx/subscribers","subscription_url":"https://api.github.com/repos/aspnet/dnx/subscription","commits_url":"https://api.github.com/repos/aspnet/dnx/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/dnx/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/dnx/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/dnx/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/dnx/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/dnx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/dnx/merges","archive_url":"https://api.github.com/repos/aspnet/dnx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/dnx/downloads","issues_url":"https://api.github.com/repos/aspnet/dnx/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/dnx/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/dnx/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/dnx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/dnx/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/dnx/releases{/id}","created_at":"2013-11-08T06:01:29Z","updated_at":"2015-08-25T22:35:08Z","pushed_at":"2015-08-26T00:07:35Z","git_url":"git://github.com/aspnet/dnx.git","ssh_url":"git@github.com:aspnet/dnx.git","clone_url":"https://github.com/aspnet/dnx.git","svn_url":"https://github.com/aspnet/dnx","homepage":"","size":55287,"stargazers_count":857,"watchers_count":857,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":203,"mirror_url":null,"open_issues_count":381,"forks":203,"open_issues":381,"watchers":857,"default_branch":"dev"}},"base":{"label":"aspnet:dev","ref":"dev","sha":"9df5542793f73a01ceb5895dfe0fc81c6eee03de","user":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":14225208,"name":"dnx","full_name":"aspnet/dnx","owner":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aspnet/dnx","description":"The DNX (a .NET Execution Environment) contains the code required to bootstrap and run an application, including the compilation system, SDK tools, and the native CLR hosts.","fork":false,"url":"https://api.github.com/repos/aspnet/dnx","forks_url":"https://api.github.com/repos/aspnet/dnx/forks","keys_url":"https://api.github.com/repos/aspnet/dnx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/dnx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/dnx/teams","hooks_url":"https://api.github.com/repos/aspnet/dnx/hooks","issue_events_url":"https://api.github.com/repos/aspnet/dnx/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/dnx/events","assignees_url":"https://api.github.com/repos/aspnet/dnx/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/dnx/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/dnx/tags","blobs_url":"https://api.github.com/repos/aspnet/dnx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/dnx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/dnx/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/dnx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/dnx/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/dnx/languages","stargazers_url":"https://api.github.com/repos/aspnet/dnx/stargazers","contributors_url":"https://api.github.com/repos/aspnet/dnx/contributors","subscribers_url":"https://api.github.com/repos/aspnet/dnx/subscribers","subscription_url":"https://api.github.com/repos/aspnet/dnx/subscription","commits_url":"https://api.github.com/repos/aspnet/dnx/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/dnx/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/dnx/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/dnx/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/dnx/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/dnx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/dnx/merges","archive_url":"https://api.github.com/repos/aspnet/dnx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/dnx/downloads","issues_url":"https://api.github.com/repos/aspnet/dnx/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/dnx/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/dnx/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/dnx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/dnx/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/dnx/releases{/id}","created_at":"2013-11-08T06:01:29Z","updated_at":"2015-08-25T22:35:08Z","pushed_at":"2015-08-26T00:07:35Z","git_url":"git://github.com/aspnet/dnx.git","ssh_url":"git@github.com:aspnet/dnx.git","clone_url":"https://github.com/aspnet/dnx.git","svn_url":"https://github.com/aspnet/dnx","homepage":"","size":55287,"stargazers_count":857,"watchers_count":857,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":203,"mirror_url":null,"open_issues_count":381,"forks":203,"open_issues":381,"watchers":857,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/aspnet/dnx/pulls/2551"},"html":{"href":"https://github.com/aspnet/dnx/pull/2551"},"issue":{"href":"https://api.github.com/repos/aspnet/dnx/issues/2551"},"comments":{"href":"https://api.github.com/repos/aspnet/dnx/issues/2551/comments"},"review_comments":{"href":"https://api.github.com/repos/aspnet/dnx/pulls/2551/comments"},"review_comment":{"href":"https://api.github.com/repos/aspnet/dnx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aspnet/dnx/pulls/2551/commits"},"statuses":{"href":"https://api.github.com/repos/aspnet/dnx/statuses/9e50514f31d54ea69080ba2f7fbc41167ffb99a4"}}}}