Do not throw exception in indexOf() function if PV has not yet connected#3756
Open
rjwills28 wants to merge 1 commit intoControlSystemStudio:masterfrom
Open
Do not throw exception in indexOf() function if PV has not yet connected#3756rjwills28 wants to merge 1 commit intoControlSystemStudio:masterfrom
rjwills28 wants to merge 1 commit intoControlSystemStudio:masterfrom
Conversation
Also include test coverage of this function.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR to fix issue described in #3755. This PR doesn't change the underlying behavior but does stop misleading exception messages being printed to the logs.
The initial input variable to the
indexOf()function will be given the value:VDouble.of(Double.NaN, Alarm.none(), ...). The function is then evaluated and because the initial value is not of typeVEnum, an exception is unnecessarily thrown.The variable is then given the value
VDouble.of(Double.NaN, Alarm.disconnected(), ...)until the PV send its first value. Again, we have not established a connection to the PV yet and so theindexOf()function should not throw an exception.Under these two cases, value = NaN and alarm = none or disconnected we should not throw an exception if the
VTypeis notVEnum. I have added this logic to theindexOf()function in this PR. Under any other condition we expect this function to be passed aVEnumtype and so it would be correct to throw the exception.I have also added a few tests to provide coverage for this cases.
Checklist
Testing:
Documentation: