Skip to content
Extraits de code Groupes Projets
Valider 4c722433 rédigé par diosmosis's avatar diosmosis
Parcourir les fichiers

Fixing issues causing omnifixture setup to fail.

parent bf5bd787
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -57,6 +57,11 @@ class ManySitesImportedLogsWithXssAttempts extends ManySitesImportedLogs ...@@ -57,6 +57,11 @@ class ManySitesImportedLogsWithXssAttempts extends ManySitesImportedLogs
self::createWebsite($this->dateTime, $ecommerce = 0, $siteName = 'Piwik test two', self::createWebsite($this->dateTime, $ecommerce = 0, $siteName = 'Piwik test two',
$siteUrl = 'http://example-site-two.com'); $siteUrl = 'http://example-site-two.com');
} }
if (!self::siteCreated($idSite = 3)) {
self::createWebsite($this->dateTime, $ecommerce = 0, $siteName = 'Piwik test three',
$siteUrl = 'http://example-site-three.com');
}
} }
public function addAnnotations() public function addAnnotations()
......
...@@ -265,13 +265,6 @@ class ManyVisitsWithGeoIP extends Fixture ...@@ -265,13 +265,6 @@ class ManyVisitsWithGeoIP extends Fixture
public static function unsetLocationProvider() public static function unsetLocationProvider()
{ {
// also fails on other PHP, is it really needed?
return;
// this randomly fails on PHP 5.3
if(strpos(PHP_VERSION, '5.3') === 0) {
return;
}
try { try {
LocationProvider::setCurrentProvider('default'); LocationProvider::setCurrentProvider('default');
} catch(Exception $e) { } catch(Exception $e) {
......
...@@ -33,6 +33,8 @@ class ManyVisitsWithMockLocationProvider extends Fixture ...@@ -33,6 +33,8 @@ class ManyVisitsWithMockLocationProvider extends Fixture
$this->setUpWebsitesAndGoals(); $this->setUpWebsitesAndGoals();
$this->setMockLocationProvider(); $this->setMockLocationProvider();
$this->trackVisits(); $this->trackVisits();
ManyVisitsWithGeoIP::unsetLocationProvider();
} }
public function tearDown() public function tearDown()
......
...@@ -32,11 +32,29 @@ class OmniFixture extends Fixture ...@@ -32,11 +32,29 @@ class OmniFixture extends Fixture
public $fixtures = array(); public $fixtures = array();
private function requireAllFixtures()
{
$fixturesToLoad = array(
'/tests/PHPUnit/Fixtures/*.php',
'/tests/UI/Fixtures/*.php',
'/plugins/*/tests/Fixtures/*.php',
'/plugins/*/Test/Fixtures/*.php',
);
foreach($fixturesToLoad as $fixturePath) {
foreach (glob(PIWIK_INCLUDE_PATH . $fixturePath) as $file) {
require_once $file;
}
}
}
/** /**
* Constructor. * Constructor.
*/ */
public function __construct() public function __construct()
{ {
$this->requireAllFixtures();
$date = $this->month . '-01'; $date = $this->month . '-01';
$classes = get_declared_classes(); $classes = get_declared_classes();
...@@ -94,6 +112,8 @@ class OmniFixture extends Fixture ...@@ -94,6 +112,8 @@ class OmniFixture extends Fixture
public function setUp() public function setUp()
{ {
foreach ($this->fixtures as $fixture) { foreach ($this->fixtures as $fixture) {
echo "Setting up " . get_class($fixture) . "...\n";
$fixture->setUp(); $fixture->setUp();
} }
...@@ -108,6 +128,8 @@ class OmniFixture extends Fixture ...@@ -108,6 +128,8 @@ class OmniFixture extends Fixture
public function tearDown() public function tearDown()
{ {
foreach ($this->fixtures as $fixture) { foreach ($this->fixtures as $fixture) {
echo "Tearing down " . get_class($fixture) . "...\n";
$fixture->tearDown(); $fixture->tearDown();
} }
} }
......
...@@ -27,6 +27,11 @@ class LocationProvider extends CountryLocationProvider ...@@ -27,6 +27,11 @@ class LocationProvider extends CountryLocationProvider
if (isset($this->ipToLocations[$ip])) { if (isset($this->ipToLocations[$ip])) {
$result = $this->ipToLocations[$ip]; $result = $this->ipToLocations[$ip];
} else { } else {
if (!isset(self::$locations[$this->currentLocation])) {
throw new \Exception("Unknown location index in mock LocationProvider {$this->currentLocation}. This "
. "shouldn't ever happen, it is likely something is using the mock LocationProvider when it should be using a real one.");
}
$result = self::$locations[$this->currentLocation]; $result = self::$locations[$this->currentLocation];
$this->currentLocation = ($this->currentLocation + 1) % count(self::$locations); $this->currentLocation = ($this->currentLocation + 1) % count(self::$locations);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter