Closed TimoMichi closed 7 years ago
Maybe related to openbase/jul#18
One issue is that when you directly update the state of a provider by calling the update method on a controller instance, e.g. lightSensorController.updateIlluminanceStateProvider(...), you cannot be sure that afterwards the change is already published to the remote. Even a requestData does not guarantee that. This could cause the new illuminanceState test for the location remote to fail.
Example for a test failure:
java.lang.AssertionError: Power state has not been set in time or the return value from the getter is different! expected:but was: at org.openbase.bco.manager.device.test.remote.unit.UnitGroupRemoteTest.testGetPowerState(UnitGroupRemoteTest.java:195)
Solved?
Fixed a bug in the AbsenceEnergySavingAgent which caused its test to fail. Initially the location published an unkown value for its presence state which caused the AbsenceEnergySavingAgent to turn off the light. Because the test turned the lights on around the same time when this update arrived these two interfered and if you were lucky the light had the correct value afterwards. As a fix the Agent now ignores unknown values for the presence state
Should have improved a lot by the recent updates like the UnitStateAwaiter and new test structure. Fixing openbase/bco.registry#37 still remains.
Moved to priorized because bugs seems to be independent from issue openbase/bco.registry#37 because its fixed and the random failures still exist.
Please reenable #40 is this issue is solved.
openbase/jul@543e528bcb1f1990aa712885395154157cb6c5bb fixed a bug where agent remotes waitForData would return before the localServer has been started and thus the following method call would not return.
Seems to me fixed, otherwise reopen.
Testcases fail from time to time. (Even Travis seems to have this issue) Errors occur at different testcases quite random(unitremote tests, agent tests, location remote test..)
Origin of this problem might be the shutdown of MockRegistry or timing issues.