| 03:26.50 | brlcad | starseeker: sorry, I had to take a break from it -- filed a bug report |
| 03:27.56 | brlcad | pretty certain I found the cause, just spent hours trying to find a workaround |
| 06:16.04 | *** join/#brlcad merzo (~merzo@80-29-133-95.pool.ukrtel.net) | |
| 06:29.00 | *** join/#brlcad amarjeet (~amarjeet@202.164.53.117) | |
| 06:41.50 | brlcad | spectacular... cmake segfaulted |
| 06:42.11 | brlcad | finally devised a workaround, terrible but working |
| 07:27.01 | Notify | 03BRL-CAD:brlcad * 68968 brlcad/trunk/CMakeLists.txt: after MUCH thrashing, here is a rewrite the add_test() wrapper that fixes a problem with the previous version. previous was not actually handling empty strings, which are used by a significant number of our tests. it was silently not passing them to the test program. turns out that cmake really does not like consistently dealing with empty string/list elements |
| 07:27.03 | Notify | and loses it once we're in the wrapper. once it's processed into list form (e.g., ARGV/ARGN), it gets ignored by _add_test(). this may be due to cmake_parse_arguments() being used within _add_test() which also unexpectedly ignores empty list elements. reported behavior as bug to upstream.after much trial and error (more error than trial), a workaround was finally found and is implemented here. basically, we |
| 07:27.05 | Notify | reconstruct an invocation of add_test() in the wrapper so empty strings are passed as such, not via a list. this is fugly and inane and would be fragile, but there are a couple protections included that greatly help future-proof the wrapper. other comments should also help the next dev figure out what's going on.... |
| 07:29.06 | Notify | 03BRL-CAD:brlcad * 68969 brlcad/trunk/src/libbu/tests/CMakeLists.txt: reorganize the booleanize tests a little bit for clarity. add another arg indicating the expected output result. |
| 07:30.37 | Notify | 03BRL-CAD:brlcad * 68970 brlcad/trunk/src/libbu/tests/bu_booleanize.c: rewicker that booleanize test to not rely on some built-in notion of true or false that can become inconsistent with what libbu defines. just make it take the expected result as input, then test and compare. |
| 07:31.47 | Notify | 03BRL-CAD:brlcad * 68971 brlcad/trunk/include/bu/str.h: clarify that empty strings are whitespace-trimmed |
| 07:46.52 | *** join/#brlcad kintel (~kintel@unaffiliated/kintel) | |
| 08:14.50 | *** join/#brlcad merzo (~merzo@user-94-45-58-138-1.skif.com.ua) | |
| 08:37.31 | *** join/#brlcad merzo (~merzo@92.60.189.225) | |
| 09:03.42 | *** join/#brlcad kintel (~kintel@unaffiliated/kintel) | |
| 10:30.45 | Notify | 03BRL-CAD:ZitarMorningStar * 0 /wiki/User:ZitarMorningStar: |
| 12:15.40 | *** join/#brlcad Caterpillar (~caterpill@unaffiliated/caterpillar) | |
| 13:30.41 | *** join/#brlcad yorik (~yorik@2804:431:f721:d5eb:290:f5ff:fedc:3bb2) | |
| 14:43.28 | *** join/#brlcad kintel (~kintel@unaffiliated/kintel) | |
| 14:59.59 | starseeker | brlcad: one way we might avoid the problem would be to have add_test maintain a list in CMake land of all defined targets - our adding to unit and check is based on name, so we could just post-process the list after all tests are added |
| 15:00.23 | starseeker | pwd |
| 15:01.21 | Notify | 03BRL-CAD:starseeker * 68972 brlcad/trunk/misc/CMake/FindUUID.cmake: ws |
| 15:04.38 | starseeker | has other things he needs to add to CMake to avoid the need for the _ prefix redefinition - I'll add that to the list |
| 15:05.23 | Notify | 03BRL-CAD:starseeker * 68973 brlcad/trunk/src/libbu/CMakeLists.txt: Only use UUID_INCLUDE_DIR if it's valid |
| 15:11.42 | *** join/#brlcad amarjeet (~Amarjeet@169.149.136.110) | |
| 15:22.45 | *** join/#brlcad kintel (~kintel@unaffiliated/kintel) | |
| 15:23.02 | *** join/#brlcad amarjeet (~Amarjeet@169.149.136.110) | |
| 15:35.30 | brlcad | starseeker: that would be a good fix this particular case .. what about scripting something around: ${CMAKE_COMMAND} --build . --target help |
| 15:36.06 | brlcad | could create a function like "get_targets()" to get the current list |
| 15:57.38 | starseeker | brlcad: the trick is we need the list before the CMake configure is fully complete, and I don't know if CMAKE_COMMAND would report correctly before the final CMake generation |
| 15:57.54 | starseeker | brlcad: I posted to the list to see if that information is available somewhere |
| 15:58.50 | starseeker | there is of course the possibility of just manually adding each test to the check/unit dependencies, but imho that won't scale |
| 16:07.03 | *** join/#brlcad Caterpillar (~caterpill@unaffiliated/caterpillar) | |
| 19:18.00 | brlcad | ahh, good point .. can't run cmake yet |
| 19:18.14 | brlcad | agrees the latter doesn't scale |
| 20:01.02 | *** join/#brlcad Guest33108 (~joel@dhcp-004073.ics.uci.edu) | |
| 21:40.02 | Notify | 03BRL-CAD:starseeker * 68974 (brlcad/trunk/include/nmg.h brlcad/trunk/include/rt/nmg.h and 105 others): Well, that was amazingly painful. Get all rt_vlblock_init calls up out of the nmg code. Removing RTG.rtg_vlfree as a global variable access flowed up through a lot of calling functions, which in turn required updating code calling them. |
| 21:41.22 | starseeker | brlcad: that may not be minimally impacting, but it was enough work I had to try - it's one of the preliminary moves needed for relocating the nmg code out of librt |
| 22:08.21 | *** join/#brlcad merzo (~merzo@93-195-113-92.pool.ukrtel.net) | |
| 22:16.46 | *** join/#brlcad kintel (~kintel@unaffiliated/kintel) | |
| 23:51.37 | Notify | 03BRL-CAD:ejno * 68975 brlcad/trunk/src/libbu/color.c: only check errno if the return value of strtol()/strtod() is exactly 0.0 |