But the thing is that those processes you are creating for delivery are running in priority 30. This means that it may happen that they may not run any time soon (even those 200ms) if there are processes scheduled with higher priorities.So, the thing is that test is not a unit test at all. It depends a lot on the running environment. Solutions for that:��- you change the priority of the delivery process for test purposes��- Or, for testing purposes you don't create a new process, you just execute synchronouslyIf you want really to test the fact that you are creating and running a separate process, then you should also try to let explicit the processes you created run. This means, if the active process that is running the tests (usually priority 40) does not suspend itself, no processes of priority 30 will be able to run. Ways to suspend the active process and let lower priority ones run are:��- calling suspend (Processor activeProcess suspend) but this is dangerous because somebody should resume it afterwards from a separate process��- using a delay��- some I/O like sockets or async filesOn Mon, Sep 11, 2017 at 7:40 PM, Juraj Kubelka <juraj.kubelka@icloud.com> wrote:Hi Guillermo,I have not found better solution. Waiting without a timeout threshold is not nice and makes it difficult to run all tests.��If you have better idea how to sync and test two processes, I will appreciate it.��Otherwise I will use a higher timeout.Cheers,JurajEl 11-09-2017, a las 06:55, Guillermo Polito <guillermopolito@gmail.com> escribi��:Hi Juraj,think that it may really depend on the machine and the state of the system. Slower slave machines could not really work with that timeout...The question is how could we make such test more robust.On Sun, Sep 10, 2017 at 6:41 PM, Juraj Kubelka <juraj.kubelka@icloud.com> wrote:Hi,I have checked the EventRecorderTests and it works on my computer. The only reason that it might not work on other cases is that there an assert for 'semaphore waitTimeoutMSecs: 200���. I can put higher timeout if necessary. The timeout 200 has worked for couple of years, right?. There might be another issue.Cheers,JurajEl 10-09-2017, a las 10:13, Guillermo Polito <guillermopolito@gmail.com> escribi��:Hi all,Since a couple of builds we have consistently failing the following tests:
- GT.EventRecorder.Tests.Core.GT
EventRecorderTest.testDeliverN ow2 - GT.EventRecorder.Tests.Core.GT
EventRecorderTest.testNotDeliv eredDataShouldBeResent - Kernel.Tests.Processes.MutexTe
st.testFailedCriticalSectionSh ouldUnblockWaitingOne - ReleaseTests.Categorization.Pr
operMethodCategorizationTest.t estHashMethodNeedsToBeInCompar ingProtocol - ReleaseTests.Categorization.Pr
operMethodCategorizationTest.t estHashMethodNeedsToBeInCompar ingProtocol - ReleaseTests.Categorization.Pr
operMethodCategorizationTest.t estHashMethodNeedsToBeInCompar ingProtocol - ReleaseTests.Categorization.Pr
operMethodCategorizationTest.t estHashMethodNeedsToBeInCompar ingProtocol - ReleaseTests.Categorization.Pr
operMethodCategorizationTest.t estHashMethodNeedsToBeInCompar ingProtocol - ReleaseTests.Categorization.Pr
operMethodCategorizationTest.t estHashMethodNeedsToBeInCompar ingProtocol - ReleaseTests.Categorization.Pr
operMethodCategorizationTest.t estHashMethodNeedsToBeInCompar ingProtocol Green builds are the only hard metric to say if the build is healthy or not.- We should not integrate anything until the build is green again...Also, we spent with Pablo a lot of time to have a green build in all platforms...�� I'd like to spend my time in other fun stuff than the CI :/--
������ Guille PolitoResearch EngineerFrench National Center for Scientific Research - http://www.cnrs.frPhone: +33 06 52 70 66 13--
������ Guille PolitoResearch EngineerFrench National Center for Scientific Research - http://www.cnrs.frPhone: +33 06 52 70 66 13--
������
Guille Polito
Research Engineer
French National Center for Scientific Research - http://www.cnrs.fr
Phone: +33 06 52 70 66 13
|
������ | Guille Polito Research Engineer French National Center for Scientific Research - http://www.cnrs.fr Phone: +33 06 52 70 66 13 |