public static function setUpBeforeClass()
{
parent::setUpBeforeClass();
$tmpDir = __DIR__ . '/tmp';
if (defined('PHP_WINDOWS_VERSION_BUILD')) {
$command = 'rmdir /q /s ' . escapeshellarg($tmpDir);
} else {
$command = 'rmdir -Rf ' . escapeshellarg($tmpDir);
}
$process = new \Symfony\Component\Process\Process($command);
$process->run();
if (!is_dir($tmpDir)) {
mkdir($tmpDir);
}
self::$tmpDir = $tmpDir . '/exiftool_reader';
if (!is_dir(self::$tmpDir)) {
mkdir(self::$tmpDir);
}
copy(__DIR__ . '/../../../files/ExifTool.jpg', self::$tmpDir . '/test2.jpg');
copy(__DIR__ . '/../../../files/ExifTool.jpg', self::$tmpDir . '/test.jpg');
if (!is_dir(self::$tmpDir . '/dir')) {
mkdir(self::$tmpDir . '/dir');
}
if (!is_dir(self::$tmpDir . '/usr')) {
mkdir(self::$tmpDir . '/usr');
}
$tmpDir2 = $tmpDir . '/exiftool_reader2';
if (!is_dir($tmpDir2)) {
mkdir($tmpDir2);
}
copy(__DIR__ . '/../../../files/ExifTool.jpg', $tmpDir2 . '/test2.jpg');
if (defined('PHP_WINDOWS_VERSION_BUILD')) {
self::$disableSymLinkTest = true;
} elseif (!is_link(self::$tmpDir . '/symlink')) {
if (!@symlink($tmpDir2, self::$tmpDir . '/symlink')) {
self::$disableSymLinkTest = true;
}
}
copy(__DIR__ . '/../../../files/plop/CanonRaw.cr2', self::$tmpDir . '/dir/CanonRaw.cr2');
$tmpDir3 = $tmpDir . '/exiftool_reader3';
if (!is_dir($tmpDir3)) {
mkdir($tmpDir3);
}
if (!is_dir($tmpDir3 . '/.svn')) {
mkdir($tmpDir3 . '/.svn');
}
if (!is_dir($tmpDir3 . '/.roro')) {
mkdir($tmpDir3 . '/.roro');
}
if (!is_dir($tmpDir3 . '/.git')) {
mkdir($tmpDir3 . '/.git');
}
touch($tmpDir3 . '/.git/config');
touch($tmpDir3 . '/.roro/.roro.tmp');
copy(__DIR__ . '/../../../files/ExifTool.jpg', $tmpDir3 . '/.exiftool.jpg');
}