1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/* |
4
|
|
|
* This file is part of the webmozart/glob package. |
5
|
|
|
* |
6
|
|
|
* (c) Bernhard Schussek <[email protected]> |
7
|
|
|
* |
8
|
|
|
* For the full copyright and license information, please view the LICENSE |
9
|
|
|
* file that was distributed with this source code. |
10
|
|
|
*/ |
11
|
|
|
|
12
|
|
|
namespace Webmozart\Glob\Test; |
13
|
|
|
|
14
|
|
|
use Webmozart\PathUtil\Path; |
15
|
|
|
|
16
|
|
|
/** |
17
|
|
|
* Contains utility methods for testing. |
18
|
|
|
* |
19
|
|
|
* @since 3.1 |
20
|
|
|
* |
21
|
|
|
* @author Bernhard Schussek <[email protected]> |
22
|
|
|
*/ |
23
|
|
|
final class TestUtil |
24
|
|
|
{ |
25
|
|
|
/** |
26
|
|
|
* Creates a temporary directory. |
27
|
|
|
* |
28
|
|
|
* @param string $namespace The directory path in the system's temporary |
29
|
|
|
* directory. |
30
|
|
|
* @param string $className The name of the test class. |
31
|
|
|
* |
32
|
|
|
* @return string The path to the created directory. |
33
|
|
|
*/ |
34
|
146 |
|
public static function makeTempDir($namespace, $className) |
35
|
|
|
{ |
36
|
146 |
|
if (false !== ($pos = strrpos($className, '\\'))) { |
37
|
146 |
|
$shortClass = substr($className, $pos + 1); |
38
|
|
|
} else { |
39
|
|
|
$shortClass = $className; |
40
|
|
|
} |
41
|
|
|
|
42
|
|
|
// Usage of realpath() is important if the temporary directory is a |
43
|
|
|
// symlink to another directory (e.g. /var => /private/var on some Macs) |
44
|
|
|
// We want to know the real path to avoid comparison failures with |
45
|
|
|
// code that uses real paths only |
46
|
146 |
|
$systemTempDir = Path::normalize(realpath(sys_get_temp_dir())); |
47
|
146 |
|
$basePath = $systemTempDir.'/'.$namespace.'/'.$shortClass; |
48
|
|
|
|
49
|
146 |
|
while (false === @mkdir($tempDir = $basePath.rand(10000, 99999), 0777, true)) { |
|
|
|
|
50
|
|
|
// Run until we are able to create a directory |
51
|
|
|
} |
52
|
|
|
|
53
|
146 |
|
return $tempDir; |
54
|
|
|
} |
55
|
|
|
|
56
|
|
|
private function __construct() |
57
|
|
|
{ |
58
|
|
|
} |
59
|
|
|
} |
60
|
|
|
|
This check looks for
while
loops that have no statements or where all statements have been commented out. This may be the result of changes for debugging or the code may simply be obsolete.Consider removing the loop.