You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2016/01/07 14:01:39 UTC

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

     [ https://issues.apache.org/jira/browse/PROTON-238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell closed PROTON-238.
---------------------------------
    Resolution: Fixed

The cmake build uses ctest and has for ages, so this was presumably fixed at some point around the time of this JIRAs creation. Closing.

> 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 was sent by Atlassian JIRA
(v6.3.4#6332)