{"action":"created","issue":{"url":"https://api.github.com/repos/exercism/xhaskell/issues/190","repository_url":"https://api.github.com/repos/exercism/xhaskell","labels_url":"https://api.github.com/repos/exercism/xhaskell/issues/190/labels{/name}","comments_url":"https://api.github.com/repos/exercism/xhaskell/issues/190/comments","events_url":"https://api.github.com/repos/exercism/xhaskell/issues/190/events","html_url":"https://github.com/exercism/xhaskell/issues/190","id":164700250,"number":190,"title":"tests: fail-fast the test suites by default","user":{"login":"rbasso","id":16487165,"avatar_url":"https://avatars.githubusercontent.com/u/16487165?v=3","gravatar_id":"","url":"https://api.github.com/users/rbasso","html_url":"https://github.com/rbasso","followers_url":"https://api.github.com/users/rbasso/followers","following_url":"https://api.github.com/users/rbasso/following{/other_user}","gists_url":"https://api.github.com/users/rbasso/gists{/gist_id}","starred_url":"https://api.github.com/users/rbasso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbasso/subscriptions","organizations_url":"https://api.github.com/users/rbasso/orgs","repos_url":"https://api.github.com/users/rbasso/repos","events_url":"https://api.github.com/users/rbasso/events{/privacy}","received_events_url":"https://api.github.com/users/rbasso/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/exercism/xhaskell/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/exercism/xhaskell/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-07-10T05:27:10Z","updated_at":"2016-07-20T07:34:38Z","closed_at":null,"body":"Some test suites are designed so that more complex cases come later, allowing users to incrementally solve the exercise, test by test.\r\n\r\nI can think of three ways to deal with this usage case:\r\n\r\n- *All tests enabled by default* - This forces users to disable all the tests except the first before start solving the exercises. It's how it is now. :weary: \r\n- *All tests disable by default* - This could save work for some users, but would be inconvenient for other users and would also break *Travis-CI* automated tests. :no_entry: \r\n- *Fail-fast the tests* - If the test suite fails displaying just the first error, everyone will be happy. :white_check_mark: :smile: \r\n\r\nCurrently, all test suites use `HUnit` (*trinary* and *octal* use `QuickCheck`, but they will be deprecated by exercism/x-common#279) because it was the only thing installed with the *Haskell Platform*. If we find a beautiful solution to fail-fast `HUnit`, we can use it immediately.\r\n\r\nAlternatively, considering that we will migrate all exercises to Stack projects (#182, #189) and dependencies will not be a problem anymore, we can start to look at newer packages. I did some tests with `tasty`, `tast-hunit` and `tasty-fail-fast`, but they demand the user run the test with:\r\n\r\n```\r\nstack test --test-arguments --fail-fast\r\n```\r\n\r\nThis is great, but it would be even better to have this as the default behavior. MichaelXavier/tasty-fail-fast#2\r\n\r\nDoes anyone knows a better solution?\r\n"},"comment":{"url":"https://api.github.com/repos/exercism/xhaskell/issues/comments/233865964","html_url":"https://github.com/exercism/xhaskell/issues/190#issuecomment-233865964","issue_url":"https://api.github.com/repos/exercism/xhaskell/issues/190","id":233865964,"user":{"login":"rbasso","id":16487165,"avatar_url":"https://avatars.githubusercontent.com/u/16487165?v=3","gravatar_id":"","url":"https://api.github.com/users/rbasso","html_url":"https://github.com/rbasso","followers_url":"https://api.github.com/users/rbasso/followers","following_url":"https://api.github.com/users/rbasso/following{/other_user}","gists_url":"https://api.github.com/users/rbasso/gists{/gist_id}","starred_url":"https://api.github.com/users/rbasso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rbasso/subscriptions","organizations_url":"https://api.github.com/users/rbasso/orgs","repos_url":"https://api.github.com/users/rbasso/repos","events_url":"https://api.github.com/users/rbasso/events{/privacy}","received_events_url":"https://api.github.com/users/rbasso/received_events","type":"User","site_admin":false},"created_at":"2016-07-20T07:34:38Z","updated_at":"2016-07-20T07:34:38Z","body":"Considering that migrating to `hspec` will require completely rewriting the tests, I think this may be a good opportunity to make sure that they are idiomatic and reflect what is available in `x-common`. I'm working on a standard `Tests.hs` file to use a template.\r\n"}}
{"actor":{"display_login":"rbasso"}}