On Wed, Jun 12, 2019 at 12:17 AM Eric Garver <[email protected]> wrote:
>
> On Sun, Jun 09, 2019 at 11:48:49PM +0530, Shekhar Sharma wrote:
> > This patch adds the netns feature to the 'nft-test.py' file.
> >
> > Signed-off-by: Shekhar Sharma <[email protected]>
> > ---
> > The version history of the patch is :
> > v1: add the netns feature
> > v2: use format() method to simplify print statements.
> > v3: updated the shebang
> > v4: resent the same with small changes
> >
> > tests/py/nft-test.py | 98 ++++++++++++++++++++++++++++++++++++--------
> > 1 file changed, 80 insertions(+), 18 deletions(-)
> >
> > diff --git a/tests/py/nft-test.py b/tests/py/nft-test.py
> > index 4e18ae54..c9f65dc5 100755
> > --- a/tests/py/nft-test.py
> > +++ b/tests/py/nft-test.py
> [..]
> > @@ -245,6 +251,8 @@ def table_delete(table, filename=None, lineno=None):
> > return -1
> >
> > cmd = "delete table %s" % table
> > + if netns:
> > + cmd = "ip netns exec ___nftables-container-test {}".format(cmd)
>
> Can we pass the netns name via the netns argument? Then we don't have to
> have instances of ___nftables-container-test in the command literals.
OK.
> Just make netns part of your string format. You can also change the
> default arg value to "".
>
Should i keep the default value in all the occurrences (in those
functions as well where no other default arguments are used? )
> Please fix all occurrences.
>
> > ret = execute_cmd(cmd, filename, lineno)
> > if ret != 0:
> > reason = "%s: I cannot delete table %s. Giving up!" % (cmd, table)
> [..]
> > @@ -1208,6 +1262,9 @@ def run_test_file(filename, force_all_family_option,
> > specific_file):
> > filename_path = os.path.join(TESTS_PATH, filename)
> > f = open(filename_path)
> > tests = passed = total_unit_run = total_warning = total_error = 0
> > + if netns:
> > + execute_cmd("ip netns add ___nftables-container-test", filename, 0)
> > +
>
> netns is not defined here.
>
> >
> > for lineno, line in enumerate(f):
> > sys.stdout.flush()
> > @@ -1327,6 +1384,8 @@ def run_test_file(filename, force_all_family_option,
> > specific_file):
> > else:
> > if tests == passed and tests > 0:
> > print(filename + ": " + Colors.GREEN + "OK" + Colors.ENDC)
> > + if netns:
> > + execute_cmd("ip netns del ___nftables-container-test",
> > filename, 0)
>
> netns is not defined here.
Sorry, will correct that.
Thanks!
Shekhar