Uploaded image for project: 'TomEE'
  1. TomEE
  2. TOMEE-2176

Arquillian test cannot be run in parallel

    XMLWordPrintableJSON

Details

    Description

      In order to speed up tests, I wanted to run them in parallel using Maven Surefire's parallel execution capabilities. But even when running every test class in its own forked VM tests were failing randomly, mostly due to missing files in the temporary container directory. The reason is that all temporary containers will use the same directory, which is

      dir = System.getProperty("java.io.tmpdir") + "/arquillian-apache-tomee" and/or
      appWorkingDir = System.getProperty("java.io.tmpdir") + "/arquillian-tomee-app-working-dir

      (see org.apache.openejb.arquillian.common.TomEEConfiguration).

      This means different processes running TomEE via Arquillian will interfere with each other, even completely independent process and even from different users.
      As a solution the above-mention directories must be created such that they are unique for the process, e.g. by using java.nio.Files.createTempDirectory.

       

      Attachments

        Activity

          People

            jlmonteiro Jean-Louis Monteiro
            sithmein Thorsten Meinl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 10m
                10m