Skip to content

Commit 4e4d87b

Browse files
committed
Check args in avail, reread, and version
1 parent f1ca0c1 commit 4e4d87b

File tree

3 files changed

+43
-1
lines changed

3 files changed

+43
-1
lines changed

CHANGES.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,12 @@
2828
error condition occurs. Previous versions did not set the exit status so
2929
it was always zero. Patch by Luke Weber.
3030

31-
- ``supervisorctl reload`` now gives an error message if an argument is
31+
- ``supervisorctl reload`` now show an error message if an argument is
3232
given. Patch by Joel Krauska.
3333

34+
- ``supervisorctl`` commands ``avail``, ``reread``, and ``version`` now show
35+
an error message if an argument is given.
36+
3437
3.3.1 (2016-08-02)
3538
------------------
3639

supervisor/supervisorctl.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,6 +1043,11 @@ def _formatConfigInfo(self, configinfo):
10431043
return template % formatted
10441044

10451045
def do_avail(self, arg):
1046+
if arg:
1047+
self.handle_error('Error: avail accepts no arguments')
1048+
self.help_avail()
1049+
return
1050+
10461051
supervisor = self.ctl.get_supervisor()
10471052
try:
10481053
configinfo = supervisor.getAllConfigInfo()
@@ -1059,6 +1064,11 @@ def help_avail(self):
10591064
self.ctl.output("avail\t\t\tDisplay all configured processes")
10601065

10611066
def do_reread(self, arg):
1067+
if arg:
1068+
self.handle_error('Error: reread accepts no arguments')
1069+
self.help_reread()
1070+
return
1071+
10621072
supervisor = self.ctl.get_supervisor()
10631073
try:
10641074
result = supervisor.reloadConfig()
@@ -1257,6 +1267,11 @@ def help_open(self):
12571267
self.ctl.output("\t\t(for UNIX domain socket, use unix:///socket/path)")
12581268

12591269
def do_version(self, arg):
1270+
if arg:
1271+
self.handle_error('Error: version accepts no arguments')
1272+
self.help_version()
1273+
return
1274+
12601275
if not self.ctl.upcheck():
12611276
return
12621277
supervisor = self.ctl.get_supervisor()

supervisor/tests/test_supervisorctl.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1256,6 +1256,14 @@ def test_version(self):
12561256
plugin.do_version(None)
12571257
self.assertEqual(plugin.ctl.stdout.getvalue(), '3000\n')
12581258

1259+
def test_version_arg(self):
1260+
plugin = self._makeOne()
1261+
result = plugin.do_version('bad')
1262+
self.assertEqual(result, None)
1263+
val = plugin.ctl.stdout.getvalue()
1264+
self.assertTrue(val.startswith('Error: version accepts no arguments'), val)
1265+
self.assertEqual(plugin.ctl.exit_status, LSBInitErrorCode.GENERIC)
1266+
12591267
def test_version_upcheck_failed(self):
12601268
plugin = self._makeOne()
12611269
plugin.ctl.upcheck = lambda: False
@@ -1401,6 +1409,14 @@ def test_reread(self):
14011409
self.assertEqual(calls[0], [['added'], ['changed'], ['removed']])
14021410
self.assertEqual(plugin.ctl.exit_status, None)
14031411

1412+
def test_reread_arg(self):
1413+
plugin = self._makeOne()
1414+
result = plugin.do_reread('bad')
1415+
self.assertEqual(result, None)
1416+
val = plugin.ctl.stdout.getvalue()
1417+
self.assertTrue(val.startswith('Error: reread accepts no arguments'), val)
1418+
self.assertEqual(plugin.ctl.exit_status, LSBInitErrorCode.GENERIC)
1419+
14041420
def test_reread_cant_reread(self):
14051421
plugin = self._makeOne()
14061422
from supervisor import xmlrpc
@@ -1472,6 +1488,14 @@ def getAllConfigInfo(self):
14721488
result = plugin.do_avail('')
14731489
self.assertEqual(result, None)
14741490

1491+
def test_avail_arg(self):
1492+
plugin = self._makeOne()
1493+
result = plugin.do_avail('bad')
1494+
self.assertEqual(result, None)
1495+
val = plugin.ctl.stdout.getvalue()
1496+
self.assertTrue(val.startswith('Error: avail accepts no arguments'), val)
1497+
self.assertEqual(plugin.ctl.exit_status, LSBInitErrorCode.GENERIC)
1498+
14751499
def test_avail_shutdown_state(self):
14761500
plugin = self._makeOne()
14771501
supervisor = plugin.ctl.options._server.supervisor

0 commit comments

Comments
 (0)