v3.23.5: the TERMINAL RESPONSE result list and its spec corrections
The step editor's result select (the expect's respond, the proactive-drain's respond/first) offered five symbolic values with no hex. It now offers the full TS 102 223 v18.3.0 8.12.0 list (00-3F), labelled '<hex> - <alias>' (or '<hex> - <spec name>'), plus a manual hex entry, and an optional additional-information byte for the general result (83 02 <result> <info>, default 00; the 8.12.2 terminal-problem values are suggested through a datalist). The script aliases were corrected to the spec: refused 03->22, not_understood 04->32, modified 06->07, no_response 22->12 - a stored script using one of them now answers with the corrected value; no_response stays accepted for compatibility but is no longer offered by the editor. The server's TR decode tables (_RESULT_NAMES_BASIC/_GENERAL, a GSM 11.14 mix displayed in the proactive log) are replaced by the spec table plus the 8.12.2 additional-information names; the dcs field parses as hex (0A used to be refused and 10 read as decimal 10); the drain summary's 22 label is fixed. The result labels are not translated (spec text); the unused RU keys were removed. Shared fixture frontend/tests/tr_results.json, drift-guarded by both suites. 855 frontend + 838 Python; sw cache simple-v418.
This commit is contained in:
@@ -1044,13 +1044,21 @@ class TestProactiveDecode(unittest.TestCase):
|
||||
entry = {'type_hex': '26', 'qualifier': '00'}
|
||||
_record_tr(entry, bytes.fromhex('8103032600820281839305521001100083022001'))
|
||||
self.assertEqual(entry['tr_result'], '2001')
|
||||
self.assertEqual(entry['tr_result_name'], 'ME currently unable to process command')
|
||||
self.assertEqual(entry['tr_result_name'], 'Terminal currently unable to process command')
|
||||
# the general result's additional information (8.12.2 for 0x20)
|
||||
self.assertEqual(entry['tr_result_info_name'], 'Screen is busy')
|
||||
self.assertEqual(entry['tr_hex'], '93055210011000')
|
||||
|
||||
def test_record_tr_unknown_result(self):
|
||||
# 0x07 is defined (v3.23.5 corrected the table: 'Command performed
|
||||
# with modification'); a reserved value (0x40) carries no name
|
||||
entry = {'type_hex': '26', 'qualifier': '00'}
|
||||
_record_tr(entry, bytes.fromhex('810303260082028181030107'))
|
||||
self.assertEqual(entry['tr_result'], '07')
|
||||
self.assertEqual(entry['tr_result_name'], 'Command performed with modification')
|
||||
entry = {'type_hex': '26', 'qualifier': '00'}
|
||||
_record_tr(entry, bytes.fromhex('810303260082028181030140'))
|
||||
self.assertEqual(entry['tr_result'], '40')
|
||||
self.assertNotIn('tr_result_name', entry)
|
||||
|
||||
def test_record_tr_no_result_tlv(self):
|
||||
@@ -1257,7 +1265,9 @@ class TestExpandedRemoteResponse(unittest.TestCase):
|
||||
# Result TLV: 03 01 6A (error_code 0x6A)
|
||||
_record_tr(entry, bytes.fromhex('81030326008202818303016A'))
|
||||
self.assertEqual(entry['tr_result'], '6a')
|
||||
self.assertEqual(entry['tr_result_name'], 'Command performed with limited understanding')
|
||||
# 0x6A is not a defined general result (TS 102 223 8.12.0) - the old
|
||||
# 'Command performed with limited understanding' fallback was invented
|
||||
self.assertNotIn('tr_result_name', entry)
|
||||
|
||||
def test_expanded_response_with_chaining(self):
|
||||
entry = {'type_hex': '26', 'qualifier': '00'}
|
||||
|
||||
Reference in New Issue
Block a user