You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Cliff Jansen (JIRA)" <ji...@apache.org> on 2013/02/13 20:46:14 UTC

[jira] [Commented] (PROTON-238) Initial CTest support

    [ https://issues.apache.org/jira/browse/PROTON-238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13577866#comment-13577866 ] 

Cliff Jansen commented on PROTON-238:
-------------------------------------

See https://reviews.apache.org/r/9433 to view or download the patch.  It's as small as I could make it.
                
> Initial CTest support
> ---------------------
>
>                 Key: PROTON-238
>                 URL: https://issues.apache.org/jira/browse/PROTON-238
>             Project: Qpid Proton
>          Issue Type: New Feature
>          Components: proton-c
>    Affects Versions: 0.3
>         Environment: Mainly proton-c and interop testing.
>            Reporter: Cliff Jansen
>            Assignee: Cliff Jansen
>
> This is a proposal for starting to use CMake's built in CTest capabilities in order to allow a unified test mechanism on multiple platforms.
> For the supplied review patch, it assumes that instead of using trunk/config.sh and calling proton-test directly, you do:
>   cd path/to/trunk
>   mkdir build
>   cd build
>   cmake ..
>   make
>   ctest
> Assuming the make succeeds, this will test two targets for now (proton-c and proton-jni), but the newer proposed tests (i.e. performance) can be added as well.
> Once the desired work flow is captured, this can be tweaked to run in a platform neutral way.  CMake even has the capability to run CTest from inside the Visual Studio IDE.  Concepts and strategies are stolen from the qpid/cpp tree.
> By default, you just get a brief summary of the tests.  Also try
>   ctest -V   [ to see the full output ]
>   ctest -N   [ to list the available tests ]
>   ctest -R proton-c  [ just run the one test in this case, or a regexp if supplied ]
>   ctest -E <regexp>  [ run all tests except ones that match regexp ]
> Fancier tests can use cmake scripts to do things in a platform neutral manner (move files around), run the test from a different directory, etc.  Python scripts and Java programs are already platform neutral, so there is no need to make changes for those. 
> Tests can be conditionally configured (in the example proton-jni will not be configured if maven or java aren't found).
> Note that if you wish to just build and test proton-c, there is no requirement to build from within the specific directory .../trunk/build.  This restriction currently exists for testing proton-jni using maven, but perhaps that can be relaxed in future.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira