test: coverage for codec/transport/otel/grpc/lease/gc/vm#69
Merged
GitHub Actions / Test Results
succeeded
Jul 9, 2026 in 0s
All 634 tests pass in 3m 21s
Annotations
Check notice on line 0 in .github
github-actions / Test Results
634 tests found
There are 634 tests, see "Raw output" for the full list of tests.
Raw output
Elixir.Controls.AccumulatorPropertiesTest ‑ property a monotone sequence accrues exactly last - first
Elixir.Controls.AccumulatorPropertiesTest ‑ property a reset accrues exactly the new reading
Elixir.Controls.AccumulatorPropertiesTest ‑ property flushing at arbitrary points conserves the grand total
Elixir.Controls.AccumulatorPropertiesTest ‑ property observing the same reading twice adds nothing
Elixir.Controls.AccumulatorPropertiesTest ‑ property the total is never negative, resets included
Elixir.Controls.EwmaPropertiesTest ‑ property a unit-quantity sample is filtered and comes back as the same unit
Elixir.Controls.EwmaPropertiesTest ‑ property after one update the value stays within [min(prev, sample), max(prev, sample)]
Elixir.Controls.EwmaPropertiesTest ‑ property feeding the current value back in is a fixed point
Elixir.Controls.EwmaPropertiesTest ‑ property the first sample seeds the value exactly, regardless of dt
Elixir.Controls.EwmaTest ‑ test with a non-float Unit.Quantity type (Unit.Information) filters via scale/add and stays an Information
Elixir.Controls.EwmaTest ‑ test with a non-float Unit.Quantity type (Unit.Information) seeds with the first Information sample, unchanged
Elixir.Controls.EwmaTest ‑ test with floats a sample after ~3 tau reaches ~95% of a unit step
Elixir.Controls.EwmaTest ‑ test with floats equal dt with an alpha=0.5 tau halves toward the new sample
Elixir.Controls.EwmaTest ‑ test with floats seeds with the first sample (no warm-up ramp from zero)
Elixir.Controls.EwmaTest ‑ test with floats value/1 is nil before any sample
Elixir.Controls.RatePropertiesTest ‑ property a counter that went backwards skips and re-baselines to the new reading
Elixir.Controls.RatePropertiesTest ‑ property a forward counter over positive dt yields the exact non-negative rate
Elixir.Controls.RatePropertiesTest ‑ property a non-positive dt skips (no division by a stale or reversed clock)
Elixir.Controls.RatePropertiesTest ‑ property at a fixed dt, a larger counter delta never produces a smaller rate
Elixir.Controls.RatePropertiesTest ‑ property the first observation (nil state) always skips and seeds the baseline
Elixir.Hyper.Cfg.BudgetTest ‑ test a [budget] TOML table overrides the built-in default
Elixir.Hyper.Cfg.BudgetTest ‑ test an app-env override (config.exs) wins over a conflicting TOML value
Elixir.Hyper.Cfg.BudgetTest ‑ test cpu_max_cap can be explicitly disabled via app env, overriding its default
Elixir.Hyper.Cfg.BudgetTest ‑ test load/0 with no app env and no TOML table returns the documented built-in defaults
Elixir.Hyper.Cfg.GrpcTest ‑ test a [grpc] toml table loads, with the cred inline table coerced to a GRPC.Credential
Elixir.Hyper.Cfg.GrpcTest ‑ test a pre-built GRPC.Credential from config.exs passes through untouched
Elixir.Hyper.Cfg.GrpcTest ‑ test server_options carries a set credential and adapter options through
Elixir.Hyper.Cfg.GrpcTest ‑ test server_options omits :cred and :adapter_opts at their plaintext defaults
Elixir.Hyper.Cfg.NetworkTest ‑ test clone_pool/0 defaults when unset
Elixir.Hyper.Cfg.NetworkTest ‑ test configured?/0 false when no uplink configured
Elixir.Hyper.Cfg.NetworkTest ‑ test uplink/0 raises Hyper.Cfg.MissingError when network.uplink is unset
Elixir.Hyper.Cfg.OtelTest ‑ test a full [otel] toml table maps through with proto and headers coerced
Elixir.Hyper.Cfg.OtelTest ‑ test an endpoint alone gets the documented defaults: http_protobuf, no headers
Elixir.Hyper.Cfg.OtelTest ‑ test headers accept keyword form, keys stringified
Elixir.Hyper.Cfg.OtelTest ‑ test no endpoint in any source disables the exporter, empty env var included
Elixir.Hyper.Cfg.OtelTest ‑ test proto coercion: only grpc (atom or string) selects grpc, all else http_protobuf
Elixir.Hyper.Cfg.OtelTest ‑ test source precedence: config.exs > [otel] toml > env var
Elixir.Hyper.Cfg.ResolverTest ‑ test a required key (no default) with every source absent raises a named error
Elixir.Hyper.Cfg.ResolverTest ‑ test falls through absent runtime to the default
Elixir.Hyper.Cfg.ResolverTest ‑ test fetch_cfg/1 returns {:ok, value} or :error without raising
Elixir.Hyper.Cfg.ResolverTest ‑ test list order is priority: runtime wins over toml wins over default
Elixir.Hyper.Cfg.ResolverTest ‑ test nested {mod, key} runtime source reads a keyword under the module env
Elixir.Hyper.Cfg.TomlTest ‑ test fetch/1 reads the seeded cache; absent keys return :error
Elixir.Hyper.Cfg.TomlTest ‑ test fetch_in "missing" -> :error
Elixir.Hyper.Cfg.TomlTest ‑ test fetch_in "tools.firecracker" -> {:ok, "/opt/fc"}
Elixir.Hyper.Cfg.TomlTest ‑ test fetch_in "tools.firecracker.extra" -> :error
Elixir.Hyper.Cfg.TomlTest ‑ test fetch_in "tools.jailer" -> :error
Elixir.Hyper.Cfg.TomlTest ‑ test fetch_in "work_dir" -> {:ok, "/data"}
Elixir.Hyper.Cfg.VmLinuxTest ‑ test maps the amd64/aarch64 doc keys to their arch atoms
Elixir.Hyper.Cfg.VmLinuxTest ‑ test omits an architecture that has no configured path
Elixir.Hyper.E2e.CrashRecoveryTest ‑ test SIGKILL of firecracker cold-boots the VM; explicit stop reclaims the volume
Elixir.Hyper.E2e.CreateVmRefusalPropertiesTest ‑ property create_vm with an unknown image id is refused atomically
Elixir.Hyper.E2e.CreateVmRefusalTest ‑ test every unfittable instance type is refused with :no_capacity, atomically
Elixir.Hyper.E2e.ForkTest ‑ test fast_fork isolates writes; published delta composes and boots
Elixir.Hyper.E2e.ForkTest ‑ test fork/1 falls back to publish-and-reschedule when the node refuses admission
Elixir.Hyper.E2e.ForkTest ‑ test forking a dead VM handle is :not_found, with no fallback attempted
Elixir.Hyper.E2e.GrpcContractTest ‑ test TypeScript contract suite passes against the live server
Elixir.Hyper.E2e.NetworkTest ‑ test a booted guest can reach the internet over its NIC
Elixir.Hyper.E2e.VmLifecycleTest ‑ test load -> create_vm -> exec -> stop reclaims the VM's dm volume
Elixir.Hyper.Firecracker.Api.CodecPropertiesTest ‑ property encode → decode is the identity, two schema levels deep
Elixir.Hyper.Firecracker.Api.CodecTest ‑ test decode/1 builds the struct and recurses nested schemas (drive -> rate_limiter -> bucket)
Elixir.Hyper.Firecracker.Api.CodecTest ‑ test decode/1 omits absent keys (stay at struct default) and maps nil through
Elixir.Hyper.Firecracker.Api.CodecTest ‑ test decode/1 recurses lists of primitives and lists of nested schemas
Elixir.Hyper.Firecracker.Api.CodecTest ‑ test encode (Jason.Encoder) drops nil and :__info__ fields, keeps false, recurses nested structs
Elixir.Hyper.Firecracker.Api.TransportTest ‑ test 204 against a :null response spec is :ok
Elixir.Hyper.Firecracker.Api.TransportTest ‑ test 2xx with a typed response spec decodes into the schema struct
Elixir.Hyper.Firecracker.Api.TransportTest ‑ test 2xx with no matching spec: raw body passthrough, :ok when empty
Elixir.Hyper.Firecracker.Api.TransportTest ‑ test a connection failure is {:error, {:transport, _}}, never a raise
Elixir.Hyper.Firecracker.Api.TransportTest ‑ test non-2xx surfaces {:api, status, fault_message}; nil when the body has none
Elixir.Hyper.Firecracker.Api.TransportTest ‑ test wire shape: body arrives as nil-stripped JSON, query params in the request line
Elixir.Hyper.Grpc.CodecTest ‑ test an unrecognised arch integer is refused, not crashed on
Elixir.Hyper.Grpc.CodecTest ‑ test an unrecognised instance_type integer is refused, not crashed on
Elixir.Hyper.Grpc.CodecTest ‑ test not_found maps to the NOT_FOUND status
Elixir.Hyper.Grpc.CodecTest ‑ test usage encodes as microseconds on the wire
Elixir.Hyper.Img.CreateDerivedTest ‑ test create_derived records parent chain + delta, idempotently
Elixir.Hyper.Img.Db.Gc.PruneTest ‑ test a medium that vanished between probe and delete skips the page's deletions
Elixir.Hyper.Img.Db.Gc.PruneTest ‑ test a missing blob still referenced by an image is dangling: reported, never deleted
Elixir.Hyper.Img.Db.Gc.PruneTest ‑ test a missing, unreferenced, out-of-grace blob is pruned and its bytes counted
Elixir.Hyper.Img.Db.Gc.PruneTest ‑ test presence/1: real file :present, true absence :missing, any other errno :unknown
Elixir.Hyper.Img.Db.Gc.PruneTest ‑ test rows inside the grace period are never deleted, even when missing and unreferenced
Elixir.Hyper.Img.Db.Gc.PruneTest ‑ test the DELETE re-checks references: a row referenced after the snapshot is skipped
Elixir.Hyper.Img.Db.Gc.SweepTest ‑ test absorb/3 returns only confirmed-missing blobs, never :unknown ones
Elixir.Hyper.Img.Db.LeaseTest ‑ test a lease on an unknown image is refused by the FK, nothing inserted
Elixir.Hyper.Img.Db.LeaseTest ‑ test bump inserts once, then heartbeats: same row, expiry moved forward
Elixir.Hyper.Img.Db.LeaseTest ‑ test reap_expired removes lapsed leases and leaves live ones
Elixir.Hyper.Img.Db.LeaseTest ‑ test release deletes only the caller's (node, vm) lease, idempotently
Elixir.Hyper.Img.OciLoaderAgentTest ‑ test a missing agent binary fails the stage instead of shipping a rootfs without init
Elixir.Hyper.Img.OciLoaderAgentTest ‑ test stage_agent places an executable /hyper-init in the rootfs
Elixir.Hyper.Img.OciLoaderTest ‑ property ext4_params/2 size is a whole MiB that holds the content and the inode table
Elixir.Hyper.Img.OciLoaderTest ‑ test ext4_params/2 provisions inode headroom above the file count
Elixir.Hyper.Img.OciLoaderTest ‑ test load/1 publishes a busybox base image to the store and DB
Elixir.Hyper.ImgTest ‑ property derived_image_id is deterministic lowercase hex of length 64
Elixir.Hyper.ImgTest ‑ property derived_layer_rows keeps parent order, appends delta, numbers 0..n
Elixir.Hyper.ImgTest ‑ property distinct inputs give distinct derived ids
Elixir.Hyper.Metering.UsageTest ‑ test a retried flush for the same window is dropped, not double-billed
Elixir.Hyper.Metering.UsageTest ‑ test an unmetered VM totals nil, and zero windows are refused
Elixir.Hyper.Metering.UsageTest ‑ test consecutive half-open ranges partition the lifetime total
Elixir.Hyper.Metering.UsageTest ‑ test records windows and totals a VM's lifetime compute
Elixir.Hyper.Metering.UsageTest ‑ test total/3 buckets by window_start over a half-open range
Elixir.Hyper.Node.Budget.HardStatePropertiesTest ‑ property cut undoes bump for any spec
Elixir.Hyper.Node.Budget.HardStatePropertiesTest ‑ property the running total is the sum of bumped specs (hence order-independent)
Elixir.Hyper.Node.Budget.HardStatePropertiesTest ‑ property untrack of a ref that was never tracked yields nil and an unchanged state
Elixir.Hyper.Node.Budget.HardStatePropertiesTest ‑ property untrack returns exactly the spec track stored, leaving the rest unchanged
Elixir.Hyper.Node.Budget.NodeStatePropertiesTest ‑ property a fitting spec still fits when the node gains headroom
Elixir.Hyper.Node.Budget.NodeStatePropertiesTest ‑ property a spec within every ceiling always fits
Elixir.Hyper.Node.Budget.NodeStatePropertiesTest ‑ property exceeding free memory always fails
Elixir.Hyper.Node.Budget.NodeStateTest ‑ test a spec that fits every metric is admitted
Elixir.Hyper.Node.Budget.NodeStateTest ‑ test cpu demand exactly at the load ceiling still fits
Elixir.Hyper.Node.Budget.NodeStateTest ‑ test cpu demand that crosses the load ceiling is rejected
Elixir.Hyper.Node.Budget.NodeStateTest ‑ test disk bandwidth over its ceiling is rejected
Elixir.Hyper.Node.Budget.NodeStateTest ‑ test disk demand over free headroom is rejected
Elixir.Hyper.Node.Budget.NodeStateTest ‑ test memory demand exactly at free headroom still fits (<= boundary)
Elixir.Hyper.Node.Budget.NodeStateTest ‑ test memory demand over free headroom is rejected
Elixir.Hyper.Node.Budget.NodeStateTest ‑ test net bandwidth over its ceiling is rejected
Elixir.Hyper.Node.FireVMM.Agent.RelayDialerTest ‑ test does not swallow bytes that immediately follow the OK line
Elixir.Hyper.Node.FireVMM.Agent.RelayDialerTest ‑ test returns error when server closes without replying OK
Elixir.Hyper.Node.FireVMM.Agent.RelayDialerTest ‑ test returns error when server replies non-OK line
Elixir.Hyper.Node.FireVMM.Agent.RelayDialerTest ‑ test sends CONNECT <port> and returns ok when server replies OK
Elixir.Hyper.Node.FireVMM.Agent.RelayTest ‑ test child_spec sets restart to :transient
Elixir.Hyper.Node.FireVMM.Agent.RelayTest ‑ test handles fragmented sends and reassembles bytes through the relay
Elixir.Hyper.Node.FireVMM.Agent.RelayTest ‑ test listen_path/1 returns the path the relay is bound to
Elixir.Hyper.Node.FireVMM.Agent.RelayTest ‑ test pipes bytes transparently from client to echo server and back
Elixir.Hyper.Node.FireVMM.Agent.RelayTest ‑ test relay stops when the acceptor exits with a non-normal reason
Elixir.Hyper.Node.FireVMM.Agent.RelayTest ‑ test removes the listen socket file when the relay is stopped
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test exec/3 — error mapping gRPC DEADLINE_EXCEEDED maps to :timeout
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test exec/3 — error mapping gRPC UNAVAILABLE maps to :agent_unavailable
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test exec/3 — error mapping returns {:error, _} when no server is listening at the relay path
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test exec/3 — request-building absent env and cwd are sent as empty/nil
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test exec/3 — request-building env and cwd are forwarded to the server
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test exec/3 — response mapping exit code 127 is a successful exec, not an error
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test exec/3 — response mapping happy path: returns stdout/stderr/exit_code
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test relay_socket_path/1 different vm_ids produce different paths
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test relay_socket_path/1 path filename contains the vm_id
Elixir.Hyper.Node.FireVMM.AgentTest ‑ test relay_socket_path/1 returns an absolute path
Elixir.Hyper.Node.FireVMM.BootSpecTest ‑ test default cmdline boots our agent as init with no serial console
Elixir.Hyper.Node.FireVMM.BootSpecTest ‑ test every VM gets a NIC and the ip=/hyper.resolver= cmdline
Elixir.Hyper.Node.FireVMM.DaemonTest ‑ test netns lifecycle (mandatory) start_link prepares the netns before launching the jailer
Elixir.Hyper.Node.FireVMM.DaemonTest ‑ test netns lifecycle (mandatory) terminate/2 tears down both the network and the chroot jail
Elixir.Hyper.Node.FireVMM.GuestAgentTest ‑ test check/2 classifies the binary state: missing, not executable, ok
Elixir.Hyper.Node.FireVMM.GuestAgentTest ‑ test path/1 is a per-arch absolute path under the install dir
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test Checks.network_ready/0 fails when uplink iface is absent
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test Checks.network_ready/0 refuses to start when no [network] table is configured
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test args contain --id, --uid, --gid with the opts values
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test args do not contain privileged flags owned by the suidhelper
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test args end with --api-sock /api.socket
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test args include --cgroup cpu.max and memory.max for :micro type
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test args start with the jailer subcommand
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test binary is the suid helper
Elixir.Hyper.Node.FireVMM.JailerTest ‑ test host_vsock/1 returns the chroot-rooted host path for vsock.sock
Elixir.Hyper.Node.FireVMM.MeterPropertiesTest ‑ property terminate bills exactly the counter advance since meter start
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test a VM stopped before its first tick still records its boot burn
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test a counter reset (recreated cgroup) accrues the new reading, never negative
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test a failed flush keeps the accrued time and the next flush retries
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test a life shorter than one sample interval still bills the burn since meter start
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test a meter (re)started over a live counter never re-bills
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test a zero-consumption window is not recorded
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test accrues deltas across samples and flushes one window
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test an idle window after usage has been recorded drops at debug, not warning
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test an unreadable cgroup is skipped, then metering resumes
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test dropping an empty window before any usage was recorded warns with the sample counters
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test terminate takes a final sample and flushes the tail
Elixir.Hyper.Node.FireVMM.MeterTest ‑ test the empty-window warning carries the failed-sample count and last error
Elixir.Hyper.Node.FireVMM.NetTest ‑ test distinct vm_ids get distinct MACs
Elixir.Hyper.Node.FireVMM.NetTest ‑ test guest_mac is a stable locally-administered unicast MAC
Elixir.Hyper.Node.FireVMM.NetTest ‑ test interface targets tap0/eth0 with the derived MAC
Elixir.Hyper.Node.FireVMM.NetTest ‑ test ip_cmdline pins the inner-world contract
Elixir.Hyper.Node.FireVMM.NetTest ‑ test resolver_cmdline formats the hyper.resolver= fragment for the given resolver
Elixir.Hyper.Node.FireVMM.StateConfiguringTest ‑ test a lapsed deadline stops the boot surfacing the last real reason
Elixir.Hyper.Node.FireVMM.StateConfiguringTest ‑ test granted: InstanceStart is issued and the VM advances to :running
Elixir.Hyper.Node.FireVMM.StateConfiguringTest ‑ test pending and hard errors before the deadline re-arm the grant timer
Elixir.Hyper.Node.FireVMM.VmLinux.ManifestTest ‑ test asset_url/1 points at the pinned release tag
Elixir.Hyper.Node.FireVMM.VmLinux.ManifestTest ‑ test builds_for/1 returns only builds for the given arch, with atom archs
Elixir.Hyper.Node.FireVMM.VmLinux.ManifestTest ‑ test default_for/1 selects the highest-version build for the arch
Elixir.Hyper.Node.FireVMM.VmLinux.ManifestTest ‑ test fetch/1 finds a build by name and rejects unknown names
Elixir.Hyper.Node.FireVMM.VmLinux.ProviderTest ‑ test default_path/1 resolves under the configured install dir
Elixir.Hyper.Node.FireVMM.VmLinux.ProviderTest ‑ test install_state/2 is :bad_install when only some asset files are present
Elixir.Hyper.Node.FireVMM.VmLinux.ProviderTest ‑ test install_state/2 is :bad_install when some present files have a stale hash
Elixir.Hyper.Node.FireVMM.VmLinux.ProviderTest ‑ test install_state/2 is :not_installed when every present file has a stale hash
Elixir.Hyper.Node.FireVMM.VmLinux.ProviderTest ‑ test install_state/2 is :not_installed when no asset files are present
Elixir.Hyper.Node.FireVMM.VmLinux.ProviderTest ‑ test install_state/2 is :ok when every asset file is present with its manifest hash
Elixir.Hyper.Node.FireVMM.VmLinux.ProviderTest ‑ test path/1 rejects an unknown build name
Elixir.Hyper.Node.FireVMM.VmLinux.ProviderTest ‑ test path/1 resolves a known build under the install dir
Elixir.Hyper.Node.Img.MutableTest ‑ test active_vm_ids drops a vm_id once its mutable layer dies
Elixir.Hyper.Node.Img.MutableTest ‑ test active_vm_ids lists the vm_ids of every live mutable layer
Elixir.Hyper.Node.Reaper.LivenessTest ‑ test a vm with a live mutable layer is never an orphan, even with a leftover netns
Elixir.Hyper.Node.Reaper.LivenessTest ‑ test a vm with a live mutable layer is never an orphan, even with a leftover rw device
Elixir.Hyper.Node.Reaper.PlanPropertiesTest ‑ property Mutable.dm_name/1 round-trips through rw_ids for a real vm_id
Elixir.Hyper.Node.Reaper.PlanPropertiesTest ‑ property a live vm_id is never a reap candidate
Elixir.Hyper.Node.Reaper.PlanPropertiesTest ‑ property every orphan netns name not in live is a candidate, and none from live are
Elixir.Hyper.Node.Reaper.PlanPropertiesTest ‑ property only twice-seen orphans are reaped; current is carried forward
Elixir.Hyper.Node.Reaper.PlanPropertiesTest ‑ property rw_ids excludes thinpool, img, and non-rw junk
Elixir.Hyper.Node.Reaper.PlanTest ‑ test confirm/2 two-strike grace an id new in tick2 is not reaped (only one strike)
Elixir.Hyper.Node.Reaper.PlanTest ‑ test confirm/2 two-strike grace an id orphaned tick1 but live/absent tick2 is not reaped
Elixir.Hyper.Node.Reaper.PlanTest ‑ test confirm/2 two-strike grace first tick reaps nothing (last is empty) but remembers the candidates
Elixir.Hyper.Node.Reaper.PlanTest ‑ test confirm/2 two-strike grace second tick reaps the still-orphan ids
Elixir.Hyper.Node.Reaper.PlanTest ‑ test orphans/4 a cgroup-leaf-only orphan is a candidate
Elixir.Hyper.Node.Reaper.PlanTest ‑ test orphans/4 a dm-only orphan is a candidate
Elixir.Hyper.Node.Reaper.PlanTest ‑ test orphans/4 a netns name whose vm_id is live is never a candidate
Elixir.Hyper.Node.Reaper.PlanTest ‑ test orphans/4 a netns-only orphan is a candidate
Elixir.Hyper.Node.Reaper.PlanTest ‑ test orphans/4 an id present in live is never a candidate, even if it also has resources
Elixir.Hyper.Node.Reaper.PlanTest ‑ test orphans/4 an id seen in both sources is a single candidate
Elixir.Hyper.Node.Reaper.PlanTest ‑ test orphans/4 only the non-live ids survive as candidates
Elixir.Hyper.Node.Reaper.PlanTest ‑ test rw_ids/1 strips the hyper-rw- prefix and ignores thinpool/img names
Elixir.Hyper.Node.ReclaimTest ‑ test creates socket_dir if it does not exist
Elixir.Hyper.Node.ReclaimTest ‑ test removes grpc-*.sock files and leaves unrelated files intact
Elixir.Hyper.Node.RefcountedRestartTest ‑ test Hyper.Node.Img.Mutable is restart: :temporary so its idle :stop is not undone
Elixir.Hyper.Node.RefcountedRestartTest ‑ test Hyper.Node.Img.Server is restart: :temporary so its idle :stop is not undone
Elixir.Hyper.Node.RefcountedRestartTest ‑ test Hyper.Node.Layer.Server is restart: :temporary so its idle :stop is not undone
Elixir.Hyper.SuidHelper.DmsetupPropertiesTest ‑ property every table starts at logical sector 0 and a positive length
Elixir.Hyper.SuidHelper.DmsetupPropertiesTest ‑ property parse_names recovers the device name from each `dmsetup ls` row
Elixir.Hyper.SuidHelper.DmsetupPropertiesTest ‑ property parse_targets recovers the first column of each non-blank line
Elixir.Hyper.SuidHelper.DmsetupPropertiesTest ‑ property snapshot_table places origin, cow, persistent flag, and chunk in order
Elixir.Hyper.SuidHelper.DmsetupPropertiesTest ‑ property thin_external_table places pool, dev_id, and origin in order
Elixir.Hyper.SuidHelper.DmsetupPropertiesTest ‑ property thin_pool_table places meta, data, block size, and low water in order
Elixir.Hyper.SuidHelper.DmsetupPropertiesTest ‑ test parse_names reads the empty-table sentinel as no devices
Elixir.Hyper.SuidHelper.LosetupTest ‑ test an empty listing yields no pairs
Elixir.Hyper.SuidHelper.LosetupTest ‑ test keeps a `(deleted)` backing suffix so data-dir prefix matching still works
Elixir.Hyper.SuidHelper.LosetupTest ‑ test pairs device with backing file and skips rows that have no backing file
Elixir.Hyper.SuidHelper.NetworkTest ‑ test prepare/2 builds the network prepare argv
Elixir.Hyper.SuidHelper.NetworkTest ‑ test teardown/2 builds the network teardown argv
Elixir.Hyper.SuidHelper.NetworkTest ‑ test teardown_orphan/1 builds the network teardown-orphan argv, with no uid
Elixir.Hyper.Vm.IdTest ‑ property generate/0 produces a `v`-prefixed, strictly alphanumeric id
Elixir.Hyper.VmTest ‑ test admission refusals trigger the slow-fork fallback
Elixir.Hyper.VmTest ‑ test faults are surfaced, never masked by a re-placement
Elixir.HyperTest ‑ test exec/3 routes a resolvable VM into the owning node's Hyper.Node.exec/3, by vm_id and by pid
Elixir.HyperTest ‑ test exec/3 with a pid that is not a VM supervisor returns {:error, :not_found}
Elixir.HyperTest ‑ test exec/3 with an unregistered vm_id returns {:error, :not_found}
Elixir.Redist.FileTest ‑ test install/3 places binary with nulls byte-for-byte at dest
Elixir.Redist.FileTest ‑ test install/3 places empty file byte-for-byte at dest
Elixir.Redist.FileTest ‑ test install/3 places multi-megabyte byte-for-byte at dest
Elixir.Redist.FileTest ‑ test install/3 places small text byte-for-byte at dest
Elixir.Redist.FileTest ‑ test install/3 rejects a checksum mismatch and writes no file at dest
Elixir.Redist.FileTest ‑ test install/3 returns {:download_failed, 404} and writes no file
Elixir.Redist.Sha256PropertiesTest ‑ property digest is always 64 lowercase hex characters
Elixir.Redist.Sha256PropertiesTest ‑ property streamed file digest equals the one-shot :crypto digest
Elixir.Redist.Sha256PropertiesTest ‑ test empty file hashes to the empty-input digest
Elixir.Redist.Sha256PropertiesTest ‑ test matches the one-shot digest across the 2 MiB chunk boundary
Elixir.Redist.Sha256Test ‑ test file/1 returns the lowercase-hex streaming SHA-256 of the file
Elixir.Redist.Support.HttpServerTest ‑ test returns 404 for a path that was never written
Elixir.Redist.Support.HttpServerTest ‑ test serves the exact bytes written via put_file/3
Elixir.Redist.TargzTest ‑ test install/3 extracts empty file content faithfully
Elixir.Redist.TargzTest ‑ test install/3 extracts nested directories faithfully
Elixir.Redist.TargzTest ‑ test install/3 extracts single file faithfully
Elixir.Redist.TargzTest ‑ test install/3 refuses a path-traversal tar entry
Elixir.Redist.TargzTest ‑ test install/3 rejects a checksum mismatch and leaves dest untouched
Elixir.Redist.TargzTest ‑ test install/3 returns {:download_failed, 404} for a missing URL
Elixir.Sys.ArchTest ‑ property a string with no marker is refused, echoing the raw string
Elixir.Sys.ArchTest ‑ property any string carrying a known marker parses to its architecture
Elixir.Sys.ArchTest ‑ property goarch is a right inverse of parse for every supported architecture
Elixir.Sys.ArchTest ‑ test current/0 succeeds on this machine with a supported architecture
Elixir.Sys.ArchTest ‑ test goarch emits the Go/OCI names skopeo expects
Elixir.Sys.ArchTest ‑ test parses real target triplets
Elixir.Sys.Linux.Cgroup.V2.CpuStatPropertiesTest ‑ property a reordered payload with noise round-trips the three time counters
Elixir.Sys.Linux.Cgroup.V2.CpuStatPropertiesTest ‑ property any payload without usage_usec is refused
Elixir.Sys.Linux.Cgroup.V2.CpuStatTest ‑ test a malformed value line is skipped, not misread
Elixir.Sys.Linux.Cgroup.V2.CpuStatTest ‑ test parses a real cpu.stat payload
Elixir.Sys.Linux.Cgroup.V2.CpuStatTest ‑ test read/1 reads <dir>/cpu.stat
Elixir.Sys.Linux.Cgroup.V2.CpuStatTest ‑ test read/1 surfaces a missing file as a posix error
Elixir.Sys.Linux.Cgroup.V2.CpuStatTest ‑ test user/system default to zero when absent (cpu controller stats only)
Elixir.Sys.Linux.Cgroup.V2PropertiesTest ‑ property an empty config renders to an empty map
Elixir.Sys.Linux.Cgroup.V2PropertiesTest ‑ property both limits render independently, regardless of set order
Elixir.Sys.Linux.Cgroup.V2PropertiesTest ‑ property cpu_max renders quota and period under the cpu.max key
Elixir.Sys.Linux.Cgroup.V2PropertiesTest ‑ property memory_max renders as the byte string under :"memory.max"
Elixir.Sys.Linux.Cgroup.V2PropertiesTest ‑ property the last memory_max write wins
Elixir.Sys.Linux.Cgroup.V2PropertiesTest ‑ property the last write to a key wins
Elixir.Sys.Linux.CgroupPropertiesTest ‑ property non-cgroup mounts never change the result
Elixir.Sys.Linux.CgroupPropertiesTest ‑ property order and duplication do not affect the result
Elixir.Sys.Linux.CgroupPropertiesTest ‑ property the result is always a subset of {:cgroup, :cgroup2}
Elixir.Sys.Linux.CgroupPropertiesTest ‑ property the result is exactly the set of cgroup fs_types present
Elixir.Sys.Linux.FstabPropertiesTest ‑ property a line with fewer than four fields is invalid
Elixir.Sys.Linux.FstabPropertiesTest ‑ property comment and blank lines are rejected
Elixir.Sys.Linux.FstabPropertiesTest ‑ property extra leading/trailing whitespace does not change the parse
Elixir.Sys.Linux.FstabPropertiesTest ‑ property round-trips device, mount_point, fs_type, and comma-split options
Elixir.Sys.Linux.FstabPropertiesTest ‑ property the dump and pass columns are ignored
Elixir.Sys.Linux.NssPropertiesTest ‑ property Group.from_output/1 a non-integer gid is rejected
Elixir.Sys.Linux.NssPropertiesTest ‑ property Group.from_output/1 fewer than four colon-fields is rejected
Elixir.Sys.Linux.NssPropertiesTest ‑ property Group.from_output/1 round-trips name/gid and splits the member list
Elixir.Sys.Linux.NssPropertiesTest ‑ property Passwd.from_output/1 a line without exactly seven colon-fields is rejected
Elixir.Sys.Linux.NssPropertiesTest ‑ property Passwd.from_output/1 a non-integer uid is rejected
Elixir.Sys.Linux.NssPropertiesTest ‑ property Passwd.from_output/1 parses N well-formed lines into N entries
Elixir.Sys.Linux.NssPropertiesTest ‑ property Passwd.from_output/1 round-trips a well-formed passwd line into its seven fields
Elixir.Sys.Linux.NssPropertiesTest ‑ test Group.from_output/1 empty output yields an empty list
Elixir.Sys.Linux.NssPropertiesTest ‑ test Passwd.from_output/1 empty output yields an empty list
Elixir.Sys.Linux.NssTest ‑ test an unknown database is refused with the getent exit code
Elixir.Sys.Linux.NssTest ‑ test the live passwd database parses and contains root (uid 0)
Elixir.Sys.Linux.Proc.CounterParserPropertiesTest ‑ property Diskstats.parse/1 converts sectors (idx 5/9) to bytes via x512 and round-trips names
Elixir.Sys.Linux.Proc.CounterParserPropertiesTest ‑ property Meminfo.parse/1 wraps each kB value as Information (bytes = kB x 1024)
Elixir.Sys.Linux.Proc.CounterParserPropertiesTest ‑ property NetDev.parse/1 round-trips rx (col 0) and tx (col 8), keeps alias names, drops headers
Elixir.Sys.Linux.Proc.DiskstatsTest ‑ test parse/1 an idle device parses to zero bytes
Elixir.Sys.Linux.Proc.DiskstatsTest ‑ test parse/1 converts sectors_read/sectors_written into bytes (x512)
Elixir.Sys.Linux.Proc.DiskstatsTest ‑ test parse/1 parses a minimal synthetic line
Elixir.Sys.Linux.Proc.DiskstatsTest ‑ test parse/1 returns every device, including partitions and virtual devices (no filtering)
Elixir.Sys.Linux.Proc.DiskstatsTest ‑ test parse/1 skips lines too short to carry sector counts
Elixir.Sys.Linux.Proc.DiskstatsTest ‑ test read/0 reads the live /proc/diskstats into Device structs
Elixir.Sys.Linux.Proc.MeminfoTest ‑ test parse/1 extracts every Snapshot field from a real /proc/meminfo capture
Elixir.Sys.Linux.Proc.MeminfoTest ‑ test parse/1 ignores lines with fewer than two tokens
Elixir.Sys.Linux.Proc.MeminfoTest ‑ test parse/1 ignores no-kB lines (HugePages_*) and tolerates very large values
Elixir.Sys.Linux.Proc.MeminfoTest ‑ test parse/1 parses a minimal payload carrying only the required keys
Elixir.Sys.Linux.Proc.MeminfoTest ‑ test parse/1 raises when a required field is absent
Elixir.Sys.Linux.Proc.MeminfoTest ‑ test read/0 reads and parses the live /proc/meminfo into a sane Snapshot
Elixir.Sys.Linux.Proc.MountsTest ‑ property keeps exactly the well-formed lines, in order, skipping garbage
Elixir.Sys.Linux.Proc.MountsTest ‑ test the live /proc/mounts includes the root mount
Elixir.Sys.Linux.Proc.NetDevTest ‑ test parse/1 keeps an interface name that itself contains a colon (IP alias)
Elixir.Sys.Linux.Proc.NetDevTest ‑ test parse/1 reads receive bytes (col 1) and transmit bytes (col 9)
Elixir.Sys.Linux.Proc.NetDevTest ‑ test parse/1 returns every interface, loopback and virtual included (no filtering)
Elixir.Sys.Linux.Proc.NetDevTest ‑ test parse/1 skips a line too short to carry a transmit-bytes column
Elixir.Sys.Linux.Proc.NetDevTest ‑ test parse/1 skips both header rows and parses one Interface per data line
Elixir.Sys.Linux.Proc.NetDevTest ‑ test read/0 reads the live /proc/net/dev into Interface structs
Elixir.Sys.Linux.Proc.StatPropertiesTest ‑ property CpuTimes.from_columns round-trips all ten state counters
Elixir.Sys.Linux.Proc.StatPropertiesTest ‑ property a synthesized /proc/stat round-trips the aggregate, per-core, and scalar fields
Elixir.Sys.Linux.Proc.StatPropertiesTest ‑ property missing trailing columns default to zero (older-kernel compatibility)
Elixir.Sys.Linux.Proc.StatPropertiesTest ‑ property total is the sum of all states and idle is idle + iowait
Elixir.Sys.Linux.Proc.StatTest ‑ test CpuTimes from_columns/1 ignores columns beyond guest_nice
Elixir.Sys.Linux.Proc.StatTest ‑ test CpuTimes from_columns/1 tolerates older kernels with fewer columns
Elixir.Sys.Linux.Proc.StatTest ‑ test CpuTimes total/1 sums every state; idle/1 folds in iowait
Elixir.Sys.Linux.Proc.StatTest ‑ test parse/1 defaults missing scalar counters to 0
Elixir.Sys.Linux.Proc.StatTest ‑ test parse/1 parses every per-core cpuN line in order
Elixir.Sys.Linux.Proc.StatTest ‑ test parse/1 parses the aggregate cpu line into a full CpuTimes breakdown
Elixir.Sys.Linux.Proc.StatTest ‑ test parse/1 parses the scalar counters and skips intr/softirq bodies
Elixir.Sys.Linux.Proc.StatTest ‑ test parse/1 the aggregate excludes the per-core lines (cpu, not cpuN)
Elixir.Sys.Linux.Proc.StatTest ‑ test read/0 reads and parses the live /proc/stat into a sane Snapshot
Elixir.Sys.Linux.SubidPropertiesTest ‑ property a line without exactly three colon fields is invalid
Elixir.Sys.Linux.SubidPropertiesTest ‑ property non-integer start or count is rejected
Elixir.Sys.Linux.SubidPropertiesTest ‑ property round-trips name/start and makes max_id = start + count
Elixir.Sys.Linux.SubidTest ‑ property one malformed line anywhere refuses the whole file
Elixir.Sys.Linux.SubidTest ‑ property recovers every entry of a well-formed file
Elixir.Sys.Linux.SubidTest ‑ test a missing file surfaces :enoent
Elixir.Sys.Linux.SubidTest ‑ test an empty file yields no ranges
Elixir.Sys.Mon.CpuPropertiesTest ‑ property a zero-length interval (identical snapshots) is 0.0, not a crash
Elixir.Sys.Mon.CpuPropertiesTest ‑ property an interval spent entirely idle is 0.0 busy
Elixir.Sys.Mon.CpuPropertiesTest ‑ property an interval with work done but no idle increase is 1.0 busy
Elixir.Sys.Mon.CpuPropertiesTest ‑ property utilization is always within 0.0..1.0
Elixir.Sys.Mon.DiskBwTest ‑ property as_bandwidth rounds the rate and preserves the Rate state
Elixir.Sys.Mon.DiskBwTest ‑ property sum_bytes totals read+write across every device
Elixir.Sys.Mon.DiskBwTest ‑ test as_bandwidth passes a :skip straight through
Elixir.Sys.Mon.DiskBwTest ‑ test sum_bytes of no devices is zero
Elixir.Sys.Mon.MemTest ‑ property used recovers the total-minus-available gap it was built from
Elixir.Sys.Mon.MemTest ‑ test an impossible available > total surfaces as a negative figure (unclamped)
Elixir.Sys.Mon.NetBwTest ‑ property as_bandwidth rounds the rate and preserves the Rate state
Elixir.Sys.Mon.NetBwTest ‑ property sum_bytes totals rx+tx across every interface
Elixir.Sys.Mon.NetBwTest ‑ test as_bandwidth passes a :skip straight through
Elixir.Sys.Mon.NetBwTest ‑ test sum_bytes of no interfaces is zero
Elixir.Sys.Mon.ServerTest ‑ test :error leaves the reading untouched and does not crash the process
Elixir.Sys.Mon.ServerTest ‑ test :skip leaves both instant and smoothed untouched
Elixir.Sys.Mon.ServerTest ‑ test a later :ok smooths toward the new value, never jumping to it
Elixir.Sys.Mon.ServerTest ‑ test an init/0 failure stops the process with that reason
Elixir.Sys.Mon.ServerTest ‑ test first :ok reading seeds the filter, so smoothed == instant
Elixir.Sys.Mon.ServerTest ‑ test value/1 before any sample is nil/nil
Elixir.Sys.MonTest ‑ test a forced memory sample reports positive used memory
Elixir.Sys.MonTest ‑ test forced CPU samples yield a busy fraction within 0.0..1.0
Elixir.Sys.MonTest ‑ test forced disk samples yield a non-negative bandwidth
Elixir.Sys.MonTest ‑ test forced net samples yield a non-negative bandwidth
Elixir.Sys.MonTest ‑ test readings/0 answers for all four metrics
Elixir.Sys.PosixTest ‑ test ensure_writable_dir/1 accepts an existing writable directory
Elixir.Sys.PosixTest ‑ test ensure_writable_dir/1 creates a missing directory with parents, idempotently
Elixir.Sys.PosixTest ‑ test ensure_writable_dir/1 refuses a path under a regular file with :enotdir
Elixir.Sys.PosixTest ‑ test ensure_writable_dir/1 refuses a regular file with :enotdir
Elixir.Sys.PosixTest ‑ test ensure_writable_dir/1 refuses an existing unwritable directory with :eacces
Elixir.Sys.PosixTest ‑ test ensure_writable_dir/1 surfaces the mkdir_p reason when the parent is unwritable
Elixir.Sys.PosixTest ‑ test ensure_writable_dir/1 surfaces the stat reason for an unstatable path
Elixir.Sys.PosixTest ‑ test executable?/1 a directory is not executable, even with exec bits set
Elixir.Sys.PosixTest ‑ test executable?/1 a missing path is not executable
Elixir.Sys.PosixTest ‑ test executable?/1 true iff the file is regular with any execute bit set
Elixir.Sys.TmpTest ‑ test with_tempdir/2 consecutive calls hand out distinct directories
Elixir.Sys.TmpTest ‑ test with_tempdir/2 hands fun an existing empty dir with the prefix, then removes it recursively
Elixir.Sys.TmpTest ‑ test with_tempdir/2 refuses to adopt a pre-existing path: a planted collision is never handed out
Elixir.Sys.TmpTest ‑ test with_tempdir/2 removes the directory and its contents even when fun raises
Elixir.Sys.TmpTest ‑ test with_tempdir/2 returns exactly what fun returns
Elixir.Sys.TmpTest ‑ test with_tempdir/2 the default prefix is hyper
Elixir.Sys.TmpTest ‑ test with_tmpfile/2 hands fun an existing empty file with the prefix, then removes it
Elixir.Sys.TmpTest ‑ test with_tmpfile/2 passes fun's return through
Elixir.Sys.TmpTest ‑ test with_tmpfile/2 paths never repeat across calls
Elixir.Sys.TmpTest ‑ test with_tmpfile/2 removes the file when fun raises, and the raise propagates
Elixir.Unit.BandwidthParseTest ‑ property parse! inverts the gibps constructor across a range
Elixir.Unit.BandwidthParseTest ‑ test parses "1 GiBps"
Elixir.Unit.BandwidthParseTest ‑ test parses "100Bps"
Elixir.Unit.BandwidthParseTest ‑ test parses "1GiBps"
Elixir.Unit.BandwidthParseTest ‑ test parses "4KiBps"
Elixir.Unit.BandwidthParseTest ‑ test parses "512MiBps"
Elixir.Unit.BandwidthParseTest ‑ test rejects ""
Elixir.Unit.BandwidthParseTest ‑ test rejects "1GiB"
Elixir.Unit.BandwidthParseTest ‑ test rejects "fast"
Elixir.Unit.InformationParseTest ‑ property parse! inverts the gib constructor across a range
Elixir.Unit.InformationParseTest ‑ test parses "100B"
Elixir.Unit.InformationParseTest ‑ test parses "2TiB"
Elixir.Unit.InformationParseTest ‑ test parses "4 GiB"
Elixir.Unit.InformationParseTest ‑ test parses "4GiB"
Elixir.Unit.InformationParseTest ‑ test parses "4KiB"
Elixir.Unit.InformationParseTest ‑ test parses "512MiB"
Elixir.Unit.InformationParseTest ‑ test rejects ""
Elixir.Unit.InformationParseTest ‑ test rejects "4 Gigs"
Elixir.Unit.InformationParseTest ‑ test rejects "4.5GiB"
Elixir.Unit.InformationParseTest ‑ test rejects "GiB"
Elixir.Unit.InformationParseTest ‑ test rejects "nope"
Elixir.Unit.InformationTest ‑ property as_sectors/sectors round-trips
Elixir.Unit.InformationTest ‑ test + sums two quantities
Elixir.Unit.InformationTest ‑ test - subtracts, and may go negative
Elixir.Unit.InformationTest ‑ test ordering operators compare quantities
Elixir.Unit.InformationTest ‑ test sectors are 512 bytes, the kernel's block-device unit
Elixir.Unit.InformationTest ‑ test zero is the additive identity
Elixir.Unit.OperatorsTest ‑ test arithmetic works across every unit dimension
Elixir.Unit.OperatorsTest ‑ test mixing a quantity with a bare number raises
Elixir.Unit.OperatorsTest ‑ test mixing dimensions raises
Elixir.Unit.OperatorsTest ‑ test non-unit operands fall through to Kernel
Elixir.Unit.OperatorsTest ‑ test ordering operators compare within a dimension
Elixir.Unit.OperatorsTest ‑ test subtraction may go negative in every dimension
Elixir.Unit.OperatorsTest ‑ test zero is each dimension's additive identity
Elixir.Unit.QuantityPropertiesTest ‑ property addition is commutative and associative
Elixir.Unit.QuantityPropertiesTest ‑ property addition mirrors integer addition on the scalar
Elixir.Unit.QuantityPropertiesTest ‑ property mixing two different dimensions always raises ArgumentError
Elixir.Unit.QuantityPropertiesTest ‑ property ordering matches the integer order of the backing scalars
Elixir.Unit.QuantityPropertiesTest ‑ property with_value/value is a round-trip in both directions
Elixir.Unit.QuantityPropertiesTest ‑ property zero is the additive identity and subtraction is the inverse
Elixir.Unit.ScalingPropertiesTest ‑ property Bandwidth prefix constructors scale by powers of 1024
Elixir.Unit.ScalingPropertiesTest ‑ property Information prefix constructors scale by powers of 1024
Elixir.Unit.ScalingPropertiesTest ‑ property Time constructors scale to nanoseconds by powers of 1000
Elixir.Unit.ScalingPropertiesTest ‑ property as_mib / as_gib cancel their own constructor exactly
Elixir.Unit.ScalingPropertiesTest ‑ property as_mib is truncating division: exact quotient with a bounded remainder
Elixir.Unit.ScalingPropertiesTest ‑ property as_us / as_ms / as_s cancel their own constructor exactly
Elixir.Unit.ScalingPropertiesTest ‑ property as_us is truncating division: exact quotient with a bounded remainder
Elixir.Unit.ScalingPropertiesTest ‑ property each Bandwidth prefix is 1024x the one below it
Elixir.Unit.ScalingPropertiesTest ‑ property each Information prefix is 1024x the one below it
Elixir.Unit.ScalingPropertiesTest ‑ property each Time unit is 1000x the one below it
Elixir.Unit.TimeParseTest ‑ property parse! inverts the s constructor across a range
Elixir.Unit.TimeParseTest ‑ test parses "1 h"
Elixir.Unit.TimeParseTest ‑ test parses "100ms"
Elixir.Unit.TimeParseTest ‑ test parses "100us"
Elixir.Unit.TimeParseTest ‑ test parses "1h"
Elixir.Unit.TimeParseTest ‑ test parses "30m"
Elixir.Unit.TimeParseTest ‑ test parses "500ns"
Elixir.Unit.TimeParseTest ‑ test parses "60s"
Elixir.Unit.TimeParseTest ‑ test rejects ""
Elixir.Unit.TimeParseTest ‑ test rejects "5 secs"
Elixir.Unit.TimeParseTest ‑ test rejects "5"
Elixir.Unit.TimeParseTest ‑ test rejects "soon"
hyper-suidhelper::config_network ‑ absent_network_table_means_disabled
hyper-suidhelper::config_network ‑ partial_network_table_without_uplink_disables_not_bricks
hyper-suidhelper::config_network ‑ present_table_with_only_uplink_defaults_clone_pool
hyper-suidhelper::config_seam ‑ override_path_is_consulted_through_the_real_lexical_gate
hyper-suidhelper::config_uid_gid_range ‑ absent_range_yields_default
hyper-suidhelper::config_uid_gid_range ‑ min_exceeds_max_always_rejected
hyper-suidhelper::config_uid_gid_range ‑ valid_range_accepted
hyper-suidhelper::config_uid_gid_range ‑ valid_range_round_trips_via_toml
hyper-suidhelper::config_uid_gid_range ‑ zero_min_always_rejected
hyper-suidhelper::e2e_argv ‑ blockdev_getsz_argv_and_parse_as_root
hyper-suidhelper::e2e_argv ‑ dmsetup_create_snapshot_reconstructs_canonical_table_as_root
hyper-suidhelper::e2e_argv ‑ dmsetup_ls_argv_and_parse_as_root
hyper-suidhelper::e2e_argv ‑ dmsetup_message_create_thin_as_root
hyper-suidhelper::e2e_argv ‑ dmsetup_rejects_configured_bin_with_wrong_basename_as_root
hyper-suidhelper::e2e_argv ‑ dmsetup_remove_retry_toggle_as_root
hyper-suidhelper::e2e_argv ‑ dmsetup_targets_argv_and_parse_as_root
hyper-suidhelper::e2e_argv ‑ losetup_list_argv_and_parse_as_root
hyper-suidhelper::e2e_chroot_jail ‑ prepare_creates_tun_node_when_networking_enabled_as_root
hyper-suidhelper::e2e_chroot_jail ‑ prepare_rejects_system_device_operand
hyper-suidhelper::e2e_chroot_jail ‑ prepare_succeeds_and_builds_jail_as_root
hyper-suidhelper::e2e_chroot_jail ‑ remove_succeeds_and_is_idempotent_as_root
hyper-suidhelper::e2e_config ‑ bad_uid_gid_range_exits_2_as_root
hyper-suidhelper::e2e_config ‑ firecracker_and_jailer_return_ok_when_root_owned_as_root
hyper-suidhelper::e2e_config ‑ firecracker_unconfigured_when_absent
hyper-suidhelper::e2e_config ‑ jailer_basename_mismatch_rejected
hyper-suidhelper::e2e_config ‑ jailer_unconfigured_when_absent
hyper-suidhelper::e2e_config ‑ malformed_config_exits_2_malformed_as_root
hyper-suidhelper::e2e_config ‑ missing_config_falls_back_to_defaults_as_root
hyper-suidhelper::e2e_config ‑ non_root_owned_config_is_rejected
hyper-suidhelper::e2e_config ‑ relative_work_dir_exits_2_relative_as_root
hyper-suidhelper::e2e_config ‑ valid_config_and_setuid_yields_sys_test_ok_as_root
hyper-suidhelper::e2e_jailer ‑ execs_jailer_with_canonical_argv_and_empty_env_as_root
hyper-suidhelper::e2e_jailer ‑ execs_jailer_with_netns_flag_when_networking_enabled_as_root
hyper-suidhelper::e2e_jailer ‑ refuses_uid_zero_without_exec_as_root
hyper-suidhelper::e2e_losetup ‑ losetup_attach_passes_validated_fd_readonly_as_root
hyper-suidhelper::e2e_losetup ‑ losetup_attach_refuses_out_of_base_before_running_tool_as_root
hyper-suidhelper::e2e_losetup ‑ losetup_attach_rw_omits_read_only_as_root
hyper-suidhelper::e2e_losetup ‑ losetup_child_failure_surfaces_its_stderr_as_root
hyper-suidhelper::e2e_losetup ‑ losetup_detach_argv_and_parse_as_root
hyper-suidhelper::e2e_losetup ‑ losetup_detach_refuses_non_loop_operands_as_root
hyper-suidhelper::e2e_thin_dump ‑ thin_dump_argv_and_ranges_json_as_root
hyper-suidhelper::e2e_thin_dump ‑ thin_dump_child_failure_surfaces_its_stderr_as_root
hyper-suidhelper::e2e_thin_dump ‑ thin_dump_refuses_non_loop_meta_as_root
hyper-suidhelper::e2e_thin_dump ‑ thin_dump_wrong_dev_id_is_an_error_as_root
hyper-suidhelper::e2e_version ‑ version_reports_pkg_version_and_hex_checksum
hyper-suidhelper::safe_dev ‑ blockdev_accepts_hyper_dm
hyper-suidhelper::safe_dev ‑ blockdev_accepts_loop
hyper-suidhelper::safe_dev ‑ blockdev_rejects_non_hyper_dm
hyper-suidhelper::safe_dev ‑ dmname_accepts_hyper_name
hyper-suidhelper::safe_dev ‑ dmname_rejects_any_slash
hyper-suidhelper::safe_dev ‑ dmname_rejects_non_hyper_prefix
hyper-suidhelper::safe_dev ‑ loopdev_accepts_dev_loop_n
hyper-suidhelper::safe_dev ‑ loopdev_rejects_digit_then_junk
hyper-suidhelper::safe_dev ‑ loopdev_rejects_non_numeric_suffix
hyper-suidhelper::safe_dev ‑ rejects_known_attack_strings
hyper-suidhelper::safe_path ‑ accepts_clean_absolute_paths
hyper-suidhelper::safe_path ‑ rejects_any_loose_component
hyper-suidhelper::safe_path ‑ rejects_relative_paths
hyper-suidhelper::safe_path ‑ relative_to_base_itself_has_no_leaf
hyper-suidhelper::safe_path ‑ relative_to_rejects_paths_outside_base
hyper-suidhelper::safe_path ‑ relative_to_round_trips
hyper-suidhelper::security_gate ‑ insecure_arm_when_feature_and_env
hyper-suidhelper::security_gate ‑ secure_arm_before_init
hyper-suidhelper::security_gate ‑ secure_arm_when_env_absent_even_with_feature
hyper-suidhelper::security_gate ‑ secure_arm_when_env_not_exactly_one
hyper-suidhelper::tools_blockcopy ‑ empty_ranges_write_nothing
hyper-suidhelper::tools_blockcopy ‑ ranged_copy_writes_exactly_the_listed_ranges
hyper-suidhelper::tools_chroot_jail_grant_api ‑ dotdot_traversal_is_rejected_at_parse
hyper-suidhelper::tools_chroot_jail_grant_api ‑ missing_jail_tree_is_pending
hyper-suidhelper::tools_chroot_jail_grant_api ‑ missing_socket_is_pending
hyper-suidhelper::tools_chroot_jail_grant_api ‑ real_socket_is_granted_and_chmod_0660
hyper-suidhelper::tools_chroot_jail_grant_api ‑ regular_file_at_leaf_is_refused_and_untouched
hyper-suidhelper::tools_chroot_jail_grant_api ‑ relative_socket_is_rejected_at_parse
hyper-suidhelper::tools_chroot_jail_grant_api ‑ shape_classification
hyper-suidhelper::tools_chroot_jail_grant_api ‑ socket_outside_jail_base_is_rejected
hyper-suidhelper::tools_chroot_jail_grant_api ‑ symlink_at_leaf_is_refused
hyper-suidhelper::tools_chroot_jail_grant_api ‑ symlinked_component_does_not_escape
hyper-suidhelper::tools_chroot_jail_grant_api ‑ too_deep_is_shape_error
hyper-suidhelper::tools_chroot_jail_grant_api ‑ too_shallow_is_shape_error
hyper-suidhelper::tools_chroot_jail_grant_api ‑ wrong_leaf_basename_is_rejected_at_parse
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ api_socket_name_is_rejected_at_parse
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ dotdot_traversal_is_rejected_at_parse
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ missing_jail_tree_is_pending
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ missing_socket_is_pending
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ real_socket_is_granted_and_chmod_0660
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ regular_file_at_leaf_is_refused_and_untouched
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ relative_socket_is_rejected_at_parse
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ shape_classification
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ socket_outside_jail_base_is_rejected
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ symlink_at_leaf_is_refused
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ symlink_to_real_socket_at_leaf_is_refused_and_target_untouched
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ symlinked_component_does_not_escape
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ too_deep_is_shape_error
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ too_shallow_is_shape_error
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ unreadable_jail_base_is_a_hard_walk_error_not_pending
hyper-suidhelper::tools_chroot_jail_grant_vsock ‑ wrong_leaf_name_is_rejected_at_parse
hyper-suidhelper::tools_chroot_jail_remove ‑ cgroup_depth_classification
hyper-suidhelper::tools_chroot_jail_remove ‑ cgroup_kill_is_written_before_rmdir
hyper-suidhelper::tools_chroot_jail_remove ‑ cgroup_too_shallow_is_depth_error
hyper-suidhelper::tools_chroot_jail_remove ‑ chroot_depth_classification
hyper-suidhelper::tools_chroot_jail_remove ‑ chroot_too_deep_is_depth_error
hyper-suidhelper::tools_chroot_jail_remove ‑ chroot_too_shallow_is_depth_error
hyper-suidhelper::tools_chroot_jail_remove ‑ chroot_with_dotdot_is_rejected
hyper-suidhelper::tools_chroot_jail_remove ‑ missing_cgroup_is_ok
hyper-suidhelper::tools_chroot_jail_remove ‑ missing_cgroup_kill_is_tolerated
hyper-suidhelper::tools_chroot_jail_remove ‑ missing_chroot_is_ok
hyper-suidhelper::tools_chroot_jail_remove ‑ missing_leaf_with_present_parent_is_ok
hyper-suidhelper::tools_chroot_jail_remove ‑ nonempty_cgroup_leaf_is_ok
hyper-suidhelper::tools_chroot_jail_remove ‑ relative_chroot_is_rejected
hyper-suidhelper::tools_chroot_jail_remove ‑ removes_cgroup_leaf_and_spares_parent
hyper-suidhelper::tools_chroot_jail_remove ‑ removes_chroot_tree_and_spares_siblings
hyper-suidhelper::tools_chroot_jail_remove ‑ symlinked_chroot_component_does_not_escape
hyper-suidhelper::tools_dmsetup_parsers ‑ accepts_canonical_tables_and_round_trips
hyper-suidhelper::tools_dmsetup_parsers ‑ normalizes_inner_whitespace_on_render
hyper-suidhelper::tools_dmsetup_parsers ‑ rejects_non_whitelisted_targets_and_devices
hyper-suidhelper::tools_dmsetup_parsers ‑ thinmessage_accepts_whitelisted_and_normalizes
hyper-suidhelper::tools_dmsetup_parsers ‑ thinmessage_rejects_non_whitelisted
hyper-suidhelper::tools_host_init ‑ anything_but_one_after_trim_is_disabled
hyper-suidhelper::tools_host_init ‑ disabled_for_empty_contents
hyper-suidhelper::tools_host_init ‑ disabled_for_zero
hyper-suidhelper::tools_host_init ‑ enabled_for_bare_one
hyper-suidhelper::tools_host_init ‑ enabled_for_one_with_trailing_newline
hyper-suidhelper::tools_host_init ‑ whitespace_padding_around_one_is_still_enabled
hyper-suidhelper::tools_jailer ‑ cgroup_cpu_round_trips
hyper-suidhelper::tools_jailer ‑ cgroup_memory_round_trips
hyper-suidhelper::tools_jailer ‑ cgroup_rejects_known_bad_shapes
hyper-suidhelper::tools_jailer ‑ id_in_range_nonzero_accepted
hyper-suidhelper::tools_jailer ‑ id_out_of_range_rejected
hyper-suidhelper::tools_jailer ‑ id_zero_always_rejected
hyper-suidhelper::tools_jailer ‑ jailsock_multi_component_rejected
hyper-suidhelper::tools_jailer ‑ jailsock_rejects_known_bad_shapes
hyper-suidhelper::tools_jailer ‑ jailsock_single_filename
hyper-suidhelper::tools_jailer ‑ vmid_leading_dash_rejected
hyper-suidhelper::tools_jailer ‑ vmid_rejects_known_bad_shapes
hyper-suidhelper::tools_jailer ‑ vmid_slash_rejected
hyper-suidhelper::tools_jailer ‑ vmid_too_long_rejected
hyper-suidhelper::tools_jailer ‑ vmid_valid_round_trips
hyper-suidhelper::tools_losetup_backing ‑ absent_path_is_refused_as_canonicalize
hyper-suidhelper::tools_losetup_backing ‑ any_existing_file_outside_base_is_refused
hyper-suidhelper::tools_losetup_backing ‑ directory_under_base_is_refused_as_root
hyper-suidhelper::tools_losetup_backing ‑ in_base_file_yields_inheritable_fd_to_same_inode_as_root
hyper-suidhelper::tools_losetup_backing ‑ in_base_symlink_to_outside_is_refused_as_root
hyper-suidhelper::tools_losetup_backing ‑ refusal_is_decided_on_the_resolved_path
hyper-suidhelper::tools_network_addr ‑ derived_plan_is_well_formed
hyper-suidhelper::tools_network_addr ‑ distinct_slots_never_share_a_block
hyper-suidhelper::tools_network_addr ‑ slot_past_pool_is_refused
hyper-suidhelper::tools_network_addr ‑ slot_zero_is_first_block
hyper-suidhelper::tools_network_addr ‑ uid_below_range_is_refused
hyper-suidhelper::tools_network_args ‑ host_init_commands_golden_sequence
hyper-suidhelper::tools_network_args ‑ host_init_drops_guest_traffic_to_host
hyper-suidhelper::tools_network_args ‑ host_init_masquerades_pool_out_uplink
hyper-suidhelper::tools_network_args ‑ prepare_commands_golden_sequence
hyper-suidhelper::tools_network_args ‑ prepare_creates_netns_first_and_default_route_last
hyper-suidhelper::tools_network_args ‑ prepare_refuses_malformed_clone_pool_cidr
hyper-suidhelper::tools_network_args ‑ prepare_refuses_uid_outside_range
hyper-suidhelper::tools_network_args ‑ resolve_network_refuses_when_networking_disabled
hyper-suidhelper::tools_network_args ‑ resolve_network_returns_the_configured_network_when_present
hyper-suidhelper::tools_network_args ‑ teardown_deletes_netns
hyper-suidhelper::tools_network_args ‑ teardown_orphan_is_exactly_ip_netns_del_by_id_alone
hyper-suidhelper::util_chroot_jail ‑ build_under_stages_kernel_and_mirrors_device_as_root
hyper-suidhelper::util_chroot_jail ‑ open_chroot_descends_valid_tree
hyper-suidhelper::util_chroot_jail ‑ open_chroot_rejects_path_outside_base
hyper-suidhelper::util_chroot_jail ‑ open_chroot_rejects_symlinked_component
hyper-suidhelper::util_chroot_jail ‑ stage_kernel_materializes_then_refuses_overwrite
hyper-suidhelper::util_chroot_jail ‑ stage_kernel_missing_source_errors
hyper-suidhelper::util_chroot_jail ‑ stage_kernel_rejects_source_outside_base
hyper-suidhelper::util_chroot_jail ‑ stage_kernel_rejects_symlink_escaping_base
hyper-suidhelper::util_confinement ‑ descend_rejects_symlinked_component
hyper-suidhelper::util_confinement ‑ remove_dir_all_clears_nested_tree
hyper-suidhelper::util_confinement ‑ remove_dir_all_does_not_follow_symlinks_out_of_tree
hyper-suidhelper::util_confinement ‑ safefile_mode_axis_rejects_group_writable
hyper-suidhelper::util_confinement ‑ safefile_open_rejects_final_symlink
hyper-suidhelper::util_confinement ‑ safefile_owner_axis_rejects_non_root_file
hyper-suidhelper::util_confinement ‑ safefile_type_axis_distinguishes_regular_from_block
hyper-suidhelper::util_confinement ‑ write_file_missing_returns_enoent
hyper-suidhelper::util_confinement ‑ write_file_refuses_symlinked_target_and_leaves_it_unchanged
hyper-suidhelper::util_confinement ‑ write_file_writes_bytes_to_existing_file
hyper-suidhelper::util_linux_thin_dump ‑ a_mid_document_cut_is_an_error
hyper-suidhelper::util_linux_thin_dump ‑ absent_device_is_an_error_not_empty
hyper-suidhelper::util_linux_thin_dump ‑ attribute_lookup_is_anchored_not_suffix_matched
hyper-suidhelper::util_linux_thin_dump ‑ empty_self_closing_device_parses_to_no_ranges
hyper-suidhelper::util_linux_thin_dump ‑ extracts_exactly_the_target_devices_ranges
hyper-suidhelper::util_linux_thin_dump ‑ layout_variance_is_irrelevant
hyper-suidhelper::util_linux_thin_dump ‑ malformed_xml_is_an_error_not_a_guess
hyper-suidhelper::util_linux_thin_dump ‑ missing_superblock_is_an_error
hyper-suidhelper::util_linux_thin_dump ‑ short_mappings_against_the_claimed_count_are_an_error
hyper-suidhelper::util_safe_bin ‑ owner_axis_root_owned_accepted_else_rejected
hyper-suidhelper::util_safe_bin ‑ rejects_group_or_other_writable
hyper-suidhelper::util_safe_bin ‑ rejects_relative_path
hyper-suidhelper::util_safe_bin ‑ rejects_symlink_with_correct_basename
hyper-suidhelper::util_safe_bin ‑ rejects_wrong_basename
tests/errors.test.ts ‑ CreateVm with an empty img_id is INVALID_ARGUMENT
tests/errors.test.ts ‑ CreateVm with an unrecognised arch value is INVALID_ARGUMENT
tests/errors.test.ts ‑ CreateVm with an unrecognised instance_type value is INVALID_ARGUMENT
tests/errors.test.ts ‑ GetVm on an unknown vm_id is NOT_FOUND
tests/errors.test.ts ‑ GetVmUsage on a never-metered vm_id is NOT_FOUND
tests/errors.test.ts ‑ LoadImage with an empty image_ref is INVALID_ARGUMENT
tests/errors.test.ts ‑ StopVm on an unknown vm_id is NOT_FOUND
tests/lifecycle.test.ts ‑ LoadImage -> CreateVm -> GetVm -> ListVms -> GetVmUsage -> StopVm over the wire
Loading