Test cases of EMFProfiles are not stable
The tests of EMFProfiles fail every other day without a clear reason. This makes continuous integration for this project useless. The tests should be fixed.
Fix has been integrated into master.
I performed some tests and think I found the issue.
In ProfileFacadeImpl, a workspace job is created for performing a save and reload action on a given model file. This job has been introduced to fix a bug but it does not meet the assumptions under which the method has been design and is used. The calling save method assumes that the action is blocking but it is carried out in an asychronous way instead. Under heavy load, the execution of the save job can be delayed while the test code keeps running and assumes that the file has already been saved.
I added a synchronization point after the job scheduling to make the method blocking again. After that, I tried the solution by executing a build job with the fix and one without the fix many times on the build server. In case of low load, the problem does not occur in both jobs. When increasing the load on the build node by using stress-ng, the error occurs frequently for the build job without the fix while the other build job raises no errors.
There is no need for further reconfirmation. The bug becomes obvious when looking at the build logs.