Download presentation
Presentation is loading. Please wait.
Published byHudson Fudge Modified over 10 years ago
1
National Alliance for Medical Image Computing http://na-mic.org Testing with CTest and CDash Julien Jomier Kitware Inc.
2
National Alliance for Medical Image Computing http://na-mic.org Testing Overview CVS/SVN CDash Web Browser CTest Developers
3
National Alliance for Medical Image Computing http://na-mic.org Testing Terminology Sites dash5.kitware iris.elmtech Linux-g++ Builds Linux-gcc3 Linux-gcc4 Dashboard
4
National Alliance for Medical Image Computing http://na-mic.org Why Test Daily? Large code base too large for any single developer to understand Developers distributed around the world Identify problems as they occur Insure that object API remains unchanged Provide feedback to developers as they experiment with new implementations
5
National Alliance for Medical Image Computing http://na-mic.org “If it’s not tested it doesn’t work” Dasboards and Software Process –Roots in GE Six Sigma initiative Cross platform testing Nightly regression testing Memory (Purify/ValGrind) testing Coverage testing Style checking Documentation evaluation
6
National Alliance for Medical Image Computing http://na-mic.org How to write a good test? Use empirical values (5/2=2.5) Test most of the use cases (even the boring/most difficult ones) Make your tests as efficient as possible Have someone else write the test for your algorithm
7
National Alliance for Medical Image Computing http://na-mic.org Regression Testing Compare generated image against standard “correct” image –pixel-by-pixel comparison –can use a threshold metric –adjusted for effects like dithering
8
National Alliance for Medical Image Computing http://na-mic.org CTest Testing client Distributed with CMake Submit test results to the dashboard XML submission Independent of CMake
9
National Alliance for Medical Image Computing http://na-mic.org CTest with CMake CMakeLists.txt INCLUDE(CTest) ENABLE_TESTING() # Add a simple test ADD_TEST(CDashTest1 CDashTest CDashTest) ADD_EXECUTABLE(CDashTest main.cxx) CTestConfig.txt set(CTEST_PROJECT_NAME "MyProject") set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "localhost") set(CTEST_DROP_LOCATION "/CDash/submit.php?project=MyProject") set(CTEST_DROP_SITE_CDASH TRUE)
10
National Alliance for Medical Image Computing http://na-mic.org Testing Submission XML Submission XML Parsing HTTP PUT CTest CDash Backup XML File Fill Database Send Email Update RSS Feed Update.xml Configure.xml Build.xml Test.xml Coverage.xml DynamicAnalysis.xml Compiler/Tester
11
National Alliance for Medical Image Computing http://na-mic.org CDash New generation of Dart Written in Php/Javascript MySQL Open Source Run on top of a web server XSL implementation Web 2.0
12
National Alliance for Medical Image Computing http://na-mic.org CDash Features Ajax requests Graphs: build, test times Builds group User management Email notifications Timing defects
13
National Alliance for Medical Image Computing http://na-mic.org Coverage Support Email Low Coverage Bullseye support
14
National Alliance for Medical Image Computing http://na-mic.org Build Notes Share with other developers Keep it simple
15
National Alliance for Medical Image Computing http://na-mic.org My CDash Personal Page Subscribe to project View sites Email preferences
16
National Alliance for Medical Image Computing http://na-mic.org Project Roles Normal user Site maintainer Project administrator
17
National Alliance for Medical Image Computing http://na-mic.org Claiming Sites Site information Automatic (CTest 2.6) Information history Manual editing Personal view/email
18
National Alliance for Medical Image Computing http://na-mic.org CDash Misc. Automatic Geolocation from IP addresses Support for iPhone
19
National Alliance for Medical Image Computing http://na-mic.org Installing CDash (L/W)AMP : Apache, MySQL, PHP - XAMPP, EasyPHP Download CDash (www.cdash.org) in your Apache web directorywww.cdash.org Edit config.php Point Web Browser to CDash - Setup the database - Create first project
20
National Alliance for Medical Image Computing http://na-mic.org Style Checking KWStyle C++ Style checker Configuration via XML HTML Generator (TBI in CDash) Open Source Written in C++
21
National Alliance for Medical Image Computing http://na-mic.org Contribute Website - http://www.cdash.org - http://public.kitware.com/KWStylehttp://www.cdash.org Bug Tracker - http://www.cmake.org/Bug Mailing List - http://public.kitware.com/cgi- bin/mailman/listinfo/cdash
22
National Alliance for Medical Image Computing http://na-mic.org Happy Testing!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.