Re: [PATCH 6/7] selftest/bpf: remove redundant parenthesis

From: Jakub Kicinski
Date: Wed Dec 12 2018 - 19:25:11 EST


On Wed, 12 Dec 2018 21:15:52 +0000, Edward Cree wrote:
> On 12/12/18 19:04, Jakub Kicinski wrote:
> > On Tue, 11 Dec 2018 20:56:06 +0900, Alice Ferrazzi wrote:
> >> Signed-off-by: Alice Ferrazzi <alice.ferrazzi@xxxxxxxxx>
> >> ---
> >> tools/testing/selftests/bpf/test_offload.py | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/tools/testing/selftests/bpf/test_offload.py b/tools/testing/selftests/bpf/test_offload.py
> >> index 0f9130ebfd2c..b06cc0eea0eb 100755
> >> --- a/tools/testing/selftests/bpf/test_offload.py
> >> +++ b/tools/testing/selftests/bpf/test_offload.py
> >> @@ -140,7 +140,7 @@ def cmd_result(proc, include_stderr=False, fail=False):
> >>
> >>
> >> def rm(f):
> >> - cmd("rm -f %s" % (f))
> >> + cmd("rm -f %s" % f)
> >> if f in files:
> >> files.remove(f)
> >>
> > Is this in PEP8, too?
> I don't know, but it shouldn't be.
> If f is a sequence type, both the old and new code can break here,
> Âthrowing a TypeError. It should be cmd("rm -f %s" % (f,)). The
> Âpresence of the brackets suggests to me that that's what the
> Âoriginal author intended.

Agreed, that was my intention, I didn't know about the comma option.

> Now, it's unlikely that we'd ever want to pass a list or tuple
> Âhere, since 'rm' wouldn't understand the result, but the proper
> Âway to deal with that is an assertion with a meaningful message,
> Âsince the TypeError here will have the non-obvious message "not
> Âall arguments converted during string formatting".

Interesting, thanks for the analysis!