From: Wheeler, F. W \(G. Research\) <wh...@cr...> - 2006-07-02 16:59:43
|
Brad, If you don't have an easy answer to this I'll re-send to the CMake list. I would like to increase the warning/error count limit up from 50 for = VXL and our internal builds. I think the only way to do this is to add = lines like these SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 200) SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 200) to CTestCustom.ctest at the top level of the build tree. This is tricky = to do since with a ctest script the build dir is created by ctest and = for nightly builds if you do SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE) then the build dir is removed along with CTestCustom.ctest. Do I understand this correctly? Is there some way to get ctest to find = a CTestCustom.ctest file somewhere else? Is there some way to set = CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS in the ctest script file that = I'm not away of? It seems you can initialize the cache and set = environment variables in a ctest script, but not set up a = CTestCustom.ctest file. In case it is helpful, for all of my VXL dashboard builds, you can click = on the build note to see the ctest script used for the build. Fred > -----Original Message----- > From: vxl...@li... > [mailto:vxl...@li...]On > Behalf Of Brad > King > Sent: Sunday, July 02, 2006 12:13 PM > To: p.v...@ie... > Cc: vxl maintainers > Subject: Re: [Vxl-maintainers] limit on Dashboard build warnings: a > problem? > > > Peter Vanroose wrote: > > The dashboard is currently facing the problem that only > warnings from v3p/netlib & v3p/tif are > > visible, while we are more interested in subsequent ones! > > > > E.g., on the FreeBSD-6.1_gcc-4.1.0 build, the last line of > the "Warnings" screen says: > > > > File: v3p/tiff/tif_dirread.c Line: 87 > > /.../vxl_src/v3p/tiff/tif_dirread.c:87: warning: 'dv' may > be used uninitialized in this function > > The maximum number of reported warnings or errors has been > reached!!! > > > > Apparently most other dashboard builds have this limit of > 50 warnings. > > Which of the following "solutions" would be most appropriate? > > > > - correct all those warnings in v3p, making it less > "standard", i.e., less 3rd party. > > - switch off warnings in v3p (either through some CMake > functionality, or through Dart? Or in the > > source code? Problem: compiler & platform specific switches?) > > - remove the limit of 50 warnings; problem: again, compiler > specific? second problem: storage & > > communication overhead for Dart; third problem: more > difficult to immediately spot "real" problems > > in vxl/core > > - Add a column to the Dashboard with just the vxl/core warnings? > > The warnings are due to my netlib changes. They are all in > f2c-generated code which is not really 3rd party. I'm planning to > correct the code and/or disable warnings in the v3p/netlib directory. > > The 50-warning limit was added to ctest to avoid huge disk space > requirements on the Dart server. The idea is that when code is > maintained well enough to keep the warnings at zero normally, new > warnings will appear in the first 50. I've just been slow to fix the > new netlib warnings, for which I apologize. > > -Brad > > > Using Tomcat but need to do more? Need to support web > services, security? > Get stuff done quickly with pre-integrated technology to make > your job easier > Download IBM WebSphere Application Server v.1.0.1 based on > Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057& dat=3D121642 _______________________________________________ Vxl-maintainers mailing list Vxl...@li... https://lists.sourceforge.net/lists/listinfo/vxl-maintainers |
From: Wheeler, F. W \(G. Research\) <wh...@cr...> - 2006-07-02 19:15:24
|
Brad, I just took another look and I see that I've already done this for one = of our internal projects. We use this in a CmakeLists.txt file: OPTION( BUILD_TESTING "Should the GEVXL tests be built?" YES ) IF( BUILD_TESTING ) ENABLE_TESTING() # copy CTestCustom.ctest to top of build tree # CMAKE_CACHEFILE_DIR should be root of build tree whether building # from top dir or from gevxl CONFIGURE_FILE(${gevxlnew_SOURCE_DIR}/CTestCustom.ctest ${CMAKE_CACHEFILE_DIR}/CTestCustom.ctest COPYONLY) ENDIF( BUILD_TESTING ) to successfully copy CTestCustom.ctest from the source tree to the top = of the build tree. I can see it in the build tree. However, it does = not affect nightly builds and does not affect the first continuous = build. It does work for subsequent builds of a continuous build tree. = Since ctest, via the ctest script, is running cmake, which copies this = config file, perhaps the problem is that the file gets moved too late = for ctest to read and use it? Like this: 1. ctest starts using its script and finds no CTestCustom.ctest file 2. ctest runs cmake which copies CTestCustom.ctest to the build tree 3. only 50 warnings are submitted 4. If this is a nightly build, wipe the tree and goto 1. If this is a = continuous build ... 5. ctest starts and does find the CTestCustom.ctest file (left from last = cmake run) 6. ctest runs cmake 7. up to N (whetever) warnings are submitted 8. goto 5. The CTestCustom.ctest in this case has only these lines: SET (CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 400) SET (CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 400) Do other CMake projects use this method with more success? Any pointers = appreciated. Fred > -----Original Message----- > From: Brad King [mailto:bra...@ki...] > Sent: Sunday, July 02, 2006 2:22 PM > To: Wheeler, Frederick W (GE, Research) > Cc: p.v...@ie...; vxl maintainers > Subject: Re: [Vxl-maintainers] limit on Dashboard build warnings: a > problem? >=20 >=20 > Wheeler, Frederick W (GE, Research) wrote: >=20 > > Brad, > >=20 > > If you don't have an easy answer to this I'll re-send to=20 > the CMake list. > >=20 > > I would like to increase the warning/error count limit up=20 > from 50 for VXL and our internal builds. I think the only=20 > way to do this is to add lines like these > >=20 > > SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 200) > > SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 200) > >=20 > > to CTestCustom.ctest at the top level of the build tree. =20 > This is tricky to do since with a ctest script the build dir=20 > is created by ctest and for nightly builds if you do > >=20 > > SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE) > >=20 > > then the build dir is removed along with CTestCustom.ctest. > >=20 > > Do I understand this correctly? Is there some way to get=20 > ctest to find a CTestCustom.ctest file somewhere else? Is=20 > there some way to set CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS=20 > in the ctest script file that I'm not away of? It seems you=20 > can initialize the cache and set environment variables in a=20 > ctest script, but not set up a CTestCustom.ctest file. > >=20 > > In case it is helpful, for all of my VXL dashboard builds,=20 > you can click on the build note to see the ctest script used=20 > for the build. >=20 > Since this limit is typically a per-project decision, the=20 > project itself=20 > should put the custom file in the build tree. The top-level=20 > CMakeLists.txt file can use CONFIGURE_FILE to put the file in=20 > the build=20 > tree from a CTestCustom.cmake.in file in the source tree. >=20 > -Brad >=20 |
From: Brad K. <bra...@ki...> - 2006-07-03 13:11:11
|
Wheeler, Frederick W (GE, Research) wrote: > Brad, > > I just took another look and I see that I've already done this for one of our internal projects. We use this in a CmakeLists.txt file: > > OPTION( BUILD_TESTING "Should the GEVXL tests be built?" YES ) > IF( BUILD_TESTING ) > ENABLE_TESTING() > # copy CTestCustom.ctest to top of build tree > # CMAKE_CACHEFILE_DIR should be root of build tree whether building > # from top dir or from gevxl > CONFIGURE_FILE(${gevxlnew_SOURCE_DIR}/CTestCustom.ctest > ${CMAKE_CACHEFILE_DIR}/CTestCustom.ctest COPYONLY) > ENDIF( BUILD_TESTING ) > > to successfully copy CTestCustom.ctest from the source tree to the top of the build tree. I can see it in the build tree. However, it does not affect nightly builds and does not affect the first continuous build. It does work for subsequent builds of a continuous build tree. Since ctest, via the ctest script, is running cmake, which copies this config file, perhaps the problem is that the file gets moved too late for ctest to read and use it? Like this: > > 1. ctest starts using its script and finds no CTestCustom.ctest file > 2. ctest runs cmake which copies CTestCustom.ctest to the build tree > 3. only 50 warnings are submitted > > 4. If this is a nightly build, wipe the tree and goto 1. If this is a continuous build ... > > 5. ctest starts and does find the CTestCustom.ctest file (left from last cmake run) > 6. ctest runs cmake > 7. up to N (whetever) warnings are submitted > 8. goto 5. > > The CTestCustom.ctest in this case has only these lines: > SET (CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 400) > SET (CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 400) > > Do other CMake projects use this method with more success? Any pointers appreciated. You can try switching to the newer ctest -S script style. It drives the entire dashboard submission while processing the script so things can be done in order. I don't think it is well documented yet because it is pretty new. You may have to read the CMake/Source/CTest directory source a bit to find options. See this submission for an example: http://www.cmake.org/Testing/Sites/andoria.kitware/Linux-g++3.4-KDevelop/20060703-0100-Nightly/Notes.html -Brad |
From: Brad K. <bra...@ki...> - 2006-07-02 18:22:05
|
Wheeler, Frederick W (GE, Research) wrote: > Brad, > > If you don't have an easy answer to this I'll re-send to the CMake list. > > I would like to increase the warning/error count limit up from 50 for VXL and our internal builds. I think the only way to do this is to add lines like these > > SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 200) > SET(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 200) > > to CTestCustom.ctest at the top level of the build tree. This is tricky to do since with a ctest script the build dir is created by ctest and for nightly builds if you do > > SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE) > > then the build dir is removed along with CTestCustom.ctest. > > Do I understand this correctly? Is there some way to get ctest to find a CTestCustom.ctest file somewhere else? Is there some way to set CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS in the ctest script file that I'm not away of? It seems you can initialize the cache and set environment variables in a ctest script, but not set up a CTestCustom.ctest file. > > In case it is helpful, for all of my VXL dashboard builds, you can click on the build note to see the ctest script used for the build. Since this limit is typically a per-project decision, the project itself should put the custom file in the build tree. The top-level CMakeLists.txt file can use CONFIGURE_FILE to put the file in the build tree from a CTestCustom.cmake.in file in the source tree. -Brad |