{"action":"created","comment":{"url":"https://api.github.com/repos/eth-cscs/reframe/pulls/comments/172467167","pull_request_review_id":101485011,"id":172467167,"diff_hunk":"@@ -471,26 +471,32 @@ def assert_reference(val, ref, lower_thres=None, upper_thres=None, msg=None):\n     :arg val: The value to check.\n     :arg ref: The reference value.\n     :arg lower_thres: The lower threshold value expressed as a negative decimal\n-        fraction of the reference value.  Must be in [-1, 0]. If ``None``, no\n-        lower thresholds is applied.\n+        fraction of the reference value.  Must be in [-1, 0] for ref >= 0.0 and\n+        in [-inf, 0] for ref < 0.0.\n+        If ``None``, no lower thresholds is applied.\n     :arg upper_thres: The upper threshold value expressed as a decimal fraction\n-        of the reference value.  Must be in [0, 1]. If ``None``, no upper\n-        thresholds is applied.\n+        of the reference value. Must be in [0, inf] for ref >= 0.0 and\n+        in [0, 1] for ref < 0.0.\n+        If ``None``, no upper thresholds is applied.\n     :returns: ``True`` on success.\n     :raises reframe.core.exceptions.SanityError: if assertion fails or if the\n         lower and upper thresholds do not have appropriate values.\n     \"\"\"\n     if lower_thres is not None:\n+        lower_thres_limit = -1 if ref >= 0 else None\n         try:\n-            evaluate(assert_bounded(lower_thres, -1, 0))\n+            evaluate(assert_bounded(lower_thres, lower_thres_limit, 0))\n         except SanityError:\n-            raise SanityError('invalid low threshold value: %s' % lower_thres)\n+            raise SanityError('invalid low threshold value: %s'\n+                              % lower_thres) from None\n \n     if upper_thres is not None:\n+        upper_thres_limit = None if ref >= 0 else 1\n         try:\n-            evaluate(assert_bounded(upper_thres, 0, 1))\n+            evaluate(assert_bounded(upper_thres, 0, upper_thres_limit))\n         except SanityError:\n-            raise SanityError('invalid high threshold value: %s' % upper_thres)\n+            raise SanityError('invalid high threshold value: %s'\n+                              % upper_thres) from None","path":"reframe/utility/sanity.py","position":37,"original_position":37,"commit_id":"f9534d916d79f6fe152dc92447730fd119c2ee5e","original_commit_id":"f9534d916d79f6fe152dc92447730fd119c2ee5e","user":{"login":"vkarak","id":611019,"avatar_url":"https://avatars1.githubusercontent.com/u/611019?v=4","gravatar_id":"","url":"https://api.github.com/users/vkarak","html_url":"https://github.com/vkarak","followers_url":"https://api.github.com/users/vkarak/followers","following_url":"https://api.github.com/users/vkarak/following{/other_user}","gists_url":"https://api.github.com/users/vkarak/gists{/gist_id}","starred_url":"https://api.github.com/users/vkarak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vkarak/subscriptions","organizations_url":"https://api.github.com/users/vkarak/orgs","repos_url":"https://api.github.com/users/vkarak/repos","events_url":"https://api.github.com/users/vkarak/events{/privacy}","received_events_url":"https://api.github.com/users/vkarak/received_events","type":"User","site_admin":false},"body":"We split the lines after the binary operator. [PEP8](https://www.python.org/dev/peps/pep-0008/#should-a-line-break-before-or-after-a-binary-operator) prefers splitting before but does not mandate it.","created_at":"2018-03-06T10:09:59Z","updated_at":"2018-03-06T10:09:59Z","html_url":"https://github.com/eth-cscs/reframe/pull/169#discussion_r172467167","pull_request_url":"https://api.github.com/repos/eth-cscs/reframe/pulls/169","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/eth-cscs/reframe/pulls/comments/172467167"},"html":{"href":"https://github.com/eth-cscs/reframe/pull/169#discussion_r172467167"},"pull_request":{"href":"https://api.github.com/repos/eth-cscs/reframe/pulls/169"}}},"pull_request":{"url":"https://api.github.com/repos/eth-cscs/reframe/pulls/169","id":172446041,"html_url":"https://github.com/eth-cscs/reframe/pull/169","diff_url":"https://github.com/eth-cscs/reframe/pull/169.diff","patch_url":"https://github.com/eth-cscs/reframe/pull/169.patch","issue_url":"https://api.github.com/repos/eth-cscs/reframe/issues/169","number":169,"state":"open","locked":false,"title":"Allow upper thresholds >= 1.0 in 'assert_reference'","user":{"login":"teojgo","id":20381005,"avatar_url":"https://avatars2.githubusercontent.com/u/20381005?v=4","gravatar_id":"","url":"https://api.github.com/users/teojgo","html_url":"https://github.com/teojgo","followers_url":"https://api.github.com/users/teojgo/followers","following_url":"https://api.github.com/users/teojgo/following{/other_user}","gists_url":"https://api.github.com/users/teojgo/gists{/gist_id}","starred_url":"https://api.github.com/users/teojgo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teojgo/subscriptions","organizations_url":"https://api.github.com/users/teojgo/orgs","repos_url":"https://api.github.com/users/teojgo/repos","events_url":"https://api.github.com/users/teojgo/events{/privacy}","received_events_url":"https://api.github.com/users/teojgo/received_events","type":"User","site_admin":false},"body":"Fixes #61 ","created_at":"2018-03-02T08:26:34Z","updated_at":"2018-03-06T10:09:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1c2a03c7f2dd6dd9ca3869a458d281d6f1f1e833","assignee":{"login":"teojgo","id":20381005,"avatar_url":"https://avatars2.githubusercontent.com/u/20381005?v=4","gravatar_id":"","url":"https://api.github.com/users/teojgo","html_url":"https://github.com/teojgo","followers_url":"https://api.github.com/users/teojgo/followers","following_url":"https://api.github.com/users/teojgo/following{/other_user}","gists_url":"https://api.github.com/users/teojgo/gists{/gist_id}","starred_url":"https://api.github.com/users/teojgo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teojgo/subscriptions","organizations_url":"https://api.github.com/users/teojgo/orgs","repos_url":"https://api.github.com/users/teojgo/repos","events_url":"https://api.github.com/users/teojgo/events{/privacy}","received_events_url":"https://api.github.com/users/teojgo/received_events","type":"User","site_admin":false},"assignees":[{"login":"teojgo","id":20381005,"avatar_url":"https://avatars2.githubusercontent.com/u/20381005?v=4","gravatar_id":"","url":"https://api.github.com/users/teojgo","html_url":"https://github.com/teojgo","followers_url":"https://api.github.com/users/teojgo/followers","following_url":"https://api.github.com/users/teojgo/following{/other_user}","gists_url":"https://api.github.com/users/teojgo/gists{/gist_id}","starred_url":"https://api.github.com/users/teojgo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teojgo/subscriptions","organizations_url":"https://api.github.com/users/teojgo/orgs","repos_url":"https://api.github.com/users/teojgo/repos","events_url":"https://api.github.com/users/teojgo/events{/privacy}","received_events_url":"https://api.github.com/users/teojgo/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"victorusu","id":15230430,"avatar_url":"https://avatars0.githubusercontent.com/u/15230430?v=4","gravatar_id":"","url":"https://api.github.com/users/victorusu","html_url":"https://github.com/victorusu","followers_url":"https://api.github.com/users/victorusu/followers","following_url":"https://api.github.com/users/victorusu/following{/other_user}","gists_url":"https://api.github.com/users/victorusu/gists{/gist_id}","starred_url":"https://api.github.com/users/victorusu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/victorusu/subscriptions","organizations_url":"https://api.github.com/users/victorusu/orgs","repos_url":"https://api.github.com/users/victorusu/repos","events_url":"https://api.github.com/users/victorusu/events{/privacy}","received_events_url":"https://api.github.com/users/victorusu/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":837050889,"url":"https://api.github.com/repos/eth-cscs/reframe/labels/backend","name":"backend","color":"f0ad4e","default":false},{"id":591715741,"url":"https://api.github.com/repos/eth-cscs/reframe/labels/enhancement","name":"enhancement","color":"1d76db","default":true},{"id":837048081,"url":"https://api.github.com/repos/eth-cscs/reframe/labels/prio:%20important","name":"prio: important","color":"FFB645","default":false}],"milestone":{"url":"https://api.github.com/repos/eth-cscs/reframe/milestones/1","html_url":"https://github.com/eth-cscs/reframe/milestone/1","labels_url":"https://api.github.com/repos/eth-cscs/reframe/milestones/1/labels","id":3118705,"number":1,"title":"ReFrame sprint 2018w08","description":"","creator":{"login":"vkarak","id":611019,"avatar_url":"https://avatars1.githubusercontent.com/u/611019?v=4","gravatar_id":"","url":"https://api.github.com/users/vkarak","html_url":"https://github.com/vkarak","followers_url":"https://api.github.com/users/vkarak/followers","following_url":"https://api.github.com/users/vkarak/following{/other_user}","gists_url":"https://api.github.com/users/vkarak/gists{/gist_id}","starred_url":"https://api.github.com/users/vkarak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vkarak/subscriptions","organizations_url":"https://api.github.com/users/vkarak/orgs","repos_url":"https://api.github.com/users/vkarak/repos","events_url":"https://api.github.com/users/vkarak/events{/privacy}","received_events_url":"https://api.github.com/users/vkarak/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":48,"state":"open","created_at":"2018-02-15T08:14:57Z","updated_at":"2018-03-05T15:44:00Z","due_on":"2018-03-06T08:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/eth-cscs/reframe/pulls/169/commits","review_comments_url":"https://api.github.com/repos/eth-cscs/reframe/pulls/169/comments","review_comment_url":"https://api.github.com/repos/eth-cscs/reframe/pulls/comments{/number}","comments_url":"https://api.github.com/repos/eth-cscs/reframe/issues/169/comments","statuses_url":"https://api.github.com/repos/eth-cscs/reframe/statuses/f9534d916d79f6fe152dc92447730fd119c2ee5e","head":{"label":"eth-cscs:enhancement/assert_reference_restriction","ref":"enhancement/assert_reference_restriction","sha":"f9534d916d79f6fe152dc92447730fd119c2ee5e","user":{"login":"eth-cscs","id":5744410,"avatar_url":"https://avatars0.githubusercontent.com/u/5744410?v=4","gravatar_id":"","url":"https://api.github.com/users/eth-cscs","html_url":"https://github.com/eth-cscs","followers_url":"https://api.github.com/users/eth-cscs/followers","following_url":"https://api.github.com/users/eth-cscs/following{/other_user}","gists_url":"https://api.github.com/users/eth-cscs/gists{/gist_id}","starred_url":"https://api.github.com/users/eth-cscs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eth-cscs/subscriptions","organizations_url":"https://api.github.com/users/eth-cscs/orgs","repos_url":"https://api.github.com/users/eth-cscs/repos","events_url":"https://api.github.com/users/eth-cscs/events{/privacy}","received_events_url":"https://api.github.com/users/eth-cscs/received_events","type":"Organization","site_admin":false},"repo":{"id":89384186,"name":"reframe","full_name":"eth-cscs/reframe","owner":{"login":"eth-cscs","id":5744410,"avatar_url":"https://avatars0.githubusercontent.com/u/5744410?v=4","gravatar_id":"","url":"https://api.github.com/users/eth-cscs","html_url":"https://github.com/eth-cscs","followers_url":"https://api.github.com/users/eth-cscs/followers","following_url":"https://api.github.com/users/eth-cscs/following{/other_user}","gists_url":"https://api.github.com/users/eth-cscs/gists{/gist_id}","starred_url":"https://api.github.com/users/eth-cscs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eth-cscs/subscriptions","organizations_url":"https://api.github.com/users/eth-cscs/orgs","repos_url":"https://api.github.com/users/eth-cscs/repos","events_url":"https://api.github.com/users/eth-cscs/events{/privacy}","received_events_url":"https://api.github.com/users/eth-cscs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/eth-cscs/reframe","description":"A regression testing framework to facilitate the sanity checking of HPC systems.","fork":false,"url":"https://api.github.com/repos/eth-cscs/reframe","forks_url":"https://api.github.com/repos/eth-cscs/reframe/forks","keys_url":"https://api.github.com/repos/eth-cscs/reframe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eth-cscs/reframe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eth-cscs/reframe/teams","hooks_url":"https://api.github.com/repos/eth-cscs/reframe/hooks","issue_events_url":"https://api.github.com/repos/eth-cscs/reframe/issues/events{/number}","events_url":"https://api.github.com/repos/eth-cscs/reframe/events","assignees_url":"https://api.github.com/repos/eth-cscs/reframe/assignees{/user}","branches_url":"https://api.github.com/repos/eth-cscs/reframe/branches{/branch}","tags_url":"https://api.github.com/repos/eth-cscs/reframe/tags","blobs_url":"https://api.github.com/repos/eth-cscs/reframe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eth-cscs/reframe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eth-cscs/reframe/git/refs{/sha}","trees_url":"https://api.github.com/repos/eth-cscs/reframe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eth-cscs/reframe/statuses/{sha}","languages_url":"https://api.github.com/repos/eth-cscs/reframe/languages","stargazers_url":"https://api.github.com/repos/eth-cscs/reframe/stargazers","contributors_url":"https://api.github.com/repos/eth-cscs/reframe/contributors","subscribers_url":"https://api.github.com/repos/eth-cscs/reframe/subscribers","subscription_url":"https://api.github.com/repos/eth-cscs/reframe/subscription","commits_url":"https://api.github.com/repos/eth-cscs/reframe/commits{/sha}","git_commits_url":"https://api.github.com/repos/eth-cscs/reframe/git/commits{/sha}","comments_url":"https://api.github.com/repos/eth-cscs/reframe/comments{/number}","issue_comment_url":"https://api.github.com/repos/eth-cscs/reframe/issues/comments{/number}","contents_url":"https://api.github.com/repos/eth-cscs/reframe/contents/{+path}","compare_url":"https://api.github.com/repos/eth-cscs/reframe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eth-cscs/reframe/merges","archive_url":"https://api.github.com/repos/eth-cscs/reframe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eth-cscs/reframe/downloads","issues_url":"https://api.github.com/repos/eth-cscs/reframe/issues{/number}","pulls_url":"https://api.github.com/repos/eth-cscs/reframe/pulls{/number}","milestones_url":"https://api.github.com/repos/eth-cscs/reframe/milestones{/number}","notifications_url":"https://api.github.com/repos/eth-cscs/reframe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eth-cscs/reframe/labels{/name}","releases_url":"https://api.github.com/repos/eth-cscs/reframe/releases{/id}","deployments_url":"https://api.github.com/repos/eth-cscs/reframe/deployments","created_at":"2017-04-25T16:43:23Z","updated_at":"2018-02-23T21:56:31Z","pushed_at":"2018-03-06T09:14:38Z","git_url":"git://github.com/eth-cscs/reframe.git","ssh_url":"git@github.com:eth-cscs/reframe.git","clone_url":"https://github.com/eth-cscs/reframe.git","svn_url":"https://github.com/eth-cscs/reframe","homepage":"","size":9383,"stargazers_count":3,"watchers_count":3,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":7,"mirror_url":null,"archived":false,"open_issues_count":77,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause"},"forks":7,"open_issues":77,"watchers":3,"default_branch":"master"}},"base":{"label":"eth-cscs:master","ref":"master","sha":"f0f81f2455ac18ea11fd9b51322ce950c750c37e","user":{"login":"eth-cscs","id":5744410,"avatar_url":"https://avatars0.githubusercontent.com/u/5744410?v=4","gravatar_id":"","url":"https://api.github.com/users/eth-cscs","html_url":"https://github.com/eth-cscs","followers_url":"https://api.github.com/users/eth-cscs/followers","following_url":"https://api.github.com/users/eth-cscs/following{/other_user}","gists_url":"https://api.github.com/users/eth-cscs/gists{/gist_id}","starred_url":"https://api.github.com/users/eth-cscs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eth-cscs/subscriptions","organizations_url":"https://api.github.com/users/eth-cscs/orgs","repos_url":"https://api.github.com/users/eth-cscs/repos","events_url":"https://api.github.com/users/eth-cscs/events{/privacy}","received_events_url":"https://api.github.com/users/eth-cscs/received_events","type":"Organization","site_admin":false},"repo":{"id":89384186,"name":"reframe","full_name":"eth-cscs/reframe","owner":{"login":"eth-cscs","id":5744410,"avatar_url":"https://avatars0.githubusercontent.com/u/5744410?v=4","gravatar_id":"","url":"https://api.github.com/users/eth-cscs","html_url":"https://github.com/eth-cscs","followers_url":"https://api.github.com/users/eth-cscs/followers","following_url":"https://api.github.com/users/eth-cscs/following{/other_user}","gists_url":"https://api.github.com/users/eth-cscs/gists{/gist_id}","starred_url":"https://api.github.com/users/eth-cscs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eth-cscs/subscriptions","organizations_url":"https://api.github.com/users/eth-cscs/orgs","repos_url":"https://api.github.com/users/eth-cscs/repos","events_url":"https://api.github.com/users/eth-cscs/events{/privacy}","received_events_url":"https://api.github.com/users/eth-cscs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/eth-cscs/reframe","description":"A regression testing framework to facilitate the sanity checking of HPC systems.","fork":false,"url":"https://api.github.com/repos/eth-cscs/reframe","forks_url":"https://api.github.com/repos/eth-cscs/reframe/forks","keys_url":"https://api.github.com/repos/eth-cscs/reframe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eth-cscs/reframe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eth-cscs/reframe/teams","hooks_url":"https://api.github.com/repos/eth-cscs/reframe/hooks","issue_events_url":"https://api.github.com/repos/eth-cscs/reframe/issues/events{/number}","events_url":"https://api.github.com/repos/eth-cscs/reframe/events","assignees_url":"https://api.github.com/repos/eth-cscs/reframe/assignees{/user}","branches_url":"https://api.github.com/repos/eth-cscs/reframe/branches{/branch}","tags_url":"https://api.github.com/repos/eth-cscs/reframe/tags","blobs_url":"https://api.github.com/repos/eth-cscs/reframe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eth-cscs/reframe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eth-cscs/reframe/git/refs{/sha}","trees_url":"https://api.github.com/repos/eth-cscs/reframe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eth-cscs/reframe/statuses/{sha}","languages_url":"https://api.github.com/repos/eth-cscs/reframe/languages","stargazers_url":"https://api.github.com/repos/eth-cscs/reframe/stargazers","contributors_url":"https://api.github.com/repos/eth-cscs/reframe/contributors","subscribers_url":"https://api.github.com/repos/eth-cscs/reframe/subscribers","subscription_url":"https://api.github.com/repos/eth-cscs/reframe/subscription","commits_url":"https://api.github.com/repos/eth-cscs/reframe/commits{/sha}","git_commits_url":"https://api.github.com/repos/eth-cscs/reframe/git/commits{/sha}","comments_url":"https://api.github.com/repos/eth-cscs/reframe/comments{/number}","issue_comment_url":"https://api.github.com/repos/eth-cscs/reframe/issues/comments{/number}","contents_url":"https://api.github.com/repos/eth-cscs/reframe/contents/{+path}","compare_url":"https://api.github.com/repos/eth-cscs/reframe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eth-cscs/reframe/merges","archive_url":"https://api.github.com/repos/eth-cscs/reframe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eth-cscs/reframe/downloads","issues_url":"https://api.github.com/repos/eth-cscs/reframe/issues{/number}","pulls_url":"https://api.github.com/repos/eth-cscs/reframe/pulls{/number}","milestones_url":"https://api.github.com/repos/eth-cscs/reframe/milestones{/number}","notifications_url":"https://api.github.com/repos/eth-cscs/reframe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eth-cscs/reframe/labels{/name}","releases_url":"https://api.github.com/repos/eth-cscs/reframe/releases{/id}","deployments_url":"https://api.github.com/repos/eth-cscs/reframe/deployments","created_at":"2017-04-25T16:43:23Z","updated_at":"2018-02-23T21:56:31Z","pushed_at":"2018-03-06T09:14:38Z","git_url":"git://github.com/eth-cscs/reframe.git","ssh_url":"git@github.com:eth-cscs/reframe.git","clone_url":"https://github.com/eth-cscs/reframe.git","svn_url":"https://github.com/eth-cscs/reframe","homepage":"","size":9383,"stargazers_count":3,"watchers_count":3,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":7,"mirror_url":null,"archived":false,"open_issues_count":77,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause"},"forks":7,"open_issues":77,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/eth-cscs/reframe/pulls/169"},"html":{"href":"https://github.com/eth-cscs/reframe/pull/169"},"issue":{"href":"https://api.github.com/repos/eth-cscs/reframe/issues/169"},"comments":{"href":"https://api.github.com/repos/eth-cscs/reframe/issues/169/comments"},"review_comments":{"href":"https://api.github.com/repos/eth-cscs/reframe/pulls/169/comments"},"review_comment":{"href":"https://api.github.com/repos/eth-cscs/reframe/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/eth-cscs/reframe/pulls/169/commits"},"statuses":{"href":"https://api.github.com/repos/eth-cscs/reframe/statuses/f9534d916d79f6fe152dc92447730fd119c2ee5e"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"vkarak"}}