Hegel.Settings (hegel_elixir v0.1.1)

View Source

Configuration for one Hegel property run.

Most fields map to libhegel settings. libhegel controls generation size and the shrinking budget through its choice-sequence engine.

Summary

Functions

Creates and validates settings from a keyword list or map.

Types

backend()

@type backend() :: :auto | :default | :urandom

database()

@type database() :: :default | :disabled | false | String.t()

health_check()

@type health_check() ::
  :filter_too_much
  | :too_slow
  | :test_cases_too_large
  | :large_initial_test_case

mode()

@type mode() :: :test_run | :single_test_case

phase()

@type phase() :: :explicit | :reuse | :generate | :target | :shrink

t()

@type t() :: %Hegel.Settings{
  backend: backend(),
  database: database(),
  database_key: String.t() | nil,
  derandomize: boolean() | nil,
  inspect_opts: keyword(),
  mode: mode(),
  phases: [phase()],
  report_multiple_failures: boolean(),
  reproduce: String.t() | nil,
  seed: non_neg_integer() | nil,
  stateful_step_count: pos_integer(),
  suppress_health_check: [health_check()],
  test_cases: non_neg_integer(),
  verbosity: verbosity()
}

verbosity()

@type verbosity() :: :quiet | :normal | :verbose | :debug

Functions

new(options \\ [])

@spec new(t() | keyword() | map()) :: t()

Creates and validates settings from a keyword list or map.