Skip to content

Command spadix test:si:saflint does not work

Bug fix

Story (problem description with debug output)

C:\Users\serge\source\repos\saf>spadix test:si:saflink
Traceback (most recent call last):
  File "C:\Python\lib\site-packages\lark\lexer.py", line 486, in lex
    token = self.root_lexer.next_token(lexer_state, parser_state)
  File "C:\Python\lib\site-packages\lark\lexer.py", line 398, in next_token
    raise UnexpectedCharacters(lex_state.text, line_ctr.char_pos, line_ctr.line, line_ctr.column,
lark.exceptions.UnexpectedCharacters: No terminal matches ':' in the current parser context, at line 1 col 3

si:saflink
  ^
Expected one of:
        * INT
        * ".no."
        * CNAME
        * ".gt."
        * COMMA
        * ".eq."
        * ".ge."
        * ".ne."
        * ".le."
        * ".lt."

Previous tokens: Token('CNAME', 'si')


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Python\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "c:\Python\Scripts\spadix.exe\__main__.py", line 7, in <module>
  File "C:\Python\lib\site-packages\spadix\__main__.py", line 22, in main
    return spadix.main()
  File "C:\Python\lib\site-packages\spadix\__init__.py", line 498, in main
    clp.parse_command(argv)
  File "C:\Python\lib\site-packages\spadix\__init__.py", line 425, in parse_command
    self.parse_package_list(params)
  File "C:\Python\lib\site-packages\spadix\__init__.py", line 266, in parse_package_list
    list_parser = ListParser(list_string)
  File "C:\Python\lib\site-packages\spadix\__init__.py", line 192, in __init__
    lists = parser.parse(input_string)
  File "C:\Python\lib\site-packages\lark\lark.py", line 581, in parse
    return self.parser.parse(text, start=start, on_error=on_error)
  File "C:\Python\lib\site-packages\lark\parser_frontends.py", line 106, in parse
    return self.parser.parse(stream, chosen_start, **kw)
  File "C:\Python\lib\site-packages\lark\parsers\lalr_parser.py", line 41, in parse
    return self.parser.parse(lexer, start)
  File "C:\Python\lib\site-packages\lark\parsers\lalr_parser.py", line 171, in parse
    return self.parse_from_state(parser_state)
  File "C:\Python\lib\site-packages\lark\parsers\lalr_parser.py", line 188, in parse_from_state
    raise e
  File "C:\Python\lib\site-packages\lark\parsers\lalr_parser.py", line 178, in parse_from_state
    for token in state.lexer.lex(state):
  File "C:\Python\lib\site-packages\lark\lexer.py", line 489, in lex
    raise e  # Raise the original UnexpectedCharacters. The root lexer raises it with the wrong expected set.
  File "C:\Python\lib\site-packages\lark\lexer.py", line 478, in lex
    yield lexer.next_token(lexer_state, parser_state)
  File "C:\Python\lib\site-packages\lark\lexer.py", line 398, in next_token
    raise UnexpectedCharacters(lex_state.text, line_ctr.char_pos, line_ctr.line, line_ctr.column,
lark.exceptions.UnexpectedCharacters: No terminal matches ':' in the current parser context, at line 1 col 3

si:saflink
  ^
Expected one of:
        * ".no."
        * ".gt."
        * COMMA
        * ".eq."
        * ".ge."
        * ".ne."
        * ".le."
        * ".lt."

Previous tokens: Token('CNAME', 'si')

Validation Expected behavior

???

Command to validate the fix

???

Design description (how will the dev implement this fix?)

  1. A unit test has to be created to reproduce this bug and guard against it in the future
  2. ???

Notes for reviewers and testers (Optional)

[???]

Do not edit below this line

~Bugfix