Skip to content

LanguageServerRobot User guide

Mayan Jean edited this page Mar 23, 2018 · 31 revisions

LanguageServerRobot Application (LSR)

The LanguageServerRobot is a Windows console application, which can be launched using the following options.

USAGE

  • TypeCobol.LanguageServerRobot [OPTIONS]

OPTIONS DESCRIPTION:

Options Description
-l, --loglevel=VALUE Logging level (1=Lifecycle, 2=Message, 3=Protocol).
-v, --version Show version
-h, --help Show help
--lf, --logfile=PATH PATH the target log file
-p, --prompt Prompt to start a replay
-r, --robot Robot Client/Server mode.
-c, --client Robot Client/Replay mode.
--ioc Inversion of control.
--script=PATH PATH is the script file to be replayed.
--suite=PATH PATH is the session file to be replayed.
-s, --server=PATH PATH is the server path
--so, --soptions=VALUE Server options
-d, --dir=PATH PATH is the Scripts repository directory
-m, --monitoring Show the monitoring Window
-e, --stoperror Stop a replay at the first error
--init=PATH PATH is the json file for a LSP "initialize" request
--config=PATH PATH the json file for a LSP "workspace/didChangeConfiguration" notification.

Recording mode

In the LSR recording mode, it is assumed that it's a client process that launched the LSR process. The LSR recording mode is specified using the following options:

Options Description
-r, --robot A Client launching a LSR process can redirect LSR standard Input/Output Stream, that is, it can send Json RPC LSP Messages using its output Stream and receive Json RPC LSP messages from the server using its Input Stream.
-s, --server=PATH PATH is the server path, it is the full path name to the server location, the server must be an Operating System executable process. LSR will redirect the server's standard Input/Output Stream to itself.
-d, --dir=PATH PATH is the Scripts repository directory, it is the directory where all sessions files and scripts document files will be stored. The default value for this option is: C:\Users\<user_name>\AppData\Roaming\LanguageServerRobot\Repository. Here <user_name> is your user name on your machine
--so, --soptions=VALUE Server options, here Server specific options can be specified as argument.s
-m, --monitoring Show the monitoring Window, The Language Server Robot Monitoring (LSRM) application will be launched and shown.

Replay mode

In the LSR replay mode it is assumed that a user launches the LSR application as a standalone process, by specifying a script or a session file to replayed. The LSR replay mode is specified using the following options:

Options Description
-c, --client Robot Client/Replay mode., the LSR application is launched by the user as a standalone application.
--script=PATH PATH is the script file to be replayed., a script file has a .tlsp extension.
--suite=PATH PATH is the session file to be replayed. a session as an * .slsp extension
--so, --soptions=VALUE Server options, here Server specific options can be specified as argument.s
-e, --stoperror Stop a replay at the first error, this option tells LSR to stop replaying at the first difference encountered.
--init=PATH PATH is the json file for a LSP "initialize" request, with this option one can specify a file containg the LSP JSon "initialize" request to be sent to the server, before replaying. This will override any other "initialize" request present in the script or session file.
--config=PATH PATH the json file for a LSP "workspace/didChangeConfiguration" notification., with this option one can specify a file containing the Json representation of a LSP "workspace/didChangeConfiguration" notification to be sent to thge server, before replaying. This will override any other "workspace/didChangeConfiguration" notification present in the script or session file.

Inversion of Control Replay mode

In the LSR Inversion of Control replay mode it is assumed that it is not a user that has launched the LSR application as a standalone process, but it is a server process which as decided to run LSR. Thus in replay mode if the server has redirected LSR standard Input/Output Stream to itself, LSR send LSP message on its standard output Stream, then the server will receive these messages on its standard Input Stream, and the server responds to LSR using its standard Output Stream.

We use Inversion of Control Replay Mode to create Server Unit tests that are replayed as Visual Studio Unit tests.

The LSR Inversion of Control Replay mode options are the same than those used for the Replay mode, with in addtion the -ioc option.

Options Description
--ioc Inversion of control.

See the following projects for an exemple of usage: