Testing Files Generator
Українська

26 форматів файлів, кожен створюється точного розміру

Кожен із них - справжній файл цього формату. Він відкривається у своїй програмі та має рівно стільки байтів, скільки ви запросили. Жоден не є нулями-заповнювачами з приклеєним розширенням.

Формат Назва Розширення Найменший файл Повнота Перевіряється за допомогою
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 не застосовується
md Markdown .md 0 full не застосовується
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 не застосовується
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

Що означають стовпці

Кожен формат до того ж повторюється до байта: той самий рецепт і той самий seed дають однакові файли на будь-якій машині, і саме це робить безпечним коміт рецепта замість самих фікстур.

Налаштування, які приймає кожен формат

Більшість форматів мають власні налаштування - розміри зображення, якість JPEG, кількість сторінок PDF, рядки й стовпці в таблиці, скільки записів входить в архів. Задайте їх через --set key=value у командному рядку або в розділі properties: рецепта.

tfg generate --format jpg --size 500kb --set width=1920 --set height=1080 --set quality=85
Формат Налаштування Допускає
avif width 1 - 16384 пікселів
height 1 - 16384 пікселів
quality 1 - 100
bmp width 1 - 20000 пікселів
height 1 - 20000 пікселів
csv delimiter comma, pipe, semicolon, tab
line_ending crlf, lf
header істина або хибність
quote_style all, minimal, none
columns 2 - 32768 стовпців
docx paragraphs 1 - 50000 абзаців
gif width 1 - 20000 пікселів
height 1 - 20000 пікселів
frames 1 - 60
html structure document, fragment
ico width 1 - 256 пікселів
height 1 - 256 пікселів
embed bmp, png
jpg width 1 - 20000 пікселів
height 1 - 20000 пікселів
quality 1 - 100
json formatting indented, minified, record-per-line
jxl width 1 - 16384 пікселів
height 1 - 16384 пікселів
quality 1 - 100
log entry_format apache-combined, apache-common, json-lines, nginx, plain, syslog
timestamps advancing, fixed
rate 1 - 1000000 записів на секунду
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 істина або хибність
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 будь-який текст
author будь-який текст
subject будь-який текст
keywords будь-який текст
creator будь-який текст
producer будь-який текст
created дата на кшталт 2024-02-29 або 2024-02-29T13:45:00+02:00, або none
modified дата на кшталт 2024-02-29 або 2024-02-29T13:45:00+02:00, або none
png width 1 - 20000 пікселів
height 1 - 20000 пікселів
pptx slides 1 - 500 слайдів
svg width 1 - 20000 пікселів
height 1 - 20000 пікселів
targz entries 0 - 10000
entry_format id формату в тому вигляді, як його виводить tfg formats
entry_size розмір, наприклад 2mb
compression best, default, fast, none
depth 0 - 50
directory_entries істина або хибність
entry_mode 000, 400, 444, 600, 644, 664, 666, 700, 755, 777
entry_owner root, unset, user
tiff width 1 - 20000 пікселів
height 1 - 20000 пікселів
txt encoding utf-16be, utf-16le, utf-8
bom істина або хибність
wav sample_rate 8000 - 192000 герців
bit_depth 8, 16, 24, 32
channels 1 - 8
content noise, silence, sweep, tone
webp width 1 - 16383 пікселів
height 1 - 16383 пікселів
xlsx rows 1 - 200000 рядків
columns 1 - 32768 стовпців
xml encoding utf-16be, utf-16le, utf-8
bom істина або хибність
zip entries 0 - 10000
entry_format id формату в тому вигляді, як його виводить tfg formats
entry_size розмір, наприклад 2mb
compression best, default, fast, none
depth 0 - 50
directory_entries істина або хибність
password пароль відкритим текстом
encryption aes-128, aes-192, aes-256, none, zipcrypto

Значення поза допустимим для налаштування відхиляється повідомленням із назвою налаштування, допустимим діапазоном і тим, що використати натомість. Невідоме налаштування теж помилка, а не мовчазне значення за замовчуванням - друкарська помилка, прийнята мовчки, дає файл із хибними налаштуваннями та годину роздумів, чому тест проходить, хоча не мав би.

Виконайте tfg formats <id>, щоб побачити, що саме приймає один формат у вашій збірці.

Архіви містять справжні файли

targz і zip можна наповнити записами, а не лишати порожньою оболонкою. Створений архів справді містить документи, які заявляє, тому все, що розпаковує його під час тесту, знаходить усередині справжні файли.

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