-
Notifications
You must be signed in to change notification settings - Fork 33
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
PERL WARNING - sub ConvLaCrosse robust #1038
Conversation
- hex check added (eliminates PERL WARNINGS)
Codecov Report
@@ Coverage Diff @@
## master #1038 +/- ##
==========================================
+ Coverage 60.68% 60.78% +0.10%
==========================================
Files 117 117
Lines 9004 8984 -20
Branches 1411 1409 -2
==========================================
- Hits 5464 5461 -3
+ Misses 2533 2518 -15
+ Partials 1007 1005 -2
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
Wollen wir denn jetzt wirklich alles doppelt und dreifach prüfen?
|
Es geht mir in diesem PR nicht ums doppelt prüfen, es geht mir um die Robustheit der Sub als einzelnes. Nur wenn man jede Sub separat absichert, so kann man diverse PERL WARNINGs vermeiden. Es macht in meinen Augen keinen Sinn, Subs aufzurufen und zu testen indem man künstlich Warnings generiert. Entweder richtig oder die Liste und Logs werden länger und länger mit WARNINGs. |
FHEM/lib/SD_Protocols.pm
Outdated
@@ -1965,12 +1965,15 @@ sub ConvLaCrosse { | |||
my $self = shift // carp 'Not called within an object'; | |||
my $hexData = shift // croak 'Error: called without $hexdata as input'; | |||
|
|||
return ( 1,"ConvLaCrosse, Usage: Input #1, $hexData is not valid HEX" ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rein wegen der Optik, wollte ich erst vorschlagen, hier nur auf qq zu ändern, aber die Meldung ist nicht für einen Anwender sondern eher für einen Entwickler der diese Funktion aufruft. Daher würde ich analog zu den anderen Validierungen auf croak wechseln um den Aufrufer als Fehlerquelle ausgeben:
return ( 1,"ConvLaCrosse, Usage: Input #1, $hexData is not valid HEX" ) | |
croak qq[ConvLaCrosse, Usage: Input #1, $hexData is not valid HEX] ; | |
`` |
@sidey79 bittefein :-) |
What is the current behavior?
(You can also link to an open issue here, if this describes the current behavior)
2021-11-23T22:45:19.0077148Z ##[error]Illegal hexadecimal digit 'P' ignored at FHEM/lib/SD_Protocols.pm line 1973.
--> cause, test submit not valid hex value
RFFHEM/t/SD_Protocols/02_ConvLaCrosse.t
Lines 65 to 71 in d01e9cd
--> sub in SD_Protocols.pm does not check for HEX validity
RFFHEM/FHEM/lib/SD_Protocols.pm
Lines 1964 to 1974 in d01e9cd
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other information: