{"action":"created","issue":{"url":"https://api.github.com/repos/blaze/blaze/issues/1247","labels_url":"https://api.github.com/repos/blaze/blaze/issues/1247/labels{/name}","comments_url":"https://api.github.com/repos/blaze/blaze/issues/1247/comments","events_url":"https://api.github.com/repos/blaze/blaze/issues/1247/events","html_url":"https://github.com/blaze/blaze/pull/1247","id":106422655,"number":1247,"title":"Fix for issue #1240.","user":{"login":"kwmsmith","id":288771,"avatar_url":"https://avatars.githubusercontent.com/u/288771?v=3","gravatar_id":"","url":"https://api.github.com/users/kwmsmith","html_url":"https://github.com/kwmsmith","followers_url":"https://api.github.com/users/kwmsmith/followers","following_url":"https://api.github.com/users/kwmsmith/following{/other_user}","gists_url":"https://api.github.com/users/kwmsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/kwmsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwmsmith/subscriptions","organizations_url":"https://api.github.com/users/kwmsmith/orgs","repos_url":"https://api.github.com/users/kwmsmith/repos","events_url":"https://api.github.com/users/kwmsmith/events{/privacy}","received_events_url":"https://api.github.com/users/kwmsmith/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/blaze/blaze/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"cpcloud","id":417981,"avatar_url":"https://avatars.githubusercontent.com/u/417981?v=3","gravatar_id":"","url":"https://api.github.com/users/cpcloud","html_url":"https://github.com/cpcloud","followers_url":"https://api.github.com/users/cpcloud/followers","following_url":"https://api.github.com/users/cpcloud/following{/other_user}","gists_url":"https://api.github.com/users/cpcloud/gists{/gist_id}","starred_url":"https://api.github.com/users/cpcloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpcloud/subscriptions","organizations_url":"https://api.github.com/users/cpcloud/orgs","repos_url":"https://api.github.com/users/cpcloud/repos","events_url":"https://api.github.com/users/cpcloud/events{/privacy}","received_events_url":"https://api.github.com/users/cpcloud/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2015-09-14T20:36:06Z","updated_at":"2015-09-15T14:08:35Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/blaze/blaze/pulls/1247","html_url":"https://github.com/blaze/blaze/pull/1247","diff_url":"https://github.com/blaze/blaze/pull/1247.diff","patch_url":"https://github.com/blaze/blaze/pull/1247.patch"},"body":"Calling `_str()` on a tuple of expressions triggers a `__repr__` call on\r\neach element, resulting in unnecessary computation.\r\n\r\nThis fix detects when stringifying a tuple of exprs, and calls `_str()`\r\nrecursively in that case."},"comment":{"url":"https://api.github.com/repos/blaze/blaze/issues/comments/140404899","html_url":"https://github.com/blaze/blaze/pull/1247#issuecomment-140404899","issue_url":"https://api.github.com/repos/blaze/blaze/issues/1247","id":140404899,"user":{"login":"kwmsmith","id":288771,"avatar_url":"https://avatars.githubusercontent.com/u/288771?v=3","gravatar_id":"","url":"https://api.github.com/users/kwmsmith","html_url":"https://github.com/kwmsmith","followers_url":"https://api.github.com/users/kwmsmith/followers","following_url":"https://api.github.com/users/kwmsmith/following{/other_user}","gists_url":"https://api.github.com/users/kwmsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/kwmsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwmsmith/subscriptions","organizations_url":"https://api.github.com/users/kwmsmith/orgs","repos_url":"https://api.github.com/users/kwmsmith/repos","events_url":"https://api.github.com/users/kwmsmith/events{/privacy}","received_events_url":"https://api.github.com/users/kwmsmith/received_events","type":"User","site_admin":false},"created_at":"2015-09-15T14:08:35Z","updated_at":"2015-09-15T14:08:35Z","body":"The generated symbol name appears to be test order dependent.  When I run the standard testsuite command (`py.test --doctest-modules --pyargs blaze`) it's assigned `_179`, and when I run `py.test -x --pyargs blaze`, it's assigned `_177`:\r\n\r\n```\r\n$ py.test --doctest-modules --pyargs blaze\r\n\r\n[...]\r\n=============================================================== FAILURES ===============================================================\r\n________________________________________________________ test_str_does_not_repr ________________________________________________________\r\n\r\n    def test_str_does_not_repr():\r\n        # see GH issue #1240.\r\n        d = Data([('aa', 1), ('b', 2)], dshape='2 * {a: string, b: int64}')\r\n        expr = transform(d, c=d.a.strlen() + d.b)\r\n>       assert str(expr) == \"Merge(_child=_149, children=(_149, label(strlen(_child=_149.a) + _149.b, 'c')))\"\r\nE       assert \"Merge(_child...179.b, 'c')))\" == \"Merge(_child=...149.b, 'c')))\"\r\nE         - Merge(_child=_179, children=(_179, label(strlen(_child=_179.a) + _179.b, 'c')))\r\nE         ?                ^               ^                         ^         ^\r\nE         + Merge(_child=_149, children=(_149, label(strlen(_child=_149.a) + _149.b, 'c')))\r\nE         ?                ^               ^                         ^         ^\r\n\r\nblaze/tests/test_interactive.py:102: AssertionError\r\n========================== 1 failed, 1014 passed, 44 skipped, 27 xfailed, 3 xpassed, 2 error in 12.33 seconds ==========================\r\n```\r\n\r\nAnd:\r\n\r\n```\r\n$ py.test -x --pyargs blaze\r\n[...]\r\n=============================================================== FAILURES ===============================================================\r\n________________________________________________________ test_str_does_not_repr ________________________________________________________\r\n\r\n    def test_str_does_not_repr():\r\n        # see GH issue #1240.\r\n        d = Data([('aa', 1), ('b', 2)], dshape='2 * {a: string, b: int64}')\r\n        expr = transform(d, c=d.a.strlen() + d.b)\r\n>       assert str(expr) == \"Merge(_child=_149, children=(_149, label(strlen(_child=_149.a) + _149.b, 'c')))\"\r\nE       assert \"Merge(_child...177.b, 'c')))\" == \"Merge(_child=...149.b, 'c')))\"\r\nE         - Merge(_child=_177, children=(_177, label(strlen(_child=_177.a) + _177.b, 'c')))\r\nE         ?                ^^              ^^                        ^^        ^^\r\nE         + Merge(_child=_149, children=(_149, label(strlen(_child=_149.a) + _149.b, 'c')))\r\nE         ?                ^^              ^^                        ^^        ^^\r\n\r\nblaze/tests/test_interactive.py:102: AssertionError\r\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n=============================== 1 failed, 819 passed, 41 skipped, 26 xfailed, 2 xpassed in 11.44 seconds ===============================\r\n```"}}