PHPのglob関数はfalseを返す場合がある。
PHPUnitなどでglob関数を含むコードをテストしているとき、このケースを満たすためにfalseがどうしても欲しい場合がある。しかし、よっぽどのことがない限りfalseに出会うことはない。手元の環境で実行してみた限りでは、マッチするファイルが見つからなくてもfalseが返ることはなかった。
PHPのソースコードを読んで、唯一手軽にfalseを返させる方法は、極端に長いパターンを与えることだとわかった。
var_dump(glob(str_repeat('.', 1024)));
Warning: glob(): Pattern exceeds the maximum allowed length of 1024 characters in /../test.php on line 3
bool(false)
つまり、テストで意図的にfalseを返させるには、globに長い文字列を渡すとよい。