Testing Files Generator
日本語

よくある質問

ライセンス、プライバシー、再現性、そして生成ツールをビルドパイプラインに組み込む前に人々が確認すること。質問がここにない場合は、イシュートラッカーをご利用ください。

ddやfsutil、truncateとは何が違いますか。

それらが作るのは、サイズだけ正しい中身のないファイルです。そうして作ったphoto.pngという2MBのファイルはPNGではないため、実際に解析するものはすべて誤った理由で拒否し、あなたのテストも誤った理由で通ります。このツールはちょうど2MBの本物のPNGを作ります。画像ビューアーで開け、システムがどう扱うべきかという宣言も付いてきます。

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

無料ですか。仕事で使えますか。

どちらも可能です。GPL-3.0で公開されており、費用はかかりません。アカウントもライセンスキーも有料プランもありません。

生成したファイルをクローズドソースの製品で使えますか。

はい。ライセンスが対象とするのはツールのコードであり、ツールが生成するものではありません。生成されたファイル、レシピ、マニフェストは派生物ではなく出力ですので、コミットして配布しても何の義務も生じません。

生成されたファイルに実在の個人情報は含まれますか。

いいえ。中身はすべてシードから合成されます。データセットは読み込まず、サービスにも接続せず、第三者のコンテンツも埋め込みません。生成されたメールアドレスは、未使用ではなく使用不可と見なしてください。ランダムな文字列がたまたま実在のものと一致することがあるからです。

別のマシンでもまったく同じファイルになりますか。

はい。レシピとシードが同じなら、バイト単位で同じです。プロジェクトは変更のたびにこれをテストしており、破るにはメジャーバージョンを上げる必要があります。だからこそ、大きなバイナリのフィクスチャの代わりに小さなレシピをコミットできます。

インターネット接続は必要ですか。

一切不要です。テレメトリも更新確認もクラウドクライアントもなく、コマンドラインのバイナリにはネットワークスタックがそもそもコンパイルされていません。ネットワークのないマシンでも、閉じた社内環境でも動きます。

形式が到達できないサイズを要求するとどうなりますか。

形式名、可能な最小サイズ、その下限の理由、代わりにすべきことを示すエラーが返り、ファイルは書き込まれません。ツールがサイズを黙って丸めることはありません。各下限は形式ページに載っています。

tfg formats png

意図的に壊れたファイルを生成できますか。

はい。--damage zero-headを加えると、ファイルは求めたとおりのサイズで、先頭のバイトがゼロで上書きされて出てきます。そのためリーダーはそれを拒否し、マニフェストにはシステムがそれを拒否すべきことが記録されます。詳細は破損したテストファイルのページにあります。

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

次に対応する形式は何ですか。

7z、mp3、mp4です。現在、26種類の形式がエンドツーエンドで動作します。

どのOSで動かせますか。

コマンドラインは、WindowsとLinuxのIntelとARM、およびApple SiliconのMacで動作します。デスクトップウィンドウは、WindowsのIntel、LinuxのIntel、Apple SiliconのMac向けに提供されます。IntelのMacは非対応で、ビルドもされません。

何かインストールする必要はありますか。

いいえ。お使いのOS向けのアーカイブをダウンロードして展開し、バイナリを実行するだけです。インストーラーも、追加するランタイムも、解決すべき依存関係もありません。Goをお持ちなら、go installコマンド1つでも動きます。

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

数千ファイルの実行がWindowsで遅いのはなぜですか。

Windowsは調べるパス1つあたりのコストが高く、数千ファイルを走査するコマンドは数千のパスを調べるからです。1kBのファイル3000個があるマシンで測定したところ、verifyはWindowsで約0.9秒、コンテナ内のLinuxで約0.2秒かかりました。出力パスを短くするとWindowsの数値は小さくなります。ファイルより上のフォルダーもすべて調べる対象に含まれるためです。

まだ迷っていますか。

利用例のページでは、このツールが想定する用途を、形式ページでは、各形式と生成できる最小のファイルを紹介しています。リポジトリのREADMEが完全なリファレンスです。

無料のオープンソース、GPL-3.0。登録は不要です。WindowsとmacOS向けのダウンロードは署名済みで、警告なしで起動します。