26 formatos de archivo, cada uno generado a un tamaño exacto
Cada uno es un archivo real de ese formato. Se abre en el programa que le corresponde y tiene exactamente el número de bytes que pediste. Ninguno es relleno de ceros con una extensión pegada.
| Formato | Nombre | Extensión | Archivo más pequeño | Fidelidad | Comprobado con |
|---|---|---|---|---|---|
avif |
AV1 Image File Format | .avif |
311 | full | pillow |
bmp |
Windows Bitmap | .bmp |
58 | full | pillow |
csv |
Comma-Separated Values | .csv |
115 | full | python-csv |
docx |
Word (Office Open XML) | .docx |
1220 | full | libreoffice |
gif |
Graphics Interchange Format | .gif |
114 | full | pillow |
html |
HyperText Markup Language | .html |
118 | full | python-html |
ico |
Windows Icon | .ico |
70 | full | pillow |
jpg |
JPEG | .jpg |
602 | full | pillow |
json |
JavaScript Object Notation | .json |
219 | full | node-json |
jxl |
JPEG XL | .jxl |
147 | full | pillow-jxl |
log |
Server and application log | .log |
155 | full | no aplicable |
md |
Markdown | .md |
0 | full | no aplicable |
pdf |
Portable Document Format | .pdf |
3415 | full | pdftotext |
png |
Portable Network Graphics | .png |
74 | full | pillow |
pptx |
PowerPoint (Office Open XML) | .pptx |
4809 | full | libreoffice |
svg |
Scalable Vector Graphics | .svg |
194 | full | inkscape |
targz |
tar + gzip | .tar.gz |
9790 | full | 7z |
tiff |
Tagged Image File Format | .tiff |
183 | full | pillow |
toml |
TOML | .toml |
212 | full | python-toml |
txt |
Plain text | .txt |
0 | full | no aplicable |
wav |
Waveform Audio | .wav |
98 | full | ffprobe |
webp |
WebP | .webp |
148 | full | pillow |
xlsx |
Excel (Office Open XML) | .xlsx |
1726 | full | libreoffice |
xml |
Extensible Markup Language | .xml |
264 | full | python-xml |
yaml |
YAML | .yaml |
241 | full | python-yaml |
zip |
ZIP | .zip |
8382 | full | 7z |
Qué significan las columnas
-
Archivo más pequeño
Los menos bytes que esta herramienta aceptará para ese formato, incluida la etiqueta que escribe dentro del archivo. Pide menos y obtienes un error que nombra el suelo y su motivo, nunca un archivo del tamaño equivocado.
-
Fidelidad
Cuán completo es el archivo.
fullsignifica que lo acepta un lector que analiza de verdad el formato, no solo que la extensión coincida. -
Comprobado con
El lector independiente que abre cada archivo generado antes de que el formato se publique - una implementación aparte, no nuestro propio código corrigiendo sus propios deberes.
Cada formato también se repite byte a byte: la misma receta y la misma semilla producen archivos idénticos en cualquier máquina, y eso es lo que hace seguro subir al repositorio una receta en lugar de los fixtures mismos.
Ajustes que admite cada formato
La mayoría de los formatos tienen ajustes propios - dimensiones de imagen, calidad JPEG, número de
páginas de PDF, filas y columnas de una hoja de cálculo, cuántas entradas van dentro de un
archivo comprimido. Defínelos con --set key=value en la línea de comandos, o bajo
properties: en una receta.
tfg generate --format jpg --size 500kb --set width=1920 --set height=1080 --set quality=85
| Formato | Ajuste | Admite |
|---|---|---|
avif |
width |
1 - 16384 píxeles |
height |
1 - 16384 píxeles | |
quality |
1 - 100 | |
bmp |
width |
1 - 20000 píxeles |
height |
1 - 20000 píxeles | |
csv |
delimiter |
comma, pipe, semicolon, tab |
line_ending |
crlf, lf | |
header |
verdadero o falso | |
quote_style |
all, minimal, none | |
columns |
2 - 32768 columnas | |
docx |
paragraphs |
1 - 50000 párrafos |
gif |
width |
1 - 20000 píxeles |
height |
1 - 20000 píxeles | |
frames |
1 - 60 | |
html |
structure |
document, fragment |
ico |
width |
1 - 256 píxeles |
height |
1 - 256 píxeles | |
embed |
bmp, png | |
jpg |
width |
1 - 20000 píxeles |
height |
1 - 20000 píxeles | |
quality |
1 - 100 | |
json |
formatting |
indented, minified, record-per-line |
jxl |
width |
1 - 16384 píxeles |
height |
1 - 16384 píxeles | |
quality |
1 - 100 | |
log |
entry_format |
apache-combined, apache-common, json-lines, nginx, plain, syslog |
timestamps |
advancing, fixed | |
rate |
1 - 1000000 entradas por segundo | |
methods |
get, mixed, read | |
status_mix |
client-errors, realistic, server-errors, success | |
level_mix |
debug, errors, quiet, realistic | |
ip_version |
mixed, v4, v6 | |
line_ending |
crlf, lf | |
md |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
verdadero o falso | |
pdf |
pages |
1 - 5000 |
page_size |
a3, a4, a5, legal, letter, mixed | |
orientation |
landscape, mixed, portrait | |
rotate |
0, 90, 180, 270 | |
pdf_version |
1.4, 1.7 | |
title |
cualquier texto | |
author |
cualquier texto | |
subject |
cualquier texto | |
keywords |
cualquier texto | |
creator |
cualquier texto | |
producer |
cualquier texto | |
created |
una fecha como 2024-02-29 o 2024-02-29T13:45:00+02:00, o none | |
modified |
una fecha como 2024-02-29 o 2024-02-29T13:45:00+02:00, o none | |
png |
width |
1 - 20000 píxeles |
height |
1 - 20000 píxeles | |
pptx |
slides |
1 - 500 diapositivas |
svg |
width |
1 - 20000 píxeles |
height |
1 - 20000 píxeles | |
targz |
entries |
0 - 10000 |
entry_format |
el id de un formato, tal como lo lista tfg formats | |
entry_size |
un tamaño como 2mb | |
compression |
best, default, fast, none | |
depth |
0 - 50 | |
directory_entries |
verdadero o falso | |
entry_mode |
000, 400, 444, 600, 644, 664, 666, 700, 755, 777 | |
entry_owner |
root, unset, user | |
tiff |
width |
1 - 20000 píxeles |
height |
1 - 20000 píxeles | |
txt |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
verdadero o falso | |
wav |
sample_rate |
8000 - 192000 hercios |
bit_depth |
8, 16, 24, 32 | |
channels |
1 - 8 | |
content |
noise, silence, sweep, tone | |
webp |
width |
1 - 16383 píxeles |
height |
1 - 16383 píxeles | |
xlsx |
rows |
1 - 200000 filas |
columns |
1 - 32768 columnas | |
xml |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
verdadero o falso | |
zip |
entries |
0 - 10000 |
entry_format |
el id de un formato, tal como lo lista tfg formats | |
entry_size |
un tamaño como 2mb | |
compression |
best, default, fast, none | |
depth |
0 - 50 | |
directory_entries |
verdadero o falso | |
password |
la contraseña, en texto plano | |
encryption |
aes-128, aes-192, aes-256, none, zipcrypto |
Un valor fuera de lo que admite un ajuste se rechaza con un mensaje que nombra el ajuste, el intervalo permitido y qué usar en su lugar. Un ajuste desconocido también es un error, nunca un valor por defecto silencioso - una errata aceptada en silencio da un archivo con los ajustes equivocados y una hora preguntándote por qué la prueba pasa cuando no debería.
Ejecuta tfg formats <id> para ver exactamente qué admite un formato en la versión
que tienes.
Los archivos comprimidos contienen archivos reales
targz y zip se
pueden llenar de entradas en lugar de quedar como un cascarón vacío. Un archivo comprimido
generado contiene de verdad los documentos que dice contener, así que todo lo que lo descomprima
durante una prueba encuentra archivos reales dentro.
targets:
- id: bundle
format: zip
contains:
- format: txt
count: 200
size: 4kb