{"issue":{"milestone":null,"user":{"login":"jcreus","id":1214007,"url":"https://api.github.com/users/jcreus","avatar_url":"https://secure.gravatar.com/avatar/2c780d2a843cc987a37af13ad65cd024?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2c780d2a843cc987a37af13ad65cd024"},"title":"GCI Work - Slow functions","created_at":"2011-12-07T21:16:15Z","labels":[{"name":"GCI","url":"https://api.github.com/repos/sympy/sympy/labels/GCI","color":"e102d8"}],"updated_at":"2011-12-19T13:08:28Z","state":"open","id":2480167,"pull_request":{"patch_url":"https://github.com/sympy/sympy/pull/829.patch","html_url":"https://github.com/sympy/sympy/pull/829","diff_url":"https://github.com/sympy/sympy/pull/829.diff"},"html_url":"https://github.com/sympy/sympy/issues/829","closed_at":null,"body":"GCI task: http://www.google-melange.com/gci/task/view/google/gci2011/7114334\r\n\r\nI have implemented a better handling of slow functions. That begins by setting a SLOW decorator, located on pytest.py. It also requires the doc of the slow function to begin with SLOW. An example slow function would be:\r\n\r\n```python\r\n@SLOW\r\ndef hi():\r\n      \"SLOW. (It does bla, bla, bla)\"\r\n      pass\r\n```\r\n\r\nit also includes two commandline arguments: --slow and --timeout.\r\n\r\nSlow indicates that only the slow tests must be run. Timeout sets a timeout after which a slow function will be skipped. In case slow isn't given, any slow function will be automatically skipped. The timeout is by default 30 seconds. It can be set to either another number or 'none' for an infinite timeout.\r\n\r\nIt also allows KeyboardInterrupt to be triggered while in a slow function, and it will only skip that function continuing the rest.\r\n\r\nIt is necessary for functions to include SLOW inside the doc, for it is impossible to know which decorators a function has (you don't know exactly if it's XFAIL or SLOW, since they are in the same file).\r\n\r\nSlow functions should begin to be ported to that system. By now, I have only implemented the \"infrastructure\" - then functions which right now skipped should be moved to that system.","number":829,"url":"https://api.github.com/repos/sympy/sympy/issues/829","comments":40,"assignee":null},"comment":{"user":{"login":"jcreus","id":1214007,"url":"https://api.github.com/users/jcreus","avatar_url":"https://secure.gravatar.com/avatar/2c780d2a843cc987a37af13ad65cd024?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2c780d2a843cc987a37af13ad65cd024"},"created_at":"2011-12-19T13:08:28Z","updated_at":"2011-12-19T13:08:28Z","id":3202888,"body":"I marked them as slow. Before, they had something like skip(\"Takes too much time\") but I turned it to the slow decorator.\r\n\r\nThanks for the tracebacks. Now investigating...","url":"https://api.github.com/repos/sympy/sympy/issues/comments/3202888"},"action":"created"}