payload: {"action":"closed","number":2266,"pull_request":{"url":"https://api.github.com/repos/vlang/v/pulls/2266","id":325984209,"node_id":"MDExOlB1bGxSZXF1ZXN0MzI1OTg0MjA5","html_url":"https://github.com/vlang/v/pull/2266","diff_url":"https://github.com/vlang/v/pull/2266.diff","patch_url":"https://github.com/vlang/v/pull/2266.patch","issue_url":"https://api.github.com/repos/vlang/v/issues/2266","number":2266,"state":"closed","locked":false,"title":"v test: add ability to test a folder or a set of _test.v files","user":{"login":"spytheman","id":26967,"node_id":"MDQ6VXNlcjI2OTY3","avatar_url":"https://avatars1.githubusercontent.com/u/26967?v=4","gravatar_id":"","url":"https://api.github.com/users/spytheman","html_url":"https://github.com/spytheman","followers_url":"https://api.github.com/users/spytheman/followers","following_url":"https://api.github.com/users/spytheman/following{/other_user}","gists_url":"https://api.github.com/users/spytheman/gists{/gist_id}","starred_url":"https://api.github.com/users/spytheman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spytheman/subscriptions","organizations_url":"https://api.github.com/users/spytheman/orgs","repos_url":"https://api.github.com/users/spytheman/repos","events_url":"https://api.github.com/users/spytheman/events{/privacy}","received_events_url":"https://api.github.com/users/spytheman/received_events","type":"User","site_admin":false},"body":"With this PR:\r\n```shell\r\n0[01:02:21] /v/nv $ ./v test  vlib/json/ vlib/net/ vlib/os/os_test.v\r\nTesting...\r\n    80 ms | vlib/json/json_test.v OK\r\n    93 ms | vlib/net/urllib/urllib_test.v OK\r\n    85 ms | vlib/net/socket_test.v OK\r\n    82 ms | vlib/net/socket_udp_test.v OK\r\n    92 ms | vlib/os/os_test.v OK\r\n----------------------------------------------------------------------------\r\n   433 ms | <=== total time spent running V _test.v files\r\n ok, fail, total =     5,     0,     5\r\n0[01:02:30] /v/nv $\r\n```\r\n\r\nAlso:\r\n```shell\r\n0[01:05:46] /v/nv $ ./v -stats test  vlib/json/ vlib/net/ vlib/os/os_test.v\r\nTesting...\r\n-------------------------------------------------\r\ncompilation took: 145ms\r\nrunning tests in: /v/nv/vlib/json/json_test.v\r\n   OK     0 ms |  7 asserts | test_parse_user()\r\n   OK     0 ms |  1 assert  | test_encode_user()\r\n   OK     0 ms |  2 asserts | test_raw_json_field()\r\n          0 ms | <=== total time spent running V tests in \"json_test.v\"\r\n ok, fail, total =    10,     0,    10\r\n-------------------------------------------------\r\ncompilation took: 151ms\r\nrunning tests in: /v/nv/vlib/net/urllib/urllib_test.v\r\n   OK     1 ms |  2 asserts | test_net_urllib()\r\n          1 ms | <=== total time spent running V tests in \"urllib_test.v\"\r\n ok, fail, total =     2,     0,     2\r\n-------------------------------------------------\r\ncompilation took: 122ms\r\nrunning tests in: /v/nv/vlib/net/socket_test.v\r\n   OK     0 ms |  1 assert  | test_socket()\r\n          0 ms | <=== total time spent running V tests in \"socket_test.v\"\r\n ok, fail, total =     1,     0,     1\r\n-------------------------------------------------\r\ncompilation took: 120ms\r\nrunning tests in: /v/nv/vlib/net/socket_udp_test.v\r\n          0 ms | NO asserts | test_udp_server()\r\n          0 ms | <=== total time spent running V tests in \"socket_udp_test.v\"\r\n ok, fail, total =     0,     0,     0\r\n-------------------------------------------------\r\ncompilation took: 110ms\r\nrunning tests in: /v/nv/vlib/os/os_test.v\r\n   OK     0 ms |  3 asserts | test_setenv()\r\n   OK     0 ms |  2 asserts | test_create_and_delete_folder()\r\n   OK     0 ms |  1 assert  | test_dir()\r\n   OK     0 ms |  1 assert  | test_unsetenv()\r\n   OK     0 ms |  2 asserts | test_write_and_read_string_to_file()\r\n          0 ms | <=== total time spent running V tests in \"os_test.v\"\r\n ok, fail, total =     9,     0,     9\r\n----------------------------------------------------------------------------\r\n   682 ms | <=== total time spent running V _test.v files\r\n ok, fail, total =     5,     0,     5\r\n0[01:05:49] /v/nv $\r\n```\r\n\r\nMost conveniently, you can also do:\r\n```shell\r\n0[01:06:32] /v/nv/vlib/net $ /v/nv/v test .\r\nTesting...\r\n    98 ms | urllib/urllib_test.v OK\r\n    82 ms | socket_test.v OK\r\n    82 ms | socket_udp_test.v OK\r\n----------------------------------------------------------------------------\r\n   262 ms | <=== total time spent running V _test.v files\r\n ok, fail, total =     3,     0,     3\r\n0[01:06:42] /v/nv/vlib/net $\r\n```","created_at":"2019-10-08T22:07:25Z","updated_at":"2019-10-08T22:31:16Z","closed_at":"2019-10-08T22:31:16Z","merged_at":null,"merge_commit_sha":"0c002fc8a26a4ab049257eb48c822eaa37b9c364","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/vlang/v/pulls/2266/commits","review_comments_url":"https://api.github.com/repos/vlang/v/pulls/2266/comments","review_comment_url":"https://api.github.com/repos/vlang/v/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vlang/v/issues/2266/comments","statuses_url":"https://api.github.com/repos/vlang/v/statuses/95624d1d40c768f1f2e3ed0d3132a598dea2c61f","head":{"label":"spytheman:v_test_folder","ref":"v_test_folder","sha":"95624d1d40c768f1f2e3ed0d3132a598dea2c61f","user":{"login":"spytheman","id":26967,"node_id":"MDQ6VXNlcjI2OTY3","avatar_url":"https://avatars1.githubusercontent.com/u/26967?v=4","gravatar_id":"","url":"https://api.github.com/users/spytheman","html_url":"https://github.com/spytheman","followers_url":"https://api.github.com/users/spytheman/followers","following_url":"https://api.github.com/users/spytheman/following{/other_user}","gists_url":"https://api.github.com/users/spytheman/gists{/gist_id}","starred_url":"https://api.github.com/users/spytheman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spytheman/subscriptions","organizations_url":"https://api.github.com/users/spytheman/orgs","repos_url":"https://api.github.com/users/spytheman/repos","events_url":"https://api.github.com/users/spytheman/events{/privacy}","received_events_url":"https://api.github.com/users/spytheman/received_events","type":"User","site_admin":false},"repo":{"id":193338471,"node_id":"MDEwOlJlcG9zaXRvcnkxOTMzMzg0NzE=","name":"v","full_name":"spytheman/v","private":false,"owner":{"login":"spytheman","id":26967,"node_id":"MDQ6VXNlcjI2OTY3","avatar_url":"https://avatars1.githubusercontent.com/u/26967?v=4","gravatar_id":"","url":"https://api.github.com/users/spytheman","html_url":"https://github.com/spytheman","followers_url":"https://api.github.com/users/spytheman/followers","following_url":"https://api.github.com/users/spytheman/following{/other_user}","gists_url":"https://api.github.com/users/spytheman/gists{/gist_id}","starred_url":"https://api.github.com/users/spytheman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spytheman/subscriptions","organizations_url":"https://api.github.com/users/spytheman/orgs","repos_url":"https://api.github.com/users/spytheman/repos","events_url":"https://api.github.com/users/spytheman/events{/privacy}","received_events_url":"https://api.github.com/users/spytheman/received_events","type":"User","site_admin":false},"html_url":"https://github.com/spytheman/v","description":"Simple, fast, safe, compiled language for developing maintainable software. Supports translation from C and (soon) C++.","fork":true,"url":"https://api.github.com/repos/spytheman/v","forks_url":"https://api.github.com/repos/spytheman/v/forks","keys_url":"https://api.github.com/repos/spytheman/v/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spytheman/v/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spytheman/v/teams","hooks_url":"https://api.github.com/repos/spytheman/v/hooks","issue_events_url":"https://api.github.com/repos/spytheman/v/issues/events{/number}","events_url":"https://api.github.com/repos/spytheman/v/events","assignees_url":"https://api.github.com/repos/spytheman/v/assignees{/user}","branches_url":"https://api.github.com/repos/spytheman/v/branches{/branch}","tags_url":"https://api.github.com/repos/spytheman/v/tags","blobs_url":"https://api.github.com/repos/spytheman/v/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spytheman/v/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spytheman/v/git/refs{/sha}","trees_url":"https://api.github.com/repos/spytheman/v/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spytheman/v/statuses/{sha}","languages_url":"https://api.github.com/repos/spytheman/v/languages","stargazers_url":"https://api.github.com/repos/spytheman/v/stargazers","contributors_url":"https://api.github.com/repos/spytheman/v/contributors","subscribers_url":"https://api.github.com/repos/spytheman/v/subscribers","subscription_url":"https://api.github.com/repos/spytheman/v/subscription","commits_url":"https://api.github.com/repos/spytheman/v/commits{/sha}","git_commits_url":"https://api.github.com/repos/spytheman/v/git/commits{/sha}","comments_url":"https://api.github.com/repos/spytheman/v/comments{/number}","issue_comment_url":"https://api.github.com/repos/spytheman/v/issues/comments{/number}","contents_url":"https://api.github.com/repos/spytheman/v/contents/{+path}","compare_url":"https://api.github.com/repos/spytheman/v/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spytheman/v/merges","archive_url":"https://api.github.com/repos/spytheman/v/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spytheman/v/downloads","issues_url":"https://api.github.com/repos/spytheman/v/issues{/number}","pulls_url":"https://api.github.com/repos/spytheman/v/pulls{/number}","milestones_url":"https://api.github.com/repos/spytheman/v/milestones{/number}","notifications_url":"https://api.github.com/repos/spytheman/v/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spytheman/v/labels{/name}","releases_url":"https://api.github.com/repos/spytheman/v/releases{/id}","deployments_url":"https://api.github.com/repos/spytheman/v/deployments","created_at":"2019-06-23T11:12:01Z","updated_at":"2019-09-27T23:00:15Z","pushed_at":"2019-10-08T21:59:04Z","git_url":"git://github.com/spytheman/v.git","ssh_url":"git@github.com:spytheman/v.git","clone_url":"https://github.com/spytheman/v.git","svn_url":"https://github.com/spytheman/v","homepage":"","size":5376,"stargazers_count":1,"watchers_count":1,"language":"V","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":1,"default_branch":"master"}},"base":{"label":"vlang:master","ref":"master","sha":"c620da9089693ace16b095f0a5d85172f389c9ab","user":{"login":"vlang","id":46413578,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ2NDEzNTc4","avatar_url":"https://avatars0.githubusercontent.com/u/46413578?v=4","gravatar_id":"","url":"https://api.github.com/users/vlang","html_url":"https://github.com/vlang","followers_url":"https://api.github.com/users/vlang/followers","following_url":"https://api.github.com/users/vlang/following{/other_user}","gists_url":"https://api.github.com/users/vlang/gists{/gist_id}","starred_url":"https://api.github.com/users/vlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vlang/subscriptions","organizations_url":"https://api.github.com/users/vlang/orgs","repos_url":"https://api.github.com/users/vlang/repos","events_url":"https://api.github.com/users/vlang/events{/privacy}","received_events_url":"https://api.github.com/users/vlang/received_events","type":"Organization","site_admin":false},"repo":{"id":169677297,"node_id":"MDEwOlJlcG9zaXRvcnkxNjk2NzcyOTc=","name":"v","full_name":"vlang/v","private":false,"owner":{"login":"vlang","id":46413578,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ2NDEzNTc4","avatar_url":"https://avatars0.githubusercontent.com/u/46413578?v=4","gravatar_id":"","url":"https://api.github.com/users/vlang","html_url":"https://github.com/vlang","followers_url":"https://api.github.com/users/vlang/followers","following_url":"https://api.github.com/users/vlang/following{/other_user}","gists_url":"https://api.github.com/users/vlang/gists{/gist_id}","starred_url":"https://api.github.com/users/vlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vlang/subscriptions","organizations_url":"https://api.github.com/users/vlang/orgs","repos_url":"https://api.github.com/users/vlang/repos","events_url":"https://api.github.com/users/vlang/events{/privacy}","received_events_url":"https://api.github.com/users/vlang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/vlang/v","description":"Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s. 1.0 release in December 2019. https://vlang.io","fork":false,"url":"https://api.github.com/repos/vlang/v","forks_url":"https://api.github.com/repos/vlang/v/forks","keys_url":"https://api.github.com/repos/vlang/v/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vlang/v/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vlang/v/teams","hooks_url":"https://api.github.com/repos/vlang/v/hooks","issue_events_url":"https://api.github.com/repos/vlang/v/issues/events{/number}","events_url":"https://api.github.com/repos/vlang/v/events","assignees_url":"https://api.github.com/repos/vlang/v/assignees{/user}","branches_url":"https://api.github.com/repos/vlang/v/branches{/branch}","tags_url":"https://api.github.com/repos/vlang/v/tags","blobs_url":"https://api.github.com/repos/vlang/v/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vlang/v/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vlang/v/git/refs{/sha}","trees_url":"https://api.github.com/repos/vlang/v/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vlang/v/statuses/{sha}","languages_url":"https://api.github.com/repos/vlang/v/languages","stargazers_url":"https://api.github.com/repos/vlang/v/stargazers","contributors_url":"https://api.github.com/repos/vlang/v/contributors","subscribers_url":"https://api.github.com/repos/vlang/v/subscribers","subscription_url":"https://api.github.com/repos/vlang/v/subscription","commits_url":"https://api.github.com/repos/vlang/v/commits{/sha}","git_commits_url":"https://api.github.com/repos/vlang/v/git/commits{/sha}","comments_url":"https://api.github.com/repos/vlang/v/comments{/number}","issue_comment_url":"https://api.github.com/repos/vlang/v/issues/comments{/number}","contents_url":"https://api.github.com/repos/vlang/v/contents/{+path}","compare_url":"https://api.github.com/repos/vlang/v/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vlang/v/merges","archive_url":"https://api.github.com/repos/vlang/v/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vlang/v/downloads","issues_url":"https://api.github.com/repos/vlang/v/issues{/number}","pulls_url":"https://api.github.com/repos/vlang/v/pulls{/number}","milestones_url":"https://api.github.com/repos/vlang/v/milestones{/number}","notifications_url":"https://api.github.com/repos/vlang/v/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vlang/v/labels{/name}","releases_url":"https://api.github.com/repos/vlang/v/releases{/id}","deployments_url":"https://api.github.com/repos/vlang/v/deployments","created_at":"2019-02-08T02:57:06Z","updated_at":"2019-10-08T22:05:37Z","pushed_at":"2019-10-08T22:07:26Z","git_url":"git://github.com/vlang/v.git","ssh_url":"git@github.com:vlang/v.git","clone_url":"https://github.com/vlang/v.git","svn_url":"https://github.com/vlang/v","homepage":"","size":4860,"stargazers_count":11599,"watchers_count":11599,"language":"V","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":712,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":279,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":712,"open_issues":279,"watchers":11599,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vlang/v/pulls/2266"},"html":{"href":"https://github.com/vlang/v/pull/2266"},"issue":{"href":"https://api.github.com/repos/vlang/v/issues/2266"},"comments":{"href":"https://api.github.com/repos/vlang/v/issues/2266/comments"},"review_comments":{"href":"https://api.github.com/repos/vlang/v/pulls/2266/comments"},"review_comment":{"href":"https://api.github.com/repos/vlang/v/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vlang/v/pulls/2266/commits"},"statuses":{"href":"https://api.github.com/repos/vlang/v/statuses/95624d1d40c768f1f2e3ed0d3132a598dea2c61f"}},"author_association":"MEMBER","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"unstable","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":2,"additions":205,"deletions":122,"changed_files":3}}
other: {"actor":{"display_login":"spytheman"}}