Najczęstsze pytania
Licencja, prywatność, powtarzalność i rzeczy, które ludzie sprawdzają, zanim wstawią generator do potoku budowania. Jeśli Twojego pytania tu nie ma, zgłoszenia są otwarte.
Czym to się różni od dd, fsutil albo truncate?
Tamte dają plik właściwego rozmiaru wypełniony niczym. Plik 2 MB nazwany photo.png zrobiony w ten sposób nie jest PNG, więc cokolwiek naprawdę go parsuje, odrzuci go z niewłaściwego powodu - a wtedy Twój test przechodzi też z niewłaściwego powodu. Tutaj powstaje prawdziwy PNG o rozmiarze dokładnie 2 MB, który otwiera się w przeglądarce obrazów, i przychodzi z informacją, jak system ma go potraktować.
tfg generate --format png --size 2mb --out ./fixtures
Czy to jest darmowe i czy mogę tego używać w pracy?
Tak na oba pytania. Narzędzie jest wydane na GPL-3.0 i nic nie kosztuje. Nie ma konta, klucza licencyjnego ani wersji płatnej.
Czy mogę użyć wygenerowanych plików w zamkniętym produkcie?
Tak. Licencja obejmuje kod narzędzia, a nie to, co narzędzie tworzy. Wygenerowane pliki, przepisy i manifesty są wynikiem pracy programu, a nie dziełem zależnym, więc można je commitować i dostarczać bez żadnych zobowiązań.
Czy wygenerowane pliki zawierają prawdziwe dane osobowe?
Nie. Wszystko w środku jest wytworzone z ziarna. Żaden zbiór danych nie jest czytany, żadna usługa nie jest odpytywana i żadna cudza treść nie jest osadzana. Wygenerowany adres e-mail traktuj jako nienadający się do użycia, a nie jako nieużywany - każdy losowy ciąg znaków może przypadkiem zderzyć się z prawdziwym.
Czy na innej maszynie dostanę dokładnie te same pliki?
Tak, co do bajta, przy tym samym przepisie i tym samym ziarnie. Projekt sprawdza to przy każdej zmianie, a złamanie tego wymaga podniesienia wersji głównej. Właśnie dlatego zamiast dużych plików binarnych można commitować mały przepis.
Czy narzędzie potrzebuje internetu?
Nigdy. Nie ma telemetrii, sprawdzania aktualizacji ani klienta chmurowego, a binarka wiersza poleceń nie ma w ogóle wkompilowanej obsługi sieci. Działa na maszynie bez sieci i w zamkniętym środowisku firmowym.
Co się stanie, gdy poproszę o rozmiar, którego format nie osiągnie?
Dostaniesz błąd nazywający format, najmniejszy możliwy rozmiar, powód tego ograniczenia i podpowiedź, co zrobić zamiast tego, a żaden plik nie powstanie. Narzędzie nigdy nie zaokrągla rozmiaru po cichu. Wszystkie minima są wypisane na stronie formatów.
tfg formats png
Czy mogę wygenerować plik celowo uszkodzony?
Jeszcze nie. Pliki uszkodzone i niepoprawne są zaplanowaną funkcją. Dziś każdy plik, który narzędzie zapisuje, jest poprawnym plikiem swojego formatu.
Jakie formaty są następne w kolejce?
7z, tiff, webp, mp3 i mp4. Formatów działających dziś od początku do końca jest 20.
Na jakich systemach to działa?
Wiersz poleceń działa na Windows i Linux, zarówno na Intelu, jak i na ARM, oraz na Makach z procesorem Apple. Okno jest budowane dla Windows na Intelu, Linuksa na Intelu i Maków z procesorem Apple. Maki z procesorem Intel nie są wspierane i nic dla nich nie powstaje.
Czy muszę cokolwiek instalować?
Nie. Pobierz archiwum dla swojego systemu, rozpakuj i uruchom. Nie ma instalatora, nie trzeba dokładać środowiska uruchomieniowego ani rozwiązywać zależności. Jeśli masz Go, wystarczy jedno polecenie go install.
go install github.com/donislawdev/TestingFilesGenerator/cmd/tfg@latest
Dlaczego przebieg po tysiącach plików jest wolniejszy na Windows?
Bo Windows liczy sobie więcej za każdą ścieżkę, na którą patrzy, a polecenie chodzące po tysiącach plików patrzy na tysiące ścieżek. Zmierzone na jednej maszynie przy 3000 plików po 1 kB: verify trwa około 0,9 sekundy na Windows i około 0,2 sekundy na Linuksie w kontenerze. Krótsza ścieżka katalogu wyjściowego zmniejsza wynik na Windows, bo każdy katalog nad plikami też jest częścią tego, na co system patrzy.
Wciąż się zastanawiasz?
Strona zastosowań pokazuje zadania, pod które to powstało, a strona formatów wypisuje każdy format razem z najmniejszym plikiem, jaki potrafi zrobić. README w repozytorium jest pełną dokumentacją.
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Binarki nie są jeszcze podpisane, więc system ostrzeże przy pierwszym uruchomieniu - nota wydania mówi dokładnie, czego się spodziewać.