Skip to content
Snippets Groups Projects
  • Ben Cumming's avatar
    Basic CI support with TravisCI (#340) · 137c5b5f
    Ben Cumming authored
    Add support for continuous integration with Travis CI.
    This implements bare bones support that can be extended over time.
    
    Travis CI test environments:
    
        All use gcc 5.
        Test the serial distributed back end with serial and cthread threading backends.
        Test mpi with cthread.
        The tbb test failed sporadically because CMake, so it is disabled for now.
    
    The test script:
    
        Builds the unit tests, global_communication tests and miniapp.
        Asserts that all unit and global_communication tests pass.
        Asserts that the miniapp runs successfully.
            does not test miniapp output for now.
    
    There is plenty of scope for improving the tests.
    A key improvement will be to use validated output for the validation and miniapp
    to provide some validation.
    
    There were some small fixes required to make the tests pass on Travis
    
        communication/mpi.hpp now sets default size and rank values of 1 and 0 respectively
        to allow all unit tests to pass when built with MPI.
        The wrappers around MPI API calls use const_cast to support MPI implementations that
        are not "const aware".
        A missing header was added to tests/unit/test_range to make std::unordered_multimap
        available.`
    137c5b5f