diff mbox series

selftests: net: rds: fix module not found

Message ID 20241008082259.243476-1-alessandro.zanni87@gmail.com (mailing list archive)
State New
Headers show
Series selftests: net: rds: fix module not found | expand

Commit Message

Alessandro Zanni Oct. 8, 2024, 8:22 a.m. UTC
This fix solves this error, when calling kselftest with targets "net/rds":

selftests: net/rds: test.py
Traceback (most recent call last):
  File "tools/testing/selftests/net/rds/./test.py", line 17, in <module>
    from lib.py import ip
ModuleNotFoundError: No module named 'lib'

Signed-off-by: Alessandro Zanni <alessandro.zanni87@gmail.com>
---
 tools/testing/selftests/net/rds/test.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Jakub Kicinski Oct. 10, 2024, 2:40 a.m. UTC | #1
On Tue,  8 Oct 2024 10:22:53 +0200 Alessandro Zanni wrote:
> This fix solves this error, when calling kselftest with targets "net/rds":
> 
> selftests: net/rds: test.py
> Traceback (most recent call last):
>   File "tools/testing/selftests/net/rds/./test.py", line 17, in <module>
>     from lib.py import ip
> ModuleNotFoundError: No module named 'lib'
> 
> Signed-off-by: Alessandro Zanni <alessandro.zanni87@gmail.com>
> ---
>  tools/testing/selftests/net/rds/test.py | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/net/rds/test.py b/tools/testing/selftests/net/rds/test.py
> index e6bb109bcead..112a8059c030 100755
> --- a/tools/testing/selftests/net/rds/test.py
> +++ b/tools/testing/selftests/net/rds/test.py
> @@ -14,8 +14,9 @@ import sys
>  import atexit
>  from pwd import getpwuid
>  from os import stat
> -from lib.py import ip
>  
> +sys.path.append("..")
> +from lib.py.utils import ip
>  
>  libc = ctypes.cdll.LoadLibrary('libc.so.6')
>  setns = libc.setns

Does this work regardless of where we try to run the script from?
In other cross-imports we try to build the path based on __file__,
see: tools/testing/selftests/drivers/net/lib/py/__init__.py

Would be good to keep consistency.
Alessandro Zanni Oct. 10, 2024, 7:11 p.m. UTC | #2
On 24/10/09 07:40, Jakub Kicinski wrote:
> On Tue,  8 Oct 2024 10:22:53 +0200 Alessandro Zanni wrote:
> > This fix solves this error, when calling kselftest with targets "net/rds":
> > 
> > selftests: net/rds: test.py
> > Traceback (most recent call last):
> >   File "tools/testing/selftests/net/rds/./test.py", line 17, in <module>
> >     from lib.py import ip
> > ModuleNotFoundError: No module named 'lib'
> > 
> > Signed-off-by: Alessandro Zanni <alessandro.zanni87@gmail.com>
> > ---
> >  tools/testing/selftests/net/rds/test.py | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tools/testing/selftests/net/rds/test.py b/tools/testing/selftests/net/rds/test.py
> > index e6bb109bcead..112a8059c030 100755
> > --- a/tools/testing/selftests/net/rds/test.py
> > +++ b/tools/testing/selftests/net/rds/test.py
> > @@ -14,8 +14,9 @@ import sys
> >  import atexit
> >  from pwd import getpwuid
> >  from os import stat
> > -from lib.py import ip
> >  
> > +sys.path.append("..")
> > +from lib.py.utils import ip
> >  
> >  libc = ctypes.cdll.LoadLibrary('libc.so.6')
> >  setns = libc.setns
> 
> Does this work regardless of where we try to run the script from?
> In other cross-imports we try to build the path based on __file__,
> see: tools/testing/selftests/drivers/net/lib/py/__init__.py

Yes, it works regardeless where we run the script from but I agree
with you to keep the same style used in other files.
Thanks for pointing out.

> Would be good to keep consistency.

Definitely. I'm sending a v2 patch with this in mind.

> -- 
> pw-bot: cr
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/rds/test.py b/tools/testing/selftests/net/rds/test.py
index e6bb109bcead..112a8059c030 100755
--- a/tools/testing/selftests/net/rds/test.py
+++ b/tools/testing/selftests/net/rds/test.py
@@ -14,8 +14,9 @@  import sys
 import atexit
 from pwd import getpwuid
 from os import stat
-from lib.py import ip
 
+sys.path.append("..")
+from lib.py.utils import ip
 
 libc = ctypes.cdll.LoadLibrary('libc.so.6')
 setns = libc.setns