samba-tool:testparm: Display nicer parameter dump error messages
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Wed, 28 Apr 2021 03:46:46 +0000 (15:46 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 17 May 2021 21:39:38 +0000 (21:39 +0000)
Now we catch errors for unknown sections or parameters and turn them
into CommandErrors.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14143

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Rowland Penny <rpenny@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/netcmd/testparm.py
selftest/knownfail.d/bug-14143 [deleted file]

index 5219b8c6ad95b75b889f1f9f4d89bc4b52897d18..b44dea1f141c2addc0a36b51c61a9f0a612ad6ec 100644 (file)
@@ -103,9 +103,17 @@ class cmd_testparm(Command):
         else:
             if section_name is not None or parameter_name is not None:
                 if parameter_name is None:
-                    lp[section_name].dump(lp.default_service, verbose)
+                    try:
+                        section = lp[section_name]
+                    except KeyError:
+                        raise CommandError("Unknown section %s" % section_name)
+                    else:
+                        section.dump(lp.default_service, verbose)
                 else:
-                    lp.dump_a_parameter(parameter_name, section_name)
+                    try:
+                        lp.dump_a_parameter(parameter_name, section_name)
+                    except RuntimeError as e:
+                        raise CommandError(e)
             else:
                 if not suppress_prompt:
                     self.outf.write("Press enter to see a dump of your service definitions\n")
diff --git a/selftest/knownfail.d/bug-14143 b/selftest/knownfail.d/bug-14143
deleted file mode 100644 (file)
index 2902127..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-^samba.tests.netcmd.samba.tests.netcmd.TestParmTests.test_no_such_section
-^samba.tests.netcmd.samba.tests.netcmd.TestParmTests.test_no_such_parameter