public function entityManagerDataProvider()
{
$drivers = [$this->getRedisDriver(), $this->getFsDriver(), $this->getTarDriver(), $this->getZipDriver()];
$ems = [];
/** @var DriverInterface $driver */
foreach ($drivers as $index => $driver) {
$driver->setDebugMode(true);
$mapper = new AnnotationMapper();
$em = EntityManager::build($driver, $mapper);
$temp = sys_get_temp_dir() . '/bravo3-orm/' . $index;
if (!file_exists($temp)) {
mkdir($temp, 0777, true);
}
$em->getConfig()->setCacheDir($temp);
$ems[] = [$em];
}
// Alternative mappers - run these against fresh filesystem databases
$mappers = [new YamlMapper([__DIR__ . '/Resources/mappings.yml']), new ChainedMapper([new AnnotationMapper(), new YamlMapper([__DIR__ . '/Resources/mappings.yml'])])];
$index = 0;
foreach ($mappers as $mapper) {
$ems[] = [EntityManager::build($this->getFsDriver('fs-db-' . ++$index), $mapper)];
}
return $ems;
}