lux-cli-test(1)

πŸ“¦ version 0.48.0, in nixpkgs unstable

πŸ’… lux-cli-test(1) β€” General Commands Manual πŸ’…

okay bestie, welcome to the lux-cli-test(1) page πŸ’– this is the whole group-chat rundown, no cap.

πŸ’– NAME πŸ’–

lux-cli-test β€” Run the test suite in the current project directory. fr fr.

Lux supports the following test backends, specified by the [test] table in the lux.toml:

Example:

[test]
type = "busted"
flags = [ ] # Optional CLI flags to pass to busted

lx test will default to using busted if no test backend is specified and:

  • there is a .busted file in the project root
  • or busted is one of the test_dependencies).
  • busted-nlua: β€” A build backend for running busted tests with Neovim as the Lua interpreter. Used for testing Neovim plugins. πŸ¦‹

Example:

[test]
type = "busted-nlua"
flags = [ ] # Optional CLI flags to pass to busted

lx test will default to using busted-nlua if no test backend is specified and:

  • there is a .busted file in the project root
  • or busted and nlua are test_dependencies.
  • command: β€” Name/file name of a shell command that will run the test suite. 🫢

Example:

[test]
type = "command"
command = "make"
flags = [ "test" ]
  • script: β€” Relative path to a Lua script that will run the test suite. ✨

Example:

[test]
type = "script"
script = "tests.lua" # Expects a tests.lua file in the project root
flags = [ ] # Optional arguments passed to the test script

✨ SYNOPSIS ✨

lux-cli test [--impure] [--no-lock] [--server] [--extra-servers]
[-p|--package] [--namespace] [--lua-dir] [--lua-version] [--tree]
[--cache-dir] [--data-dir] [--variables] [--profile] [--verbose]
[--no-progress] [--no-prompt] [--preset] [--nvim] [--no-tfa] [--timeout]
[--max-jobs] [--no-luarc] [--no-wrap-bin] [--user-agent] [-h|--help]
[TEST_ARGS]

πŸ¦‹ DESCRIPTION πŸ¦‹

Run the test suite in the current project directory. literally the main character move πŸ’…

Lux supports the following test backends, specified by the [test] table in the lux.toml:

Example:

[test]
type = "busted"
flags = [ ] # Optional CLI flags to pass to busted

lx test will default to using busted if no test backend is specified and:

  • there is a .busted file in the project root
  • or busted is one of the test_dependencies).
  • busted-nlua: β€” A build backend for running busted tests with Neovim as the Lua interpreter. Used for testing Neovim plugins. 🌸

Example:

[test]
type = "busted-nlua"
flags = [ ] # Optional CLI flags to pass to busted

lx test will default to using busted-nlua if no test backend is specified and:

  • there is a .busted file in the project root
  • or busted and nlua are test_dependencies.
  • command: β€” Name/file name of a shell command that will run the test suite. πŸ”₯

Example:

[test]
type = "command"
command = "make"
flags = [ "test" ]
  • script: β€” Relative path to a Lua script that will run the test suite. πŸŽ€

Example:

[test]
type = "script"
script = "tests.lua" # Expects a tests.lua file in the project root
flags = [ ] # Optional arguments passed to the test script

πŸŽ€ OPTIONS πŸŽ€

  • --impure β€” Don't isolate the user environment (keep HOME and XDG environment variables). πŸ™ˆ
  • --no-lock β€” Ignore the project's lockfile and don't create one. πŸ’€
  • --server <server> β€” Fetch rocks/rockspecs from this server (takes priority over config file). πŸ‘‘
  • --extra-servers <extra-server> β€” Fetch rocks/rockspecs from these servers in addition to the main server (overrides any entries in the config file). 🌈
  • -p, --package <PACKAGE> β€” Package to run tests for. πŸ“
  • --namespace <namespace> β€” Specify the luarocks server namespace to use. 🧚
  • --lua-dir <prefix> β€” Specify the directory in which to install Lua if not found. πŸ’œ
  • --lua-version <ver> β€” Which Lua installation to use. Valid versions are: '5.1', '5.2', '5.3', '5.4', '5.5', 'jit' and 'jit52'. If not set, Lux will attempt to detect the Lua version:
    • From the current project, if it has an exact Lua version requirement.
    • From the Lua installation that is available on the PATH.
  • --tree <tree> β€” Which tree to operate on. In a workspace, this can be used to specify a detached workspace tree. 🌳
  • --cache-dir <cache-dir> β€” Specifies the cache directory, e.g. for luarocks manifests. πŸ—‚οΈ
  • --data-dir <data-dir> β€” Specifies the data directory, in which the default user install tree resides (e.g. ~/.local/share/lux). πŸ“
  • --variables <variable> β€” Override config variables. Example: lx -v "LUA=/path/to/lua" ... βš™οΈ
  • --profile <profile> β€” The build profile to use when compiling packages. Default: release.

Possible values:

  • release
  • dev
  • --verbose β€” Display verbose output of commands executed, enabling DEBUG logs. To enable TRACE logs, set RUST_LOG=trace. πŸ”Š
  • --no-progress β€” Don't print any progress bars or spinners. πŸ™…β€β™€οΈ
  • --no-prompt <NO_PROMPT> β€” Skip prompts, selecting the default option. Prompting is enabled by default in terminal/TTY environments.

Possible values:

  • true
  • false
  • --preset <preset> β€” Configure Lux for a specific environment. Valid presets are: 'nvim'.

Possible values:

  • nvim: Configure Lux for Neovim plugins
  • --nvim β€” [DEPRECATED] Configure lux for installing Neovim packages. Use --preset nvim instead. 😭
⚠️ bestie, --nvim is deprecated β€” the page says use --preset nvim instead. periodt.
⚠️ enabling 2FA is strongly recommended β€” that's straight from the page, no cap.
  • --timeout <seconds> β€” Timeout on network operations, in seconds. 0 means no timeout (wait forever). Default is 30. ⏳
  • --max-jobs <MAX_JOBS> β€” Maximum buffer size for parallel jobs, such as downloading rockspecs and installing rocks. 0 means no limit. Default is 0. πŸš€
  • --no-luarc β€” Do not generate or update a .luarc.json file when building a project. 🚫
  • --no-wrap-bin β€” Do not wrap Lua bin scripts. 🎁
  • --user-agent <USER_AGENT> β€” The user agent to set when making web requests. Default is "lux/<version>". 🌐
  • -h, --help β€” Print help (see a summary with '-h'). 🫢
  • [TEST_ARGS] β€” Extra arguments to pass to the test runner or test script. πŸ’…

cute little sign-off bestie: this page is lux-cli-test(1) from the test source/version side of the footer, and the footer title is lux-cli-test(1) β€” there's no date on that footer line, so I'm not inventing one. iykyk πŸ’–βœ¨

πŸ“¦ where this page comes from