Skip to content

Rewrite the SLIM parser and move to protocol V0.5 with stdin/stdout - #96

Merged
konstantinvlasenko merged 2 commits into
masterfrom
slim-v05-parser
Oct 30, 2026
Merged

konstantinvlasenko merged 2 commits into
masterfrom
slim-v05-parser

Conversation

@konstantinvlasenko

Copy link
Copy Markdown
Owner
  • Parse instruction lists with a real deserializer instead of turning them into PowerShell code with regexes and Invoke-Expression; lengths may have more than six digits.
  • Run page code in its own runspace (global scope), so variables persist without rewriting $x= to $script:x= and pages cannot touch PowerSlim state.
  • Symbols are bound as PowerShell variables; values are never pasted into code. FitNesse text rules remain for '...', "$name_more" and te$name.
  • Report Slim -- V0.5: add the assign instruction, ABORT_SLIM_SUITE for StopSuite, IGNORE_SCRIPT_TEST / IGNORE_ALL_TESTS.
  • Port 1 runs over stdin/stdout (FitNesse default), so SLIM_PORT is no longer needed; TCP still works and stays covered by TestScenario.
  • Remote symbol sync sends base64 literals and skips symbols that came from the target agent; decimals stay Double.

Konstantin Vlasenko added 2 commits October 30, 2026 00:42
- Parse instruction lists with a real deserializer instead of turning them
  into PowerShell code with regexes and Invoke-Expression; lengths may have
  more than six digits.
- Run page code in its own runspace (global scope), so variables persist
  without rewriting $x= to $script:x= and pages cannot touch PowerSlim state.
- Symbols are bound as PowerShell variables; values are never pasted into
  code. FitNesse text rules remain for '...', "$name_more" and te$name.
- Report Slim -- V0.5: add the assign instruction, ABORT_SLIM_SUITE for
  StopSuite, IGNORE_SCRIPT_TEST / IGNORE_ALL_TESTS.
- Port 1 runs over stdin/stdout (FitNesse default), so SLIM_PORT is no longer
  needed; TCP still works and stays covered by TestScenario.
- Remote symbol sync sends base64 literals and skips symbols that came from
  the target agent; decimals stay Double.
Windows PowerShell 5.1 (.NET Framework) writes a BOM to a child's stdin when the console encoding is UTF-8; the runner read it as a bad length and exited. The stdio test now shows the runner's stderr when it gets no answer.
@konstantinvlasenko
konstantinvlasenko merged commit ff88669 into master Oct 30, 2026
10 checks passed
@konstantinvlasenko
konstantinvlasenko deleted the slim-v05-parser branch October 30, 2026 01:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant