Referencia Zigzkit (SDK consumido)

src/testing.zig

Declaraciones públicas de src/testing.zig (zkit (SDK consumido)).

ImplementadoSin versión del tren todavía· generada desde apps/docs/generated/zig/zkit.json

Página generada desde zkit@zkit-0.0.0-_fk2iAa4BQCqGFKJeeY9WvMQClX5kiZQ2iOZrVsxVyyN (src/root.zig). No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere.

zkit/testing — utilidades para los tests de los consumidores.

Fixture: un directorio temporal propio por test bajo .zig-cache/tmp/<aleatorio>/ (vía std.testing.tmpDir), así que dos procesos de test concurrentes en el mismo cwd nunca comparten ficheros.

Los tests de código con hilos propios abren ficheros por RUTA (no tienen un Io.Dir que pasar), así que la API devuelve rutas cwd-relativas con NUL. Toda ruta vive en el arena de la fixture y se libera en deinit, que además borra el árbol completo. El arena cuelga de std.testing.allocator: una fixture sin deinit es un leak que el propio runner reporta.

Origen: styx/native/zig/test_fixture.zig (18 importadores). Portado con mkdir sobre zkit.fs en vez de std.c.mkdir crudo.

Para fuzz y tests de seguridad ver zkit.safety.fuzz.

testing.Fixture

type · línea 21

pub const Fixture = struct

Sin ///.

testing.Fixture.init

fn · línea 25

pub fn init() Fixture

Sin ///.

testing.Fixture.deinit

fn · línea 33

pub fn deinit(self: *Fixture) void

Borra el directorio de la fixture (recursivo) y libera sus rutas.

testing.Fixture.dir

fn · línea 39

pub fn dir(self: *Fixture) error{OutOfMemory}![:0]const u8

Ruta cwd-relativa del directorio raíz de la fixture.

testing.Fixture.path

fn · línea 44

pub fn path(self: *Fixture, name: []const u8) error{OutOfMemory}![:0]const u8

Ruta cwd-relativa de name (puede llevar subdirectorios).

testing.Fixture.mkdir

fn · línea 50

pub fn mkdir(self: *Fixture, name: []const u8) (fs.MakeDirError || error{OutOfMemory})![:0]const u8

Crea el subdirectorio name y devuelve su ruta. Un directorio que "ya existe" es justo la colisión que esta fixture elimina: es error.

testing.Fixture.writeFile

fn · línea 57

pub fn writeFile(self: *Fixture, name: []const u8, contents: []const u8) (fs.OpenError || fs.WriteError || error{OutOfMemory})![:0]const u8

Crea name con contents y devuelve su ruta.

testing.Fixture.print

fn · línea 66

pub fn print(self: *Fixture, comptime fmt: []const u8, args: anytype) error{OutOfMemory}![:0]const u8

Formatea en el arena de la fixture (p. ej. URIs file://{s}).