Run-test build: Split the main method into two.
Copy all files first (single-threaded) and then build all
tests in the shard (multi-threaded).
This works around rare failure where bash is unable to run
a script that has been just written to disk. (I have not
been able to track down the root cause - it might be due
to intense I/O load due to the previous parallel file copies,
it might be that the Python copy method does not close the
file descriptor fast enough in some cases based on GC,
or it could be just generic linux issues - as suggested by
the fact that other people seemed to encounter the same issue
even in other scenarios on Linux where Python is not involved).
In any case, this CL ensures that all the copies are single
threaded and that there is sufficient time between file copy
and the bash execution, which should avoid the unknown issue.
Test: Run "m art-run-test-{host,target,jvm}-data" in a loop.
Change-Id: I7528bad2c69b651b363d986c118a1fea887c4347
1 file changed