Inconsistent handling of unit tests in parallel

Issue #42 resolved
Anders Logg (Chalmers) created an issue

A number of unit tests don't run in parallel for various reasons. Some of them should really run in parallel but others are expected to not run in parallel. We have used a number of different approaches to skip those tests in parallel. It would be desirable to have a unified way to skip tests. For one thing, we can easily search for which tests are not run in parallel.

I found this interesting snippet in the test file errorcontrol.py:

#@skipIf("Skipping error control test in parallel", MPI.num_processes() > 1)

which seemingly requires Python 2.7. Do we still want to support 2.6? Ubuntu has used 2.7 since 11.04.

Comments (12)

  1. Prof Garth Wells

    Python 2.6 is still common on HPC systems, but running unit tests on these systems is probably not essential.

    It would be good to clearly distinguish between tests that should run in parallel and tests that will never run in parallel.

    We should work at a fine level of granularity (test-by-test). I mades some changes recently because a suite of mesh tests were thrown inside an if that stopped them running in parallel, despite a number of the tests working parallel.

  2. Anders Logg (Chalmers) reporter

    I think it would be easier to just require Python 2.7 for the unit tests. Do we have Python 2.6 or lower on any of the buildbots? As Garth says, we only need to worry about this dependency on the systems where we run the unit tests, so it would not be a requirement for the whole of FEniCS, just the DOLFIN unit tests.

  3. Johannes Ring

    squeeze-amd64 is currently the only buildbot with Python 2.6. However, since wheezy was just released, I will upgrade this buildbot now. Then all buildbots will be using Python 2.7.

  4. Anders Logg (Chalmers) reporter

    Any objections to depending on Python 2.7 for the unit tests? If not I can try to implement and suggest a standard approach to documenting and skipping of unit tests in parallel.

  5. Log in to comment