minor #15924 Add a group for tests of the finder against the FTP server (stof)

This PR was merged into the 2.3 branch.

Discussion
----------

Add a group for tests of the finder against the FTP server

This allows to skip them easily when running the testsuite, as they represent a significant part of the testsuite time. These 2 tests together represent 42% of the execution time of the testsuite (all the time being spent connecting to the FTP server).

I also remove the usage of the data provider as a data provider with a single dataset (and used only partially) only makes tests harder to read. and does not save any duplication.

Commits
-------

51147e3 Add a group for tests of the finder against the FTP server
This commit is contained in:
Fabien Potencier 2015-09-27 11:50:37 +02:00
commit 8df5d94158
1 changed files with 13 additions and 33 deletions

View File

@ -16,42 +16,36 @@ use Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator;
class RecursiveDirectoryIteratorTest extends IteratorTestCase
{
/**
* @dataProvider getPaths
*
* @param string $path
* @param bool $seekable
* @param bool $contains
* @param string $message
* @group network
*/
public function testRewind($path, $seekable, $contains, $message = null)
public function testRewindOnFtp()
{
try {
$i = new RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS);
$i = new RecursiveDirectoryIterator('ftp://ftp.mozilla.org/', \RecursiveDirectoryIterator::SKIP_DOTS);
} catch (\UnexpectedValueException $e) {
$this->markTestSkipped(sprintf('Unsupported stream "%s".', $path));
$this->markTestSkipped('Unsupported stream "ftp".');
}
$i->rewind();
$this->assertTrue(true, $message);
$this->assertTrue(true);
}
/**
* @dataProvider getPaths
*
* @param string $path
* @param bool $seekable
* @param bool $contains
* @param string $message
* @group network
*/
public function testSeek($path, $seekable, $contains, $message = null)
public function testSeekOnFtp()
{
try {
$i = new RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS);
$i = new RecursiveDirectoryIterator('ftp://ftp.mozilla.org/', \RecursiveDirectoryIterator::SKIP_DOTS);
} catch (\UnexpectedValueException $e) {
$this->markTestSkipped(sprintf('Unsupported stream "%s".', $path));
$this->markTestSkipped('Unsupported stream "ftp".');
}
$contains = array(
'ftp://ftp.mozilla.org'.DIRECTORY_SEPARATOR.'README',
'ftp://ftp.mozilla.org'.DIRECTORY_SEPARATOR.'pub',
);
$actual = array();
$i->seek(0);
@ -62,18 +56,4 @@ class RecursiveDirectoryIteratorTest extends IteratorTestCase
$this->assertEquals($contains, $actual);
}
public function getPaths()
{
$data = array();
// ftp
$contains = array(
'ftp://ftp.mozilla.org'.DIRECTORY_SEPARATOR.'README',
'ftp://ftp.mozilla.org'.DIRECTORY_SEPARATOR.'pub',
);
$data[] = array('ftp://ftp.mozilla.org/', false, $contains);
return $data;
}
}