Testing Files Generator
Polski

30 formatów plików, każdy generowany o dokładnym rozmiarze

Każdy z nich to prawdziwy plik tego formatu. Otwiera się w programie, do którego należy, i ma dokładnie tyle bajtów, ile zamówiłeś. Żaden nie jest zerami z doklejonym rozszerzeniem.

Format Nazwa Rozszerzenie Najmniejszy plik Wierność Sprawdzany przez
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
eml Email message .eml 289 full python-email
geojson GeoJSON .geojson 875 full gdal-geojson
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 nie dotyczy
md Markdown .md 0 full nie dotyczy
mp4 MP4 video .mp4 3312 full libaom
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 nie dotyczy
wav Waveform Audio .wav 98 full ffprobe
webm WebM video .webm 3284 full libaom
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

Co znaczą kolumny

Każdy format powtarza się też co do bajta: ten sam przepis i ziarno dają identyczne pliki na dowolnej maszynie, i właśnie dlatego przepis można bezpiecznie commitować zamiast samych danych testowych.

Ustawienia, które przyjmuje każdy format

Większość formatów ma własne ustawienia - wymiary obrazu, jakość JPEG, liczbę stron PDF, wiersze i kolumny arkusza, liczbę wpisów w archiwum. Podajesz je przez --set klucz=wartość w wierszu poleceń albo pod properties: w przepisie.

tfg generate --format jpg --size 500kb --set width=1920 --set height=1080 --set quality=85
Format Ustawienie Przyjmuje
avif width 1 - 16384 pikseli
height 1 - 16384 pikseli
quality 1 - 100
bmp width 1 - 20000 pikseli
height 1 - 20000 pikseli
csv delimiter comma, pipe, semicolon, tab
line_ending crlf, lf
header prawda albo fałsz
quote_style all, minimal, none
columns 2 - 32768 kolumn
docx paragraphs 1 - 50000 akapitów
eml body alternative, html, plain
text_encoding 7bit, 8bit, quoted-printable
headers ascii, encoded, utf8
line_endings crlf, lf
attachments 0 - 10000
attachment_format identyfikator formatu, tak jak wypisuje go tfg formats
attachment_size rozmiar, na przykład 2mb
filename_style both, content-type, rfc2047, rfc2231
geojson geometry geometrycollection, linestring, mixed, multilinestring, multipoint, multipolygon, point, polygon
formatting indented, minified, record-per-line
precision 0 - 15 miejsc po przecinku
altitude prawda albo fałsz
vertices 3 - 1000000 punktów
holes 0 - 100000 dziur
winding reversed, rfc7946
antimeridian prawda albo fałsz
unlocated all, none, some
ids mixed, none, number, string
bbox prawda albo fałsz
gif width 1 - 20000 pikseli
height 1 - 20000 pikseli
frames 1 - 60
html structure document, fragment
ico width 1 - 256 pikseli
height 1 - 256 pikseli
embed bmp, png
jpg width 1 - 20000 pikseli
height 1 - 20000 pikseli
quality 1 - 100
json formatting indented, minified, record-per-line
jxl width 1 - 16384 pikseli
height 1 - 16384 pikseli
quality 1 - 100
log entry_format apache-combined, apache-common, json-lines, nginx, plain, syslog
timestamps advancing, fixed
rate 1 - 1000000 wpisów na sekundę
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 prawda albo fałsz
mp4 width 1 - 16384 pikseli
height 1 - 16384 pikseli
duration czas trwania, na przykład 10s
change_interval czas trwania, na przykład 10s
frame_rate 1, 5, 10, 12, 15, 24, 25, 30, 48, 50, 60
keyframe_interval czas trwania, na przykład 10s
quality 1 - 100
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 dowolny tekst
author dowolny tekst
subject dowolny tekst
keywords dowolny tekst
creator dowolny tekst
producer dowolny tekst
created data, np. 2024-02-29 albo 2024-02-29T13:45:00+02:00, albo none
modified data, np. 2024-02-29 albo 2024-02-29T13:45:00+02:00, albo none
png width 1 - 20000 pikseli
height 1 - 20000 pikseli
pptx slides 1 - 500 slajdów
svg width 1 - 20000 pikseli
height 1 - 20000 pikseli
targz entries 0 - 10000
entry_format identyfikator formatu, tak jak wypisuje go tfg formats
entry_size rozmiar, na przykład 2mb
compression best, default, fast, none
depth 0 - 50
directory_entries prawda albo fałsz
entry_mode 000, 400, 444, 600, 644, 664, 666, 700, 755, 777
entry_owner root, unset, user
tiff width 1 - 20000 pikseli
height 1 - 20000 pikseli
txt encoding utf-16be, utf-16le, utf-8
bom prawda albo fałsz
wav sample_rate 8000 - 192000 herców
bit_depth 8, 16, 24, 32
channels 1 - 8
content noise, silence, sweep, tone
webm width 1 - 16384 pikseli
height 1 - 16384 pikseli
duration czas trwania, na przykład 10s
change_interval czas trwania, na przykład 10s
frame_rate 1, 5, 10, 12, 15, 24, 25, 30, 48, 50, 60
keyframe_interval czas trwania, na przykład 10s
quality 1 - 100
webp width 1 - 16383 pikseli
height 1 - 16383 pikseli
xlsx rows 1 - 200000 wierszy
columns 1 - 32768 kolumn
xml encoding utf-16be, utf-16le, utf-8
bom prawda albo fałsz
zip entries 0 - 10000
entry_format identyfikator formatu, tak jak wypisuje go tfg formats
entry_size rozmiar, na przykład 2mb
compression best, default, fast, none
depth 0 - 50
directory_entries prawda albo fałsz
password hasło, zwykłym tekstem
encryption aes-128, aes-192, aes-256, none, zipcrypto

Wartość spoza tego, co ustawienie przyjmuje, jest odrzucana komunikatem nazywającym ustawienie, dozwolony zakres i to, czego użyć zamiast tego. Nieznane ustawienie też jest błędem, nigdy cichym pominięciem - literówka przyjęta w milczeniu daje plik z niewłaściwymi ustawieniami i godzinę zastanawiania się, czemu test przechodzi, choć nie powinien.

Uruchom tfg formats <id>, żeby zobaczyć, co dokładnie przyjmuje jeden format w wersji, którą masz.

Archiwa zawierają prawdziwe pliki

eml oraz targz oraz zip można wypełnić wpisami, zamiast zostawiać jako pustą skorupę. Wygenerowane archiwum naprawdę zawiera dokumenty, o których mówi, więc cokolwiek rozpakowuje je w trakcie testu, znajduje w środku prawdziwe pliki.

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