363 lines
14 KiB
OCaml
363 lines
14 KiB
OCaml
|
open Cli_expect
|
||
|
|
||
|
let%expect_test _ =
|
||
|
(* TODO good? *)
|
||
|
run_ligo_good [] ;
|
||
|
[%expect {| Ligo needs a command. Do ligo --help |} ] ;
|
||
|
|
||
|
run_ligo_good [ "--help" ] ;
|
||
|
[%expect {|
|
||
|
NAME
|
||
|
ligo
|
||
|
|
||
|
SYNOPSIS
|
||
|
ligo COMMAND ...
|
||
|
|
||
|
Subcommand: compile a contract. See `ligo compile-contract --help' for a list
|
||
|
of options specific to this subcommand.
|
||
|
compile-contract
|
||
|
|
||
|
|
||
|
Subcommand: compile an initial storage in ligo syntax to a michelson
|
||
|
expression. The resulting michelson expression can be passed as an argument
|
||
|
in a transaction which originates a contract. See `ligo compile-storage
|
||
|
--help' for a list of options specific to this subcommand.
|
||
|
compile-storage
|
||
|
|
||
|
|
||
|
Subcommand: compile parameters to a michelson expression. The resulting
|
||
|
michelson expression can be passed as an argument in a transaction which
|
||
|
calls a contract. See `ligo compile-parameter --help' for a list of options
|
||
|
specific to this subcommand.
|
||
|
compile-parameter
|
||
|
|
||
|
|
||
|
Subcommand: compile to a michelson value.
|
||
|
compile-expression
|
||
|
|
||
|
|
||
|
Subcommand: evaluate a given definition.
|
||
|
evaluate-value
|
||
|
|
||
|
|
||
|
Subcommand: run a function with the given parameter.
|
||
|
run-function
|
||
|
|
||
|
|
||
|
Subcommand: run a smart-contract with the given storage and input.
|
||
|
dry-run
|
||
|
|
||
|
|
||
|
OPTIONS
|
||
|
--help[=FMT] (default=auto)
|
||
|
Show this help in format FMT. The value FMT must be one of `auto',
|
||
|
`pager', `groff' or `plain'. With `auto', the format is `pager` or
|
||
|
`plain' whenever the TERM env var is `dumb' or undefined. |} ] ;
|
||
|
|
||
|
run_ligo_good [ "compile-contract" ; "--help" ] ;
|
||
|
[%expect {|
|
||
|
NAME
|
||
|
ligo-compile-contract
|
||
|
|
||
|
SYNOPSIS
|
||
|
ligo compile-contract [OPTION]... SOURCE_FILE ENTRY_POINT
|
||
|
|
||
|
ARGUMENTS
|
||
|
ENTRY_POINT (required)
|
||
|
ENTRY_POINT is entry-point that will be compiled.
|
||
|
|
||
|
SOURCE_FILE (required)
|
||
|
SOURCE_FILE is the path to the .ligo or .mligo file of the
|
||
|
contract.
|
||
|
|
||
|
OPTIONS
|
||
|
--format=DISPLAY_FORMAT, --display-format=DISPLAY_FORMAT
|
||
|
(absent=human-readable)
|
||
|
DISPLAY_FORMAT is the format that will be used by the CLI.
|
||
|
Available formats are 'dev', 'json', and 'human-readable'
|
||
|
(default). When human-readable lacks details (we are still
|
||
|
tweaking it), please contact us and use another format in the
|
||
|
meanwhile.
|
||
|
|
||
|
--help[=FMT] (default=auto)
|
||
|
Show this help in format FMT. The value FMT must be one of `auto',
|
||
|
`pager', `groff' or `plain'. With `auto', the format is `pager` or
|
||
|
`plain' whenever the TERM env var is `dumb' or undefined.
|
||
|
|
||
|
--michelson-format=MICHELSON_FORMAT (absent=text)
|
||
|
MICHELSON_FORMAT is the format that will be used by
|
||
|
compile-contract for the resulting Michelson. Available formats
|
||
|
are 'text' (default), 'json' and 'hex'.
|
||
|
|
||
|
-s SYNTAX, --syntax=SYNTAX (absent=auto)
|
||
|
SYNTAX is the syntax that will be used. Currently supported
|
||
|
syntaxes are "pascaligo" and "cameligo". By default, the syntax is
|
||
|
guessed from the extension (.ligo and .mligo, respectively). |} ] ;
|
||
|
|
||
|
run_ligo_good [ "compile-parameter" ; "--help" ] ;
|
||
|
[%expect {|
|
||
|
NAME
|
||
|
ligo-compile-parameter
|
||
|
|
||
|
SYNOPSIS
|
||
|
ligo compile-parameter [OPTION]... SOURCE_FILE ENTRY_POINT
|
||
|
PARAMETER_EXPRESSION
|
||
|
|
||
|
ARGUMENTS
|
||
|
ENTRY_POINT (required)
|
||
|
ENTRY_POINT is entry-point that will be compiled.
|
||
|
|
||
|
PARAMETER_EXPRESSION (required)
|
||
|
PARAMETER_EXPRESSION is the expression that will be compiled.
|
||
|
|
||
|
SOURCE_FILE (required)
|
||
|
SOURCE_FILE is the path to the .ligo or .mligo file of the
|
||
|
contract.
|
||
|
|
||
|
OPTIONS
|
||
|
--format=DISPLAY_FORMAT, --display-format=DISPLAY_FORMAT
|
||
|
(absent=human-readable)
|
||
|
DISPLAY_FORMAT is the format that will be used by the CLI.
|
||
|
Available formats are 'dev', 'json', and 'human-readable'
|
||
|
(default). When human-readable lacks details (we are still
|
||
|
tweaking it), please contact us and use another format in the
|
||
|
meanwhile.
|
||
|
|
||
|
--help[=FMT] (default=auto)
|
||
|
Show this help in format FMT. The value FMT must be one of `auto',
|
||
|
`pager', `groff' or `plain'. With `auto', the format is `pager` or
|
||
|
`plain' whenever the TERM env var is `dumb' or undefined.
|
||
|
|
||
|
--michelson-format=MICHELSON_FORMAT (absent=text)
|
||
|
MICHELSON_FORMAT is the format that will be used by
|
||
|
compile-contract for the resulting Michelson. Available formats
|
||
|
are 'text' (default), 'json' and 'hex'.
|
||
|
|
||
|
-s SYNTAX, --syntax=SYNTAX (absent=auto)
|
||
|
SYNTAX is the syntax that will be used. Currently supported
|
||
|
syntaxes are "pascaligo" and "cameligo". By default, the syntax is
|
||
|
guessed from the extension (.ligo and .mligo, respectively). |} ] ;
|
||
|
|
||
|
run_ligo_good [ "compile-storage" ; "--help" ] ;
|
||
|
[%expect {|
|
||
|
NAME
|
||
|
ligo-compile-storage
|
||
|
|
||
|
SYNOPSIS
|
||
|
ligo compile-storage [OPTION]... SOURCE_FILE ENTRY_POINT
|
||
|
STORAGE_EXPRESSION
|
||
|
|
||
|
ARGUMENTS
|
||
|
ENTRY_POINT (required)
|
||
|
ENTRY_POINT is entry-point that will be compiled.
|
||
|
|
||
|
SOURCE_FILE (required)
|
||
|
SOURCE_FILE is the path to the .ligo or .mligo file of the
|
||
|
contract.
|
||
|
|
||
|
STORAGE_EXPRESSION (required)
|
||
|
STORAGE_EXPRESSION is the expression that will be compiled.
|
||
|
|
||
|
OPTIONS
|
||
|
--format=DISPLAY_FORMAT, --display-format=DISPLAY_FORMAT
|
||
|
(absent=human-readable)
|
||
|
DISPLAY_FORMAT is the format that will be used by the CLI.
|
||
|
Available formats are 'dev', 'json', and 'human-readable'
|
||
|
(default). When human-readable lacks details (we are still
|
||
|
tweaking it), please contact us and use another format in the
|
||
|
meanwhile.
|
||
|
|
||
|
--help[=FMT] (default=auto)
|
||
|
Show this help in format FMT. The value FMT must be one of `auto',
|
||
|
`pager', `groff' or `plain'. With `auto', the format is `pager` or
|
||
|
`plain' whenever the TERM env var is `dumb' or undefined.
|
||
|
|
||
|
--michelson-format=MICHELSON_FORMAT (absent=text)
|
||
|
MICHELSON_FORMAT is the format that will be used by
|
||
|
compile-contract for the resulting Michelson. Available formats
|
||
|
are 'text' (default), 'json' and 'hex'.
|
||
|
|
||
|
-s SYNTAX, --syntax=SYNTAX (absent=auto)
|
||
|
SYNTAX is the syntax that will be used. Currently supported
|
||
|
syntaxes are "pascaligo" and "cameligo". By default, the syntax is
|
||
|
guessed from the extension (.ligo and .mligo, respectively). |} ] ;
|
||
|
|
||
|
run_ligo_good [ "dry-run" ; "--help" ] ;
|
||
|
[%expect {|
|
||
|
NAME
|
||
|
ligo-dry-run
|
||
|
|
||
|
SYNOPSIS
|
||
|
ligo dry-run [OPTION]... SOURCE_FILE ENTRY_POINT PARAMETER_EXPRESSION
|
||
|
STORAGE_EXPRESSION
|
||
|
|
||
|
ARGUMENTS
|
||
|
ENTRY_POINT (required)
|
||
|
ENTRY_POINT is entry-point that will be compiled.
|
||
|
|
||
|
PARAMETER_EXPRESSION (required)
|
||
|
PARAMETER_EXPRESSION is the expression that will be compiled.
|
||
|
|
||
|
SOURCE_FILE (required)
|
||
|
SOURCE_FILE is the path to the .ligo or .mligo file of the
|
||
|
contract.
|
||
|
|
||
|
STORAGE_EXPRESSION (required)
|
||
|
STORAGE_EXPRESSION is the expression that will be compiled.
|
||
|
|
||
|
OPTIONS
|
||
|
--amount=AMOUNT (absent=0)
|
||
|
AMOUNT is the amount the dry-run transaction will use.
|
||
|
|
||
|
--format=DISPLAY_FORMAT, --display-format=DISPLAY_FORMAT
|
||
|
(absent=human-readable)
|
||
|
DISPLAY_FORMAT is the format that will be used by the CLI.
|
||
|
Available formats are 'dev', 'json', and 'human-readable'
|
||
|
(default). When human-readable lacks details (we are still
|
||
|
tweaking it), please contact us and use another format in the
|
||
|
meanwhile.
|
||
|
|
||
|
--help[=FMT] (default=auto)
|
||
|
Show this help in format FMT. The value FMT must be one of `auto',
|
||
|
`pager', `groff' or `plain'. With `auto', the format is `pager` or
|
||
|
`plain' whenever the TERM env var is `dumb' or undefined.
|
||
|
|
||
|
-s SYNTAX, --syntax=SYNTAX (absent=auto)
|
||
|
SYNTAX is the syntax that will be used. Currently supported
|
||
|
syntaxes are "pascaligo" and "cameligo". By default, the syntax is
|
||
|
guessed from the extension (.ligo and .mligo, respectively).
|
||
|
|
||
|
--sender=SENDER
|
||
|
SENDER is the sender the dry-run transaction will use.
|
||
|
|
||
|
--source=SOURCE
|
||
|
SOURCE is the source the dry-run transaction will use. |} ] ;
|
||
|
|
||
|
run_ligo_good [ "run-function" ; "--help" ] ;
|
||
|
[%expect {|
|
||
|
NAME
|
||
|
ligo-run-function
|
||
|
|
||
|
SYNOPSIS
|
||
|
ligo run-function [OPTION]... SOURCE_FILE ENTRY_POINT
|
||
|
PARAMETER_EXPRESSION
|
||
|
|
||
|
ARGUMENTS
|
||
|
ENTRY_POINT (required)
|
||
|
ENTRY_POINT is entry-point that will be compiled.
|
||
|
|
||
|
PARAMETER_EXPRESSION (required)
|
||
|
PARAMETER_EXPRESSION is the expression that will be compiled.
|
||
|
|
||
|
SOURCE_FILE (required)
|
||
|
SOURCE_FILE is the path to the .ligo or .mligo file of the
|
||
|
contract.
|
||
|
|
||
|
OPTIONS
|
||
|
--amount=AMOUNT (absent=0)
|
||
|
AMOUNT is the amount the dry-run transaction will use.
|
||
|
|
||
|
--format=DISPLAY_FORMAT, --display-format=DISPLAY_FORMAT
|
||
|
(absent=human-readable)
|
||
|
DISPLAY_FORMAT is the format that will be used by the CLI.
|
||
|
Available formats are 'dev', 'json', and 'human-readable'
|
||
|
(default). When human-readable lacks details (we are still
|
||
|
tweaking it), please contact us and use another format in the
|
||
|
meanwhile.
|
||
|
|
||
|
--help[=FMT] (default=auto)
|
||
|
Show this help in format FMT. The value FMT must be one of `auto',
|
||
|
`pager', `groff' or `plain'. With `auto', the format is `pager` or
|
||
|
`plain' whenever the TERM env var is `dumb' or undefined.
|
||
|
|
||
|
-s SYNTAX, --syntax=SYNTAX (absent=auto)
|
||
|
SYNTAX is the syntax that will be used. Currently supported
|
||
|
syntaxes are "pascaligo" and "cameligo". By default, the syntax is
|
||
|
guessed from the extension (.ligo and .mligo, respectively).
|
||
|
|
||
|
--sender=SENDER
|
||
|
SENDER is the sender the dry-run transaction will use.
|
||
|
|
||
|
--source=SOURCE
|
||
|
SOURCE is the source the dry-run transaction will use. |} ] ;
|
||
|
|
||
|
run_ligo_good [ "evaluate-value" ; "--help" ] ;
|
||
|
[%expect {|
|
||
|
NAME
|
||
|
ligo-evaluate-value
|
||
|
|
||
|
SYNOPSIS
|
||
|
ligo evaluate-value [OPTION]... SOURCE_FILE ENTRY_POINT
|
||
|
|
||
|
ARGUMENTS
|
||
|
ENTRY_POINT (required)
|
||
|
ENTRY_POINT is entry-point that will be compiled.
|
||
|
|
||
|
SOURCE_FILE (required)
|
||
|
SOURCE_FILE is the path to the .ligo or .mligo file of the
|
||
|
contract.
|
||
|
|
||
|
OPTIONS
|
||
|
--amount=AMOUNT (absent=0)
|
||
|
AMOUNT is the amount the dry-run transaction will use.
|
||
|
|
||
|
--format=DISPLAY_FORMAT, --display-format=DISPLAY_FORMAT
|
||
|
(absent=human-readable)
|
||
|
DISPLAY_FORMAT is the format that will be used by the CLI.
|
||
|
Available formats are 'dev', 'json', and 'human-readable'
|
||
|
(default). When human-readable lacks details (we are still
|
||
|
tweaking it), please contact us and use another format in the
|
||
|
meanwhile.
|
||
|
|
||
|
--help[=FMT] (default=auto)
|
||
|
Show this help in format FMT. The value FMT must be one of `auto',
|
||
|
`pager', `groff' or `plain'. With `auto', the format is `pager` or
|
||
|
`plain' whenever the TERM env var is `dumb' or undefined.
|
||
|
|
||
|
-s SYNTAX, --syntax=SYNTAX (absent=auto)
|
||
|
SYNTAX is the syntax that will be used. Currently supported
|
||
|
syntaxes are "pascaligo" and "cameligo". By default, the syntax is
|
||
|
guessed from the extension (.ligo and .mligo, respectively).
|
||
|
|
||
|
--sender=SENDER
|
||
|
SENDER is the sender the dry-run transaction will use.
|
||
|
|
||
|
--source=SOURCE
|
||
|
SOURCE is the source the dry-run transaction will use. |} ] ;
|
||
|
|
||
|
run_ligo_good [ "compile-expression" ; "--help" ] ;
|
||
|
[%expect {|
|
||
|
NAME
|
||
|
ligo-compile-expression
|
||
|
|
||
|
SYNOPSIS
|
||
|
ligo compile-expression [OPTION]... _EXPRESSION
|
||
|
|
||
|
ARGUMENTS
|
||
|
_EXPRESSION (required)
|
||
|
_EXPRESSION is the expression that will be compiled.
|
||
|
|
||
|
OPTIONS
|
||
|
--format=DISPLAY_FORMAT, --display-format=DISPLAY_FORMAT
|
||
|
(absent=human-readable)
|
||
|
DISPLAY_FORMAT is the format that will be used by the CLI.
|
||
|
Available formats are 'dev', 'json', and 'human-readable'
|
||
|
(default). When human-readable lacks details (we are still
|
||
|
tweaking it), please contact us and use another format in the
|
||
|
meanwhile.
|
||
|
|
||
|
--help[=FMT] (default=auto)
|
||
|
Show this help in format FMT. The value FMT must be one of `auto',
|
||
|
`pager', `groff' or `plain'. With `auto', the format is `pager` or
|
||
|
`plain' whenever the TERM env var is `dumb' or undefined.
|
||
|
|
||
|
--michelson-format=MICHELSON_FORMAT (absent=text)
|
||
|
MICHELSON_FORMAT is the format that will be used by
|
||
|
compile-contract for the resulting Michelson. Available formats
|
||
|
are 'text' (default), 'json' and 'hex'.
|
||
|
|
||
|
-s SYNTAX, --syntax=SYNTAX (absent=auto)
|
||
|
SYNTAX is the syntax that will be used. Currently supported
|
||
|
syntaxes are "pascaligo" and "cameligo". By default, the syntax is
|
||
|
guessed from the extension (.ligo and .mligo, respectively). |} ] ;
|