-
Notifications
You must be signed in to change notification settings - Fork 136
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
New feature for the Message Generator #1059
Comments
this is great! we get many MG CI false alarms from this missing feature, as it was already described here: #928 (comment)
I'm excited to bring one more enhancement to our MG test stack! |
If |
why would you take this as a reliable assumption? there's absolutely no guarantee this is true, and that's kind of the point. after upstream sends
also keep in mind that this is just an example illustrating one possible scenario, and you might be missing the forest for the trees by fixating on this specific sequence of messages the main point is that we want a MG feature that allows for waiting for one specific message type... if other messsages come along, they are ignored, until finally the expected message is received |
A possible solution could be change We have to understand if we only need mutually exclusive |
thanks for this insight @Fi3
both solutions would imply that we drop #1068 and restart the new feature from scratch. It would be painful to drop the work done on #1068 but I'm not necessarily against it, if it means that we get to do things the "right way" that also scale better in the future. and with that in mind, I would go for the most powerful and future-proof solution: turn that would allow us to also have similar functionality for multiple types of result, such as:
|
Yea that was just an assumption based on the main issue comment by lorbax. Anyhow, what @Fi3 is suggesting makes a lot of sense. I would also encourage looking into the best solution here. |
Can you describe how would it be used a mutually exclusive |
You change the |
I wasn't specific enough. I didn't understand the second approach, can you provide a use case? For the first approach, you mean to have a success whenever you have a message type in the list given to the MG. |
Yep you are right the solution that I proposed check if one statement between a set of them is true. But what we need here is to check that one statement must between a set of them must be true and the other are optional. |
In the Message Generator, an
action
is an operation that is performed against the tested software. An action sends a list of messages (that may be empty) and perform a list of checks (that may be empty) on the response message from the tested software. These checks are calledaction_results
. One example of action result isMatchMessageType
, which checks that the received message has a specific type. For example, if we are testing a certain upstream, a typical action sends aSetupConnection
and checks that the response has the message type corresponding toSetupConnectionSuccess
.There are some cases in which the tested software can answer with two or more allowed messages; for example, after a
NewExtendedMiningJob
, a downstream can send either aSubmitSharesExtended
or anUpdatechannel
. The reception of any of these messages fall within the correct behaviour of a SRI compliant software.Nevertheless, there is no way right now to check this situation. If we set an action that sends
NewExtendedMiningJob
and waits for anUpdateChannel
the test will fail id receives aSubmitSharesExtended
. Similarly, If we set an action that sendsNewExtendedMiningJob
and waits for anSubmitSharesExtended
the test will fail id receives aUpdateChannel
.This issue presents itself in this during the checking of the result of this action.
It is needed a feature that signal that a result that checks a received message has to be performed either at the first message received, or at the first message received of a certain type (i.e. waits until the reception of a specific message, and exit with a success when this happens).
I am already working on this issue.
The text was updated successfully, but these errors were encountered: