Testing Files Generator
Italiano

Domande frequenti

Licenza, privacy, riproducibilità e le cose che le persone controllano prima di mettere un generatore in una pipeline di build. Se la tua domanda non c'è, il tracker delle issue è aperto.

In cosa è diverso da dd, fsutil o truncate?

Quei comandi ti danno un file della dimensione giusta pieno di niente. Un file da 2 MB chiamato photo.png fatto così non è un PNG, quindi qualsiasi cosa lo analizzi davvero lo rifiuta per il motivo sbagliato, e anche il tuo test passa per il motivo sbagliato. Questo produce un vero PNG di esattamente 2 MB che si apre in un visualizzatore di immagini, e arriva con una dichiarazione su come il tuo sistema deve trattarlo.

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

È gratuito, e posso usarlo al lavoro?

Sì a entrambe. È rilasciato sotto GPL-3.0 e non costa nulla. Non c'è un account, né una chiave di licenza, né un livello a pagamento.

Posso usare i file generati in un prodotto closed source?

Sì. La licenza copre il codice dello strumento, non ciò che lo strumento produce. File, ricette e manifest generati sono output e non opere derivate, quindi puoi committarli e distribuirli senza alcun obbligo.

I file generati contengono dati personali reali?

No. Tutto ciò che contengono è sintetizzato da un seed. Nessun dataset viene letto, nessun servizio viene contattato e nessun contenuto di terzi è incorporato. Considera un indirizzo e-mail generato inutilizzabile anziché inutilizzato, perché qualsiasi stringa casuale può coincidere per caso con uno reale.

Otterrò esattamente gli stessi file su un'altra macchina?

Sì, byte per byte, con la stessa ricetta e lo stesso seed. Il progetto lo verifica a ogni modifica, e romperlo richiede una versione maggiore. È ciò che ti permette di committare una piccola ricetta invece di grandi fixture binarie.

Serve una connessione a internet?

Mai. Non c'è telemetria, né controllo degli aggiornamenti, né client cloud, e il binario della riga di comando non ha alcuno stack di rete compilato al suo interno. Funziona su una macchina senza rete e in un ambiente aziendale chiuso.

Cosa succede se chiedo una dimensione che un formato non può raggiungere?

Ottieni un errore che nomina il formato, il minimo possibile, il motivo di quel limite inferiore e cosa fare invece, e nessun file viene scritto. Lo strumento non arrotonda mai una dimensione in silenzio. Ogni minimo è elencato nella pagina dei formati.

tfg formats png

Posso generare un file deliberatamente rotto?

Sì. Aggiungi --damage zero-head e il file esce con esattamente la dimensione richiesta, con i primi byte sovrascritti da zeri, così un lettore lo rifiuta, e il manifest dice che il tuo sistema deve rifiutarlo. I dettagli sono nella pagina sui file di test corrotti.

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

Quali formati arrivano dopo?

7z, mp3 e mp4. Oggi 26 formati funzionano da un capo all'altro.

Su quali sistemi posso eseguirlo?

La riga di comando gira su Windows e Linux sia su Intel sia su ARM, e sui Mac con Apple Silicon. La finestra desktop è fornita per Windows su Intel, Linux su Intel e Mac con Apple Silicon. I Mac Intel non sono supportati e non viene compilato nulla per loro.

Devo installare qualcosa?

No. Scarica l'archivio per il tuo sistema, decomprimilo ed esegui il binario. Non c'è un installer, né un runtime da aggiungere, né una dipendenza da risolvere. Se hai Go, funziona anche un solo comando go install.

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

Perché un'esecuzione su migliaia di file è più lenta su Windows?

Perché Windows fa pagare di più ogni percorso che esamina, e un comando che passa su migliaia di file esamina migliaia di percorsi. Misurato su una macchina con 3000 file da 1 kB, verify impiega circa 0,9 secondi su Windows e circa 0,2 secondi su Linux in un container. Un percorso di output più corto abbassa il valore di Windows, perché ogni cartella sopra i file fa parte di ciò che viene esaminato.

Ancora indeciso?

La pagina dei casi d'uso mostra i compiti per cui è pensato, e la pagina dei formati elenca ogni formato con il file più piccolo che può produrre. Il README nel repository è il riferimento completo.

Gratuito e open source, GPL-3.0. Nessuna registrazione. I download per Windows e macOS sono firmati e si avviano senza avvisi.