summaryrefslogtreecommitdiffstats
path: root/tests/ctrl/ctrl_test.ok
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2017-09-26 14:21:44 +0200
committerHarald Welte <laforge@gnumonks.org>2017-12-20 15:50:24 +0000
commit3da9aa6b6792407d57816ec4a4cdfd0b4b3434b8 (patch)
tree1bcb71940b90c2f3a1e27e0aab5a777c0f52489e /tests/ctrl/ctrl_test.ok
parent6cb9e7d8981e127161f14f22ad9271252c531aec (diff)
ctrl: tighten CTRL input parsing
Validate that incoming CTRL commands... - have decimal IDs, - return error on trailing characters, - have invalid characters in variable identifiers, - send detailed error messages as reply to the requestor. Adjust ctrl_test.{c,ok}, which best show the change in behavior. Message handling causes log messages on stderr; previously, stderr was empty. Add '[ignore]' in testsuite.at so that the nonempty stderr doesn't cause test failures. Change-Id: I96a9b6b6a3a5e0b80513aa9eaa727ae8c9c7d7a1
Diffstat (limited to 'tests/ctrl/ctrl_test.ok')
-rw-r--r--tests/ctrl/ctrl_test.ok76
1 files changed, 27 insertions, 49 deletions
diff --git a/tests/ctrl/ctrl_test.ok b/tests/ctrl/ctrl_test.ok
index 4a3a1696..087ebbc2 100644
--- a/tests/ctrl/ctrl_test.ok
+++ b/tests/ctrl/ctrl_test.ok
@@ -19,7 +19,7 @@ ok
test: 'GET 1 variable\n'
parsing:
id = '1'
-variable = 'variable\n'
+variable = 'variable'
value = '(null)'
reply = '(null)'
handling:
@@ -28,65 +28,51 @@ ok
test: 'GET 1 var\ni\nable'
parsing:
id = '1'
-variable = 'var\ni\nable'
-value = '(null)'
-reply = '(null)'
+reply = 'GET with trailing characters'
handling:
-replied: 'ERROR 1 Command not found'
+replied: 'ERROR 1 GET with trailing characters'
ok
test: 'GET 1 var\ti\table'
parsing:
id = '1'
-variable = 'var\ti\table'
-value = '(null)'
-reply = '(null)'
+reply = 'GET variable contains invalid characters'
handling:
-replied: 'ERROR 1 Command not found'
+replied: 'ERROR 1 GET variable contains invalid characters'
ok
test: 'GET 1 var\ri\rable'
parsing:
id = '1'
-variable = 'var\ri\rable'
-value = '(null)'
-reply = '(null)'
+reply = 'GET variable contains invalid characters'
handling:
-replied: 'ERROR 1 Command not found'
+replied: 'ERROR 1 GET variable contains invalid characters'
ok
test: 'GET 1 variable value'
parsing:
id = '1'
-variable = 'variable'
-value = '(null)'
-reply = '(null)'
+reply = 'GET with trailing characters'
handling:
-replied: 'ERROR 1 Command not found'
+replied: 'ERROR 1 GET with trailing characters'
ok
test: 'GET 1 variable value\n'
parsing:
id = '1'
-variable = 'variable'
-value = '(null)'
-reply = '(null)'
+reply = 'GET with trailing characters'
handling:
-replied: 'ERROR 1 Command not found'
+replied: 'ERROR 1 GET with trailing characters'
ok
test: 'GET 1 variable multiple value tokens'
parsing:
id = '1'
-variable = 'variable'
-value = '(null)'
-reply = '(null)'
+reply = 'GET with trailing characters'
handling:
-replied: 'ERROR 1 Command not found'
+replied: 'ERROR 1 GET with trailing characters'
ok
test: 'GET 1 variable multiple value tokens\n'
parsing:
id = '1'
-variable = 'variable'
-value = '(null)'
-reply = '(null)'
+reply = 'GET with trailing characters'
handling:
-replied: 'ERROR 1 Command not found'
+replied: 'ERROR 1 GET with trailing characters'
ok
test: 'SET 1 variable value'
parsing:
@@ -108,21 +94,17 @@ replied: 'ERROR 1 Command not found'
ok
test: 'SET weird_id variable value'
parsing:
-id = 'weird_id'
-variable = 'variable'
-value = 'value'
-reply = '(null)'
+id = 'err'
+reply = 'Invalid message ID number'
handling:
-replied: 'ERROR weird_id Command not found'
+replied: 'ERROR err Invalid message ID number'
ok
test: 'SET weird_id variable value\n'
parsing:
-id = 'weird_id'
-variable = 'variable'
-value = 'value'
-reply = '(null)'
+id = 'err'
+reply = 'Invalid message ID number'
handling:
-replied: 'ERROR weird_id Command not found'
+replied: 'ERROR err Invalid message ID number'
ok
test: 'SET 1 variable multiple value tokens'
parsing:
@@ -162,21 +144,17 @@ replied: 'ERROR 1 Command not found'
ok
test: 'SET \n special_char_id value'
parsing:
-id = '\n'
-variable = 'special_char_id'
-value = 'value'
-reply = '(null)'
+id = 'err'
+reply = 'Invalid message ID number'
handling:
-replied: 'ERROR \n Command not found'
+replied: 'ERROR err Invalid message ID number'
ok
test: 'SET \t special_char_id value'
parsing:
-id = '\t'
-variable = 'special_char_id'
-value = 'value'
-reply = '(null)'
+id = 'err'
+reply = 'Invalid message ID number'
handling:
-replied: 'ERROR \t Command not found'
+replied: 'ERROR err Invalid message ID number'
ok
test: 'GET_REPLY 1 variable OK'
parsing: