Testing Files Generator
Italiano

26 formati di file, ognuno generato a una dimensione esatta

Ognuno è un file reale di quel formato. Si apre nel programma che gli appartiene ed è esattamente il numero di byte che hai chiesto. Nessuno è riempimento di zeri con un'estensione appiccicata.

Formato Nome Estensione File più piccolo Fedeltà Verificato 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 non applicabile
md Markdown .md 0 full non applicabile
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 non applicabile
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

Cosa significano le colonne

Ogni formato si ripete anche al byte: la stessa ricetta e lo stesso seed producono file identici su qualsiasi macchina, ed è ciò che rende sicuro committare una ricetta al posto delle fixture stesse.

Impostazioni che ogni formato accetta

La maggior parte dei formati ha impostazioni proprie - dimensioni dell'immagine, qualità JPEG, numero di pagine PDF, righe e colonne di un foglio di calcolo, quante voci vanno dentro un archivio. Impostale con --set key=value dalla riga di comando, o sotto properties: in una ricetta.

tfg generate --format jpg --size 500kb --set width=1920 --set height=1080 --set quality=85
Formato Impostazione Accetta
avif width 1 - 16384 pixel
height 1 - 16384 pixel
quality 1 - 100
bmp width 1 - 20000 pixel
height 1 - 20000 pixel
csv delimiter comma, pipe, semicolon, tab
line_ending crlf, lf
header vero o falso
quote_style all, minimal, none
columns 2 - 32768 colonne
docx paragraphs 1 - 50000 paragrafi
gif width 1 - 20000 pixel
height 1 - 20000 pixel
frames 1 - 60
html structure document, fragment
ico width 1 - 256 pixel
height 1 - 256 pixel
embed bmp, png
jpg width 1 - 20000 pixel
height 1 - 20000 pixel
quality 1 - 100
json formatting indented, minified, record-per-line
jxl width 1 - 16384 pixel
height 1 - 16384 pixel
quality 1 - 100
log entry_format apache-combined, apache-common, json-lines, nginx, plain, syslog
timestamps advancing, fixed
rate 1 - 1000000 voci al secondo
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 vero 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 qualsiasi testo
author qualsiasi testo
subject qualsiasi testo
keywords qualsiasi testo
creator qualsiasi testo
producer qualsiasi testo
created una data come 2024-02-29 o 2024-02-29T13:45:00+02:00, oppure none
modified una data come 2024-02-29 o 2024-02-29T13:45:00+02:00, oppure none
png width 1 - 20000 pixel
height 1 - 20000 pixel
pptx slides 1 - 500 diapositive
svg width 1 - 20000 pixel
height 1 - 20000 pixel
targz entries 0 - 10000
entry_format l'id di un formato, come lo elenca tfg formats
entry_size una dimensione come 2mb
compression best, default, fast, none
depth 0 - 50
directory_entries vero o falso
entry_mode 000, 400, 444, 600, 644, 664, 666, 700, 755, 777
entry_owner root, unset, user
tiff width 1 - 20000 pixel
height 1 - 20000 pixel
txt encoding utf-16be, utf-16le, utf-8
bom vero o falso
wav sample_rate 8000 - 192000 hertz
bit_depth 8, 16, 24, 32
channels 1 - 8
content noise, silence, sweep, tone
webp width 1 - 16383 pixel
height 1 - 16383 pixel
xlsx rows 1 - 200000 righe
columns 1 - 32768 colonne
xml encoding utf-16be, utf-16le, utf-8
bom vero o falso
zip entries 0 - 10000
entry_format l'id di un formato, come lo elenca tfg formats
entry_size una dimensione come 2mb
compression best, default, fast, none
depth 0 - 50
directory_entries vero o falso
password la password, in chiaro
encryption aes-128, aes-192, aes-256, none, zipcrypto

Un valore fuori da ciò che un'impostazione accetta viene rifiutato con un messaggio che nomina l'impostazione, l'intervallo consentito e cosa usare al suo posto. Anche un'impostazione sconosciuta è un errore, mai un valore predefinito silenzioso - un refuso accettato in silenzio dà un file con le impostazioni sbagliate e un'ora a chiedersi perché il test passa quando non dovrebbe.

Esegui tfg formats <id> per vedere esattamente cosa accetta un formato nella build che hai.

Gli archivi contengono file reali

targz e zip possono essere riempiti di voci invece di restare un guscio vuoto. Un archivio generato contiene davvero i documenti che dichiara di contenere, quindi qualsiasi cosa lo decomprima durante un test trova file reali al suo interno.

targets:
  - id: bundle
    format: zip
    contains:
      - format: txt
        count: 200
        size: 4kb