LivebookTest.Config (livebook_test v0.1.0)

Copy Markdown View Source

Configuration management for LivebookTest.

Handles defaults, runtime options, and Mix config resolution. Configuration can be set via:

  • config/config.exs - application environment
  • CLI options - mix livebook.test --mode local --timeout 120_000
  • Programmatic - LivebookTest.run(paths: [...], mode: :local)

Application configuration

config :livebook_test,
  paths: ["livebooks/**/*.livemd"],
  exclude: ["**/broken/**/*.livemd"],
  dependency_mode: :remote,
  timeout: 60_000,
  local_deps: []

Option precedence

CLI options > programmatic keyword list > application environment > defaults

Summary

Types

Dependency resolution mode

Local dependency specification: keyword list mapping package names to filesystem paths

t()

Resolved configuration

Functions

Resolves configuration by merging defaults, application env, and overrides.

Types

dependency_mode()

@type dependency_mode() :: :remote | :local

Dependency resolution mode

local_deps()

@type local_deps() :: keyword()

Local dependency specification: keyword list mapping package names to filesystem paths

t()

@type t() :: %LivebookTest.Config{
  dependency_mode: dependency_mode(),
  exclude: [String.t()],
  local_deps: local_deps(),
  paths: [String.t()],
  timeout: non_neg_integer(),
  verbose: boolean()
}

Resolved configuration

Functions

resolve(overrides \\ [])

@spec resolve(keyword()) :: t()

Resolves configuration by merging defaults, application env, and overrides.

Examples

iex> config = LivebookTest.Config.resolve()
iex> is_struct(config, LivebookTest.Config)
true

iex> config = LivebookTest.Config.resolve(paths: ["my_notebooks/**/*.livemd"])
iex> config.paths
["my_notebooks/**/*.livemd"]