{"action":"created","issue":{"url":"https://api.github.com/repos/ethz-asl/continuous_integration/issues/67","repository_url":"https://api.github.com/repos/ethz-asl/continuous_integration","labels_url":"https://api.github.com/repos/ethz-asl/continuous_integration/issues/67/labels{/name}","comments_url":"https://api.github.com/repos/ethz-asl/continuous_integration/issues/67/comments","events_url":"https://api.github.com/repos/ethz-asl/continuous_integration/issues/67/events","html_url":"https://github.com/ethz-asl/continuous_integration/issues/67","id":147743984,"number":67,"title":"Should c++ unit tests on Jenkins be compiled (per default) with assertions turned on? (currently they are not!)","user":{"login":"HannesSommer","id":1921422,"avatar_url":"https://avatars.githubusercontent.com/u/1921422?v=3","gravatar_id":"","url":"https://api.github.com/users/HannesSommer","html_url":"https://github.com/HannesSommer","followers_url":"https://api.github.com/users/HannesSommer/followers","following_url":"https://api.github.com/users/HannesSommer/following{/other_user}","gists_url":"https://api.github.com/users/HannesSommer/gists{/gist_id}","starred_url":"https://api.github.com/users/HannesSommer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HannesSommer/subscriptions","organizations_url":"https://api.github.com/users/HannesSommer/orgs","repos_url":"https://api.github.com/users/HannesSommer/repos","events_url":"https://api.github.com/users/HannesSommer/events{/privacy}","received_events_url":"https://api.github.com/users/HannesSommer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ethz-asl/continuous_integration/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-12T13:00:49Z","updated_at":"2016-04-22T17:29:15Z","closed_at":null,"body":"In the past we switched from Debug build to Release because some tests would run for too long in Debug build. Unfortunately compromises are not that easy.\r\n\r\nSo far I see the following options:\r\n\r\n1. introduce a specific macro to enable assertions in spite of ```NDEBUG```. Something like ```ASSERTIONS_ON```. Of course this would then not enable the c \"assert\" macro. (this can be kind of hacked for many cases, though)\r\n2. create a custom build type e.g. as described here http://stackoverflow.com/questions/11437692/how-to-add-a-custom-build-type-to-cmake-targetting-make. Should be possible via command line arguments. \r\n3. try to change the compiler flags for an existing build type but that seems to be troublesome as well (http://stackoverflow.com/questions/28732209/change-default-value-of-cmake-cxx-flags-debug-and-friends-in-cmake). \r\n\r\nIn any case we could add command line options for the continuous integration scripts such that the Jenkins configuration can switch between different testing modes. But difficult decision would then be if we should change the default from the current Release to something else ..\r\n\r\nAny comments or votes?\r\n\r\nI would vote for yes per default because a) assertions help finding bugs in the non assertion code and b) assertions can contain bugs (actually sometimes they do not even compile without somebody realizing for a while!)"},"comment":{"url":"https://api.github.com/repos/ethz-asl/continuous_integration/issues/comments/213520922","html_url":"https://github.com/ethz-asl/continuous_integration/issues/67#issuecomment-213520922","issue_url":"https://api.github.com/repos/ethz-asl/continuous_integration/issues/67","id":213520922,"user":{"login":"HannesSommer","id":1921422,"avatar_url":"https://avatars.githubusercontent.com/u/1921422?v=3","gravatar_id":"","url":"https://api.github.com/users/HannesSommer","html_url":"https://github.com/HannesSommer","followers_url":"https://api.github.com/users/HannesSommer/followers","following_url":"https://api.github.com/users/HannesSommer/following{/other_user}","gists_url":"https://api.github.com/users/HannesSommer/gists{/gist_id}","starred_url":"https://api.github.com/users/HannesSommer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HannesSommer/subscriptions","organizations_url":"https://api.github.com/users/HannesSommer/orgs","repos_url":"https://api.github.com/users/HannesSommer/repos","events_url":"https://api.github.com/users/HannesSommer/events{/privacy}","received_events_url":"https://api.github.com/users/HannesSommer/received_events","type":"User","site_admin":false},"created_at":"2016-04-22T17:29:15Z","updated_at":"2016-04-22T17:29:15Z","body":"@ethz-asl/lab-ci-admins @ethz-asl/continuous_integration, any objections against PR #68 (basically turn on the new cpp macro `ALWAYS_ASSERT` for all jenkins catkin builds) ?\r\n\r\n(Together with  ethz-asl/Schweizer-Messer#162 the PR #68 would solve this issue #67 for team EUROPA2 :) )\r\n"}}