Testing Files Generator
Nederlands

Veelgestelde vragen

Licentie, privacy, reproduceerbaarheid en de dingen die mensen nagaan voordat ze een generator in een buildpipeline zetten. Staat je vraag er niet bij, dan staat de issuetracker open.

Waarin verschilt dit van dd, fsutil of truncate?

Die geven je een bestand van de juiste grootte vol met niets. Een bestand van 2 MB met de naam photo.png dat zo is gemaakt is geen PNG, dus alles wat het echt parset weigert het om de verkeerde reden, en je test slaagt dan ook om de verkeerde reden. Dit maakt een echte PNG van precies 2 MB die opent in een afbeeldingsviewer, en komt met een verklaring over hoe je systeem ermee om moet gaan.

tfg generate --format png --size 2mb --out ./fixtures

Is het gratis, en mag ik het op het werk gebruiken?

Ja op beide. Het is uitgebracht onder de GPL-3.0 en kost niets. Er is geen account, geen licentiesleutel en geen betaalde variant.

Mag ik de gegenereerde bestanden in een closed source product gebruiken?

Ja. De licentie geldt voor de code van de tool, niet voor wat de tool produceert. Gegenereerde bestanden, recepten en manifesten zijn uitvoer en geen afgeleide werken, dus je kunt ze committen en verspreiden zonder enige verplichting.

Bevatten de gegenereerde bestanden echte persoonsgegevens?

Nee. Alles erin wordt gesynthetiseerd uit een seed. Er wordt geen dataset gelezen, geen dienst benaderd en geen inhoud van derden ingebed. Behandel een gegenereerd e-mailadres als onbruikbaar in plaats van als ongebruikt, want elke willekeurige tekenreeks kan bij toeval samenvallen met een echte.

Krijg ik op een andere machine precies dezelfde bestanden?

Ja, byte voor byte, bij hetzelfde recept en dezelfde seed. Het project test dat bij elke wijziging, en het breken ervan vereist een major-versie. Daardoor kun je een klein recept committen in plaats van grote binaire fixtures.

Heeft het een internetverbinding nodig?

Nooit. Er is geen telemetrie, geen updatecontrole en geen cloudclient, en in de opdrachtregel-binary is helemaal geen netwerkstack gecompileerd. Het werkt op een machine zonder netwerk en binnen een afgesloten bedrijfsomgeving.

Wat gebeurt er als ik een grootte vraag die een formaat niet kan halen?

Je krijgt een fout die het formaat noemt, de kleinst mogelijke grootte, de reden voor die ondergrens en wat je in plaats daarvan kunt doen, en er wordt geen bestand geschreven. De tool rondt een grootte nooit stilzwijgend af. Elke ondergrens staat op de pagina met formaten.

tfg formats png

Kan ik een bewust kapot bestand genereren?

Ja. Voeg --damage zero-head toe en het bestand komt uit op precies de gevraagde grootte, met de eerste bytes overschreven door nullen, zodat een lezer het weigert, en het manifest zegt dat je systeem het moet weigeren. De details staan op de pagina over beschadigde testbestanden.

tfg generate --format png --size 2mb --damage zero-head --out ./out

Welke formaten komen er nog?

7z, mp3 en mp4. Vandaag werken 26 formaten van begin tot eind.

Op welke systemen kan ik het draaien?

De opdrachtregel draait op Windows en Linux, zowel op Intel als op ARM, en op Macs met Apple Silicon. Het bureaubladvenster wordt geleverd voor Windows op Intel, Linux op Intel en Macs met Apple Silicon. Intel-Macs worden niet ondersteund en daar wordt niets voor gebouwd.

Moet ik iets installeren?

Nee. Download het archief voor je systeem, pak het uit en start de binary. Er is geen installatieprogramma, geen runtime om toe te voegen en geen afhankelijkheid om op te lossen. Als je Go hebt, werkt ook één enkele go install-opdracht.

go install github.com/donislawdev/TestingFilesGenerator/cmd/tfg@latest

Waarom is een run over duizenden bestanden trager op Windows?

Omdat Windows meer rekent voor elk pad dat het bekijkt, en een opdracht die over duizenden bestanden gaat bekijkt duizenden paden. Gemeten op één machine met 3000 bestanden van 1 kB doet verify er ongeveer 0,9 seconde over op Windows en ongeveer 0,2 seconde op Linux in een container. Een korter uitvoerpad maakt het cijfer voor Windows kleiner, omdat elke map boven de bestanden deel uitmaakt van wat wordt bekeken.

Nog aan het twijfelen?

De pagina met toepassingen toont de taken waarvoor het is gebouwd, en de pagina met formaten toont elk formaat met het kleinste bestand dat het kan maken. De README in de repository is de volledige referentie.

Gratis en open source, GPL-3.0. Geen account nodig. De downloads voor Windows en macOS zijn ondertekend en starten zonder waarschuwing.