-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integration tests - Ensure that web services and ROS services are deployed before execution #327
Comments
Tried to assess this issue like this. I used a simple countdown timer in each test class (essentially for each web service), which polls the web service till it is up. I think using a timer with sleep is correct, since we must have an upper time limit while waiting for the services or else the call will hang forever. A drawback of this approach is that the countdown will exist for each inner test (e.g. in this file we will have 9 countdowns). We could check all the services in the In this example I am performing an erroneous call (just to get the response quickly) and I check if I get a connection error. The problem I found is this: In the case when the web services are not up, the code executes fine and the timer times out correctly, raising a unittest assertion. If I launch the web services during the count down, the call immediately does not return
|
It is expected to have this behavior. Like you mentioned, |
This issue is mostly related to Continues Integration. Executing integration-tests must ensure that the RAPP Platform was previously fully deployed in order to prevent from getting either HTTP request or ROS Service request errors.
For RAPP Platform scalability purposes, this should not be resolved using sleeping methods because
sleeping time values depends both on the physical machine hosting the RAPP Platform and the load of the RAPP Platform (ROS Nodes, Web Services).
The text was updated successfully, but these errors were encountered: