When running our tests on hudson/jenkins, we don't know which hudson slave will run our job (any slave marked as AnyRHEL6 can run it) and we don't know what other jobs will be running at the same time.
It's impossible to guess which port will be free because:
- the server might have some services set up on some ports
- the other hudson jobs might be using the same ports
- the other hudson jobs might be a release or topic branch of our own project and will be using the same ports
If an embedded or managed container starts and tries to take a non-open port, it crashes and all the tests fail.
*So all our arquillian tests randomly fail.*
The arquillian.xml configuration should support configuring a port to something like
"any open port in the range 8000-8999". If our test cases properly use "@ArquillianResource URL baseURL" (which they do), that shouldn't be a problem.
Next, the container implements, gradually one by one, should support this (or throw an UnsupportOperationException if they don't support it yet).