Hi llya,

Pls find my comments inline.

> -----Original Message-----
> From: Ilya Maximets <[email protected]>
> Sent: Monday, July 19, 2021 4:51 PM
> To: Amber, Kumar <[email protected]>; Ilya Maximets
> <[email protected]>; [email protected]
> Cc: Stokes, Ian <[email protected]>
> Subject: Re: [PATCH v1] tests: fix python2 module not find error
> 
> On 7/19/21 1:03 PM, Amber, Kumar wrote:
> > Hi llya,
> >
> > Pls find the comments inline.
> >
> >> -----Original Message-----
> >> From: Ilya Maximets <[email protected]>
> >> Sent: Monday, July 19, 2021 4:07 PM
> >> To: Ilya Maximets <[email protected]>; Amber, Kumar
> >> <[email protected]>; [email protected]
> >> Cc: Stokes, Ian <[email protected]>
> >> Subject: Re: [PATCH v1] tests: fix python2 module not find error
> >>
> >> On 7/19/21 12:35 PM, Ilya Maximets wrote:
> >>> On 7/17/21 5:21 AM, Amber, Kumar wrote:
> >>>> Hi llya,
> >>>>
> >>>> This is what I get after a minor tweek :
> >>>> "except ImportError as err:
> >>>>      print(err)"
> >>>>
> >>>> when Scapy is not present :
> >>>>
> >>>> No module named 'scapy'
> >>>> Traceback (most recent call last):
> >>>>   File "./../mfex_fuzzy.py", line 10, in <module>
> >>>>     pktdump = PcapWriter(path, append=False, sync=True)
> >>>> NameError: name 'PcapWriter' is not defined
> >>>>
> >>>> Is this ohk ?
> >>>
> >>> I don't understand why we're catching this exception.
> >>> Even with your changes if the package is not available, we will
> >>> catch the ImportError, print it and go further, later while trying
> >>> to use modules that wasn't imported we will get another more vague
> exception.
> >>> So what is the port catching ImportError in the first place?
> >>
> >> s/port/point/
> >>
> >>>
> >>> If we'll exit after printing... well, but doesn't python print
> >>> exception trace by itself?
> >>>
> >>> BTW, the title of this patch is incorrect.  We do not support
> >>> python2, this problem is with python3 < 3.6.
> >
> > Yes makes sense now logs are very clear we don’t need the try and
> > catch block  at all removed in the patch And fixed the heading .
> >
> > Traceback (most recent call last):
> >   File "./mfex_fuzzy.py", line 2, in <module>
> >     from scapy.all import RandMAC, RandIP, PcapWriter, RandIP6,
> > RandShort, fuzz
> > ModuleNotFoundError: No module named 'scapy
> 
> OK.  And since we're here, the pip3 might not be available on a system, so
> checking for 'pip3 list' is not reliable.
> Please, replace it with the import attempt. See how idl tests are checking 
> for SSL
> support for example:
>   https://github.com/openvswitch/ovs/blob/master/tests/ovsdb-idl.at#L228-
> L230
> 

-AT_SKIP_IF([! pip3 list | grep scapy], [], [])
+AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
 

And with Scapy :
  6: OVS-DPDK - MFEX Autovalidator                   ok
  7: OVS-DPDK - MFEX Autovalidator Fuzzy             ok
  8: OVS-DPDK - MFEX Configuration                   ok

Without scapy :

  6: OVS-DPDK - MFEX Autovalidator                   ok
  7: OVS-DPDK - MFEX Autovalidator Fuzzy             skipped 
(system-dpdk.at:266)
  8: OVS-DPDK - MFEX Configuration                   ok

Regards
Amber

> 
> >>>
> >>> Best regards, Ilya Maximets.
> >>>
> >>>>
> >>>> Regards
> >>>> Amber
> >>>>
> >>>>
> >>>>> -----Original Message-----
> >>>>> From: Ilya Maximets <[email protected]>
> >>>>> Sent: Saturday, July 17, 2021 12:21 AM
> >>>>> To: Amber, Kumar <[email protected]>; ovs-
> [email protected]
> >>>>> Cc: [email protected]; Stokes, Ian <[email protected]>
> >>>>> Subject: Re: [PATCH v1] tests: fix python2 module not find error
> >>>>>
> >>>>> On 7/16/21 8:15 PM, kumar Amber wrote:
> >>>>>> This fixes the flake8 error on pyhton version older than 3.6 as
> >>>>>> ModuleNotFoundError in not available before 3.6 and that is now
> >>>>>> replaced to ImportError which is present in earlier versions.
> >>>>>>
> >>>>>> ../../tests/mfex_fuzzy.py:5:8: F821 undefined name
> >> 'ModuleNotFoundError'
> >>>>>> 2653Makefile:5826: recipe for target 'flake8-check' failed
> >>>>>>
> >>>>>> Fixes: 50be6715c0 ("test/sytem-dpdk: Add unit test for mfex
> >>>>>> autovalidator")
> >>>>>> Signed-off-by: kumar Amber <[email protected]>
> >>>>>> ---
> >>>>>>  tests/mfex_fuzzy.py | 2 +-
> >>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>>
> >>>>>> diff --git a/tests/mfex_fuzzy.py b/tests/mfex_fuzzy.py index
> >>>>>> 5b056bb48..fd257ffb6 100755
> >>>>>> --- a/tests/mfex_fuzzy.py
> >>>>>> +++ b/tests/mfex_fuzzy.py
> >>>>>> @@ -2,7 +2,7 @@
> >>>>>>  try:
> >>>>>>      from scapy.all import RandMAC, RandIP, PcapWriter, RandIP6,
> >>>>>> RandShort,
> >>>>> fuzz
> >>>>>>      from scapy.all import IPv6, Dot1Q, IP, Ether, UDP, TCP
> >>>>>> -except ModuleNotFoundError as err:
> >>>>>> +except ImportError as err:
> >>>>>>      print(err + ": Scapy")
> >>>>>>  import sys
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> I can confirm that this fixes the flake8 issue.
> >>>>>
> >>>>> But I'm not sure how that is supposed to work at all.
> >>>>> Here is what I get in a plain python console:
> >>>>>
> >>>>> Python 3.6.8 (default, Mar 18 2021, 08:58:41) [GCC 8.4.1 20200928
> >>>>> (Red Hat 8.4.1-1)] on linux Type "help", "copyright", "credits" or
> >>>>> "license" for more information.
> >>>>>>>> try:
> >>>>> ...     from scapy.all import RandMAC
> >>>>> ... except ImportError as err:
> >>>>> ...     print(err + ": Scapy")
> >>>>> ...
> >>>>> Traceback (most recent call last):
> >>>>>   File "<stdin>", line 2, in <module>
> >>>>> ModuleNotFoundError: No module named 'scapy'
> >>>>>
> >>>>> During handling of the above exception, another exception occurred:
> >>>>>
> >>>>> Traceback (most recent call last):
> >>>>>   File "<stdin>", line 4, in <module>
> >>>>> TypeError: unsupported operand type(s) for +:
> >>>>> 'ModuleNotFoundError' and
> >> 'str'
> >>>>>
> >>>>>
> >>>>> Best regards, Ilya Maximets.
> >>>
> >

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to