{"action":"created","comment":{"url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/comments/70074487","id":70074487,"diff_hunk":"@@ -151,30 +215,38 @@ -(id) init {\n }\n \n -(void) run {\n+    self.test_id = [NSNumber numberWithDouble:[[NSDate date] timeIntervalSince1970]];\n+    self.json_file = [NSString stringWithFormat:@\"test-%@.json\", self.test_id];\n+    self.log_file = [NSString stringWithFormat:@\"test-%@.log\", self.test_id];\n+    [TestStorage add_test:self];\n     setup_idempotent();\n-\n     NSBundle *bundle = [NSBundle mainBundle];\n     NSString *path = [bundle pathForResource:@\"hosts\" ofType:@\"txt\"];\n-\n-    mk::ooni::TcpConnectTest()\n-    .set_port(\"80\")\n-    .set_input_file_path([path UTF8String])\n-    .set_verbose()\n-    .on_log([self](const char *s) {\n-        NSString *current = [NSString stringWithFormat:@\"%@: %@\", [super getDate],\n-                             [NSString stringWithUTF8String:s]];\n-        NSLog(@\"%s\", s);\n-        dispatch_async(dispatch_get_main_queue(), ^{\n-            [self.logLines addObject:current];\n-        });\n-    })\n-    .run([self]() {\n-        NSLog(@\"tcp_connect testEnded\");\n-        dispatch_async(dispatch_get_main_queue(), ^{\n-            self.finished = TRUE;\n-            [[NSNotificationCenter defaultCenter] postNotificationName:@\"refreshTable\" object:nil];\n+    mk::ooni::TcpConnect()\n+        .set_options(\"port\", \"80\")","path":"NetProbe/Model/NetworkMeasurement.mm","position":282,"original_position":282,"commit_id":"3b94dda333829c84d515dde6defc5d2df37e757f","original_commit_id":"3b94dda333829c84d515dde6defc5d2df37e757f","user":{"login":"bassosimone","id":337298,"avatar_url":"https://avatars.githubusercontent.com/u/337298?v=3","gravatar_id":"","url":"https://api.github.com/users/bassosimone","html_url":"https://github.com/bassosimone","followers_url":"https://api.github.com/users/bassosimone/followers","following_url":"https://api.github.com/users/bassosimone/following{/other_user}","gists_url":"https://api.github.com/users/bassosimone/gists{/gist_id}","starred_url":"https://api.github.com/users/bassosimone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bassosimone/subscriptions","organizations_url":"https://api.github.com/users/bassosimone/orgs","repos_url":"https://api.github.com/users/bassosimone/repos","events_url":"https://api.github.com/users/bassosimone/events{/privacy}","received_events_url":"https://api.github.com/users/bassosimone/received_events","type":"User","site_admin":false},"body":"Note to self: here we can pass port as integer","created_at":"2016-07-08T13:38:05Z","updated_at":"2016-07-08T13:38:05Z","html_url":"https://github.com/measurement-kit/measurement-kit-app-ios/pull/32#discussion_r70074487","pull_request_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/32","_links":{"self":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/comments/70074487"},"html":{"href":"https://github.com/measurement-kit/measurement-kit-app-ios/pull/32#discussion_r70074487"},"pull_request":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/32"}}},"pull_request":{"url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/32","id":72961793,"html_url":"https://github.com/measurement-kit/measurement-kit-app-ios/pull/32","diff_url":"https://github.com/measurement-kit/measurement-kit-app-ios/pull/32.diff","patch_url":"https://github.com/measurement-kit/measurement-kit-app-ios/pull/32.patch","issue_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues/32","number":32,"state":"open","locked":false,"title":"Mk 0.2","user":{"login":"bassosimone","id":337298,"avatar_url":"https://avatars.githubusercontent.com/u/337298?v=3","gravatar_id":"","url":"https://api.github.com/users/bassosimone","html_url":"https://github.com/bassosimone","followers_url":"https://api.github.com/users/bassosimone/followers","following_url":"https://api.github.com/users/bassosimone/following{/other_user}","gists_url":"https://api.github.com/users/bassosimone/gists{/gist_id}","starred_url":"https://api.github.com/users/bassosimone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bassosimone/subscriptions","organizations_url":"https://api.github.com/users/bassosimone/orgs","repos_url":"https://api.github.com/users/bassosimone/repos","events_url":"https://api.github.com/users/bassosimone/events{/privacy}","received_events_url":"https://api.github.com/users/bassosimone/received_events","type":"User","site_admin":false},"body":"This branch is not ready to be merged yet. It contains changes to the app caused by updating MK to 0.2.0-beta. I have already applied changes so the app compiles. I have also smoke tested the code using the emulator and, while at it, I've started making a list of things to do next:\r\n\r\n- [ ] make sure files are actually written on disk so they are also sent to OONI's collector\r\n- [x] add geoip files as resources so that geolocation works\r\n- [x] understand whether dns_injection requires a DNS server to be used for auxiliary operations","created_at":"2016-06-07T22:51:29Z","updated_at":"2016-07-08T13:38:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7f6ece6a6a482706cd10278217514e1a6b020acd","assignee":{"login":"bassosimone","id":337298,"avatar_url":"https://avatars.githubusercontent.com/u/337298?v=3","gravatar_id":"","url":"https://api.github.com/users/bassosimone","html_url":"https://github.com/bassosimone","followers_url":"https://api.github.com/users/bassosimone/followers","following_url":"https://api.github.com/users/bassosimone/following{/other_user}","gists_url":"https://api.github.com/users/bassosimone/gists{/gist_id}","starred_url":"https://api.github.com/users/bassosimone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bassosimone/subscriptions","organizations_url":"https://api.github.com/users/bassosimone/orgs","repos_url":"https://api.github.com/users/bassosimone/repos","events_url":"https://api.github.com/users/bassosimone/events{/privacy}","received_events_url":"https://api.github.com/users/bassosimone/received_events","type":"User","site_admin":false},"assignees":[{"login":"bassosimone","id":337298,"avatar_url":"https://avatars.githubusercontent.com/u/337298?v=3","gravatar_id":"","url":"https://api.github.com/users/bassosimone","html_url":"https://github.com/bassosimone","followers_url":"https://api.github.com/users/bassosimone/followers","following_url":"https://api.github.com/users/bassosimone/following{/other_user}","gists_url":"https://api.github.com/users/bassosimone/gists{/gist_id}","starred_url":"https://api.github.com/users/bassosimone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bassosimone/subscriptions","organizations_url":"https://api.github.com/users/bassosimone/orgs","repos_url":"https://api.github.com/users/bassosimone/repos","events_url":"https://api.github.com/users/bassosimone/events{/privacy}","received_events_url":"https://api.github.com/users/bassosimone/received_events","type":"User","site_admin":false},{"login":"lorenzoPrimi","id":1616097,"avatar_url":"https://avatars.githubusercontent.com/u/1616097?v=3","gravatar_id":"","url":"https://api.github.com/users/lorenzoPrimi","html_url":"https://github.com/lorenzoPrimi","followers_url":"https://api.github.com/users/lorenzoPrimi/followers","following_url":"https://api.github.com/users/lorenzoPrimi/following{/other_user}","gists_url":"https://api.github.com/users/lorenzoPrimi/gists{/gist_id}","starred_url":"https://api.github.com/users/lorenzoPrimi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lorenzoPrimi/subscriptions","organizations_url":"https://api.github.com/users/lorenzoPrimi/orgs","repos_url":"https://api.github.com/users/lorenzoPrimi/repos","events_url":"https://api.github.com/users/lorenzoPrimi/events{/privacy}","received_events_url":"https://api.github.com/users/lorenzoPrimi/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/32/commits","review_comments_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/32/comments","review_comment_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/comments{/number}","comments_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues/32/comments","statuses_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/statuses/3b94dda333829c84d515dde6defc5d2df37e757f","head":{"label":"measurement-kit:mk-0.2-beta","ref":"mk-0.2-beta","sha":"3b94dda333829c84d515dde6defc5d2df37e757f","user":{"login":"measurement-kit","id":11982841,"avatar_url":"https://avatars.githubusercontent.com/u/11982841?v=3","gravatar_id":"","url":"https://api.github.com/users/measurement-kit","html_url":"https://github.com/measurement-kit","followers_url":"https://api.github.com/users/measurement-kit/followers","following_url":"https://api.github.com/users/measurement-kit/following{/other_user}","gists_url":"https://api.github.com/users/measurement-kit/gists{/gist_id}","starred_url":"https://api.github.com/users/measurement-kit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/measurement-kit/subscriptions","organizations_url":"https://api.github.com/users/measurement-kit/orgs","repos_url":"https://api.github.com/users/measurement-kit/repos","events_url":"https://api.github.com/users/measurement-kit/events{/privacy}","received_events_url":"https://api.github.com/users/measurement-kit/received_events","type":"Organization","site_admin":false},"repo":{"id":29436244,"name":"measurement-kit-app-ios","full_name":"measurement-kit/measurement-kit-app-ios","owner":{"login":"measurement-kit","id":11982841,"avatar_url":"https://avatars.githubusercontent.com/u/11982841?v=3","gravatar_id":"","url":"https://api.github.com/users/measurement-kit","html_url":"https://github.com/measurement-kit","followers_url":"https://api.github.com/users/measurement-kit/followers","following_url":"https://api.github.com/users/measurement-kit/following{/other_user}","gists_url":"https://api.github.com/users/measurement-kit/gists{/gist_id}","starred_url":"https://api.github.com/users/measurement-kit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/measurement-kit/subscriptions","organizations_url":"https://api.github.com/users/measurement-kit/orgs","repos_url":"https://api.github.com/users/measurement-kit/repos","events_url":"https://api.github.com/users/measurement-kit/events{/privacy}","received_events_url":"https://api.github.com/users/measurement-kit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/measurement-kit/measurement-kit-app-ios","description":"MeasurementKit iOS App","fork":false,"url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios","forks_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/forks","keys_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/keys{/key_id}","collaborators_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/teams","hooks_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/hooks","issue_events_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues/events{/number}","events_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/events","assignees_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/assignees{/user}","branches_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/branches{/branch}","tags_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/tags","blobs_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/refs{/sha}","trees_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/trees{/sha}","statuses_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/statuses/{sha}","languages_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/languages","stargazers_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/stargazers","contributors_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/contributors","subscribers_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/subscribers","subscription_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/subscription","commits_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/commits{/sha}","git_commits_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/commits{/sha}","comments_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/comments{/number}","issue_comment_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues/comments{/number}","contents_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/contents/{+path}","compare_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/compare/{base}...{head}","merges_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/merges","archive_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/downloads","issues_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues{/number}","pulls_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls{/number}","milestones_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/milestones{/number}","notifications_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/labels{/name}","releases_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/releases{/id}","deployments_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/deployments","created_at":"2015-01-18T18:38:09Z","updated_at":"2016-07-03T20:05:54Z","pushed_at":"2016-07-04T15:18:41Z","git_url":"git://github.com/measurement-kit/measurement-kit-app-ios.git","ssh_url":"git@github.com:measurement-kit/measurement-kit-app-ios.git","clone_url":"https://github.com/measurement-kit/measurement-kit-app-ios.git","svn_url":"https://github.com/measurement-kit/measurement-kit-app-ios","homepage":"https://measurement-kit.github.io/","size":32532,"stargazers_count":4,"watchers_count":4,"language":"Objective-C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":4,"default_branch":"master"}},"base":{"label":"measurement-kit:master","ref":"master","sha":"cd462ab547b5ee27dbcef1e91c548fe78eea03de","user":{"login":"measurement-kit","id":11982841,"avatar_url":"https://avatars.githubusercontent.com/u/11982841?v=3","gravatar_id":"","url":"https://api.github.com/users/measurement-kit","html_url":"https://github.com/measurement-kit","followers_url":"https://api.github.com/users/measurement-kit/followers","following_url":"https://api.github.com/users/measurement-kit/following{/other_user}","gists_url":"https://api.github.com/users/measurement-kit/gists{/gist_id}","starred_url":"https://api.github.com/users/measurement-kit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/measurement-kit/subscriptions","organizations_url":"https://api.github.com/users/measurement-kit/orgs","repos_url":"https://api.github.com/users/measurement-kit/repos","events_url":"https://api.github.com/users/measurement-kit/events{/privacy}","received_events_url":"https://api.github.com/users/measurement-kit/received_events","type":"Organization","site_admin":false},"repo":{"id":29436244,"name":"measurement-kit-app-ios","full_name":"measurement-kit/measurement-kit-app-ios","owner":{"login":"measurement-kit","id":11982841,"avatar_url":"https://avatars.githubusercontent.com/u/11982841?v=3","gravatar_id":"","url":"https://api.github.com/users/measurement-kit","html_url":"https://github.com/measurement-kit","followers_url":"https://api.github.com/users/measurement-kit/followers","following_url":"https://api.github.com/users/measurement-kit/following{/other_user}","gists_url":"https://api.github.com/users/measurement-kit/gists{/gist_id}","starred_url":"https://api.github.com/users/measurement-kit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/measurement-kit/subscriptions","organizations_url":"https://api.github.com/users/measurement-kit/orgs","repos_url":"https://api.github.com/users/measurement-kit/repos","events_url":"https://api.github.com/users/measurement-kit/events{/privacy}","received_events_url":"https://api.github.com/users/measurement-kit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/measurement-kit/measurement-kit-app-ios","description":"MeasurementKit iOS App","fork":false,"url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios","forks_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/forks","keys_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/keys{/key_id}","collaborators_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/teams","hooks_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/hooks","issue_events_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues/events{/number}","events_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/events","assignees_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/assignees{/user}","branches_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/branches{/branch}","tags_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/tags","blobs_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/refs{/sha}","trees_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/trees{/sha}","statuses_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/statuses/{sha}","languages_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/languages","stargazers_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/stargazers","contributors_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/contributors","subscribers_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/subscribers","subscription_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/subscription","commits_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/commits{/sha}","git_commits_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/git/commits{/sha}","comments_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/comments{/number}","issue_comment_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues/comments{/number}","contents_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/contents/{+path}","compare_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/compare/{base}...{head}","merges_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/merges","archive_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/downloads","issues_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues{/number}","pulls_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls{/number}","milestones_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/milestones{/number}","notifications_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/labels{/name}","releases_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/releases{/id}","deployments_url":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/deployments","created_at":"2015-01-18T18:38:09Z","updated_at":"2016-07-03T20:05:54Z","pushed_at":"2016-07-04T15:18:41Z","git_url":"git://github.com/measurement-kit/measurement-kit-app-ios.git","ssh_url":"git@github.com:measurement-kit/measurement-kit-app-ios.git","clone_url":"https://github.com/measurement-kit/measurement-kit-app-ios.git","svn_url":"https://github.com/measurement-kit/measurement-kit-app-ios","homepage":"https://measurement-kit.github.io/","size":32532,"stargazers_count":4,"watchers_count":4,"language":"Objective-C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/32"},"html":{"href":"https://github.com/measurement-kit/measurement-kit-app-ios/pull/32"},"issue":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues/32"},"comments":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/issues/32/comments"},"review_comments":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/32/comments"},"review_comment":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/pulls/32/commits"},"statuses":{"href":"https://api.github.com/repos/measurement-kit/measurement-kit-app-ios/statuses/3b94dda333829c84d515dde6defc5d2df37e757f"}}}}
{"actor":{"display_login":"bassosimone"}}