Skip to content

Combining/merging multiple MOcov json reports? #12

@mathieuboudreau

Description

@mathieuboudreau

I'm wondering if this is a feature/function that would be "easy" to implement. I'm not too familiar with what's under the hood of MOcov yet, so I'm not sure if it would be easy to reuse some of your functions to help with this.

The reason I need this is because TRAVIS tests are limited to 30 minutes per job, which means that our project needs to split our MOxUnit tests calls in TRAVIS into multiple jobs.

e.g.


jobs:
  include:
    - stage: Test 
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible/quickMoxTests');res=moxunit_runtests('-recursive');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('BatchExample_test.m');exit(~res);"
    # Paste Sim_test commands below 
    # Pay attention to the indentation! Make them look like -stage and script lines above.
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_charmed.m');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_dti.m');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_noddi.m');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_qmt_bssfp.m');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_qmt_sirfse.m');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_qmt_spgr.m');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_inversion_recovery.m');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_vfa_t1.m');exit(~res);"
    - stage: Test
      script: travis_wait 30 octave --no-gui --eval "bootstrapTest;cd('/home/travis/build/neuropoly/qMRLab/Test/MoxUnitCompatible');res=moxunit_runtests('SimTest_mwf.m');exit(~res);"

This means that we need to do multiple calls to MOcov, which will generate multiple coverage.json files.

This would be a really useful feature, which other coverage software have (e.g. Python's coverage package has a coverage combine option: http://coverage.readthedocs.io/en/latest/cmd.html#combining-data-files)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions