How come this module doesn't have "HDSimulator = HDSimulator()" and still is using an instance of the HDSimulator? it shows that : 1 - The name of the object has to be different than the class name itself so we will understand which one is used. (class or instance) 2 - If this one doesn't require defining the HDSimulator, then why it has been defined in the other ones.
Reinstalled the case statement back to where it was. case MSG_ID_HD_FAN_RPM_ALARM_START_TIME_OFFSET_OVERRIDE: handleTestFansRPMAlarmStartTimeOffsetOverrideRequest( message );
Please use the SquishQt recommended syntax and functions as has been explained and described in their examples.
In this change I am actually correcting a misuse of the squishqt api. waitForObjectExists will always return true after the first call without using utils.dict_update. This is because the text is omitted from the object that is being waited for. So, the object holding the text will always exist, and each successive call will not wait for the text to be updated. To pass, you were basically relying on the long delay added by cansend that occurs between each call to test_values. That delay happened to be longer than it takes for the text to be updated in the UI, allowing the tests to pass by accident. This kind of test design is fragile, as the test could fail at any time depending on how long cansend takes to send a message.
I would rather let SquishQt test and check the existence of the properties (in this case ".text") instead of another function adding a property to the dictionary without making sure that the object actually has the property and not checking the object tree.
I'm not sure that QSettings does that for us. But the design, for now, is that the settings are for reading only at boot up and no to write. Later when we decided to have it save the settings will do the rest for the write/read protection.