30
1
mirror of https://github.com/joomla-extensions/weblinks.git synced 2024-06-03 06:50:49 +00:00

Merge pull request #53 from zero-24/robofile_cs

Lets look the robo file better.
This commit is contained in:
javier gomez 2015-05-31 12:18:48 +02:00
commit daabd4ced5

View File

@ -7,103 +7,125 @@
* *
* @see http://robo.li/ * @see http://robo.li/
*/ */
require_once 'vendor/autoload.php';
require_once 'vendor/autoload.php';
class RoboFile extends \Robo\Tasks class RoboFile extends \Robo\Tasks
{ {
// Load tasks from composer, see composer.json
use \joomla_projects\robo\loadTasks;
// load tasks from composer, see composer.json
use \joomla_projects\robo\loadTasks;
private $extension = ''; private $extension = '';
public function setExecExtension(){ /**
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { * Set the Executeextension
*
* @return void
*/
public function setExecExtension()
{
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
$this->extension = '.exe'; $this->extension = '.exe';
} }
} }
/**
* Executes Selenium System Tests in your machine /**
* * Executes Selenium System Tests in your machine
* @param null $seleniumPath Optional path to selenium-standalone-server-x.jar *
* * @param null $seleniumPath Optional path to selenium-standalone-server-x.jar
* @return mixed *
*/ * @return mixed
public function testAcceptance($seleniumPath = null) */
{ public function testAcceptance($seleniumPath = null)
{
$this->setExecExtension(); $this->setExecExtension();
// Get Joomla Clean Testing sites
if (is_dir('tests/joomla-cms3')) {
$this->taskDeleteDir('tests/joomla-cms3')->run();
}
$this->_exec('git'.$this->extension.' clone -b staging --single-branch --depth 1 https://github.com/joomla/joomla-cms.git tests/joomla-cms3'); // Get Joomla Clean Testing sites
$this->say('Joomla CMS site created at tests/joomla-cms3'); if (is_dir('tests/joomla-cms3'))
{
$this->taskDeleteDir('tests/joomla-cms3')->run();
}
if (!$seleniumPath) { $this->_exec('git' . $this->extension . ' clone -b staging --single-branch --depth 1 https://github.com/joomla/joomla-cms.git tests/joomla-cms3');
if (!file_exists('selenium-server-standalone.jar')) { $this->say('Joomla CMS site created at tests/joomla-cms3');
$this->say('Downloading Selenium Server, this may take a while.');
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { if (!$seleniumPath)
{
if (!file_exists('selenium-server-standalone.jar'))
{
$this->say('Downloading Selenium Server, this may take a while.');
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
$this->_exec('curl.exe -sS http://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar > selenium-server-standalone.jar'); $this->_exec('curl.exe -sS http://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar > selenium-server-standalone.jar');
}else{
$this->taskExec('wget')
->arg('http://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar')
->arg('-O selenium-server-standalone.jar')
->printed(false)
->run();
} }
} else
$seleniumPath = 'selenium-server-standalone.jar'; {
} $this->taskExec('wget')
if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') { ->arg('http://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar')
->arg('-O selenium-server-standalone.jar')
->printed(false)
->run();
}
}
$seleniumPath = 'selenium-server-standalone.jar';
}
if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')
{
$seleniumPath = "java -jar $seleniumPath >> selenium.log 2>&1 &"; $seleniumPath = "java -jar $seleniumPath >> selenium.log 2>&1 &";
}else{ }
else
{
$seleniumPath = "START java.exe -jar .\\" . $seleniumPath; $seleniumPath = "START java.exe -jar .\\" . $seleniumPath;
} }
// Make sure we have Composer // Make sure we have Composer
if (!file_exists('./composer.phar')) { if (!file_exists('./composer.phar'))
$this->_exec('curl'.$this->extension.' -sS https://getcomposer.org/installer | php'); {
} $this->_exec('curl' . $this->extension . ' -sS https://getcomposer.org/installer | php');
$this->taskComposerUpdate()->run();
// Running Selenium server
$this->_exec($seleniumPath);
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
sleep(10);
}else{
$this->taskWaitForSeleniumStandaloneServer()
->run()
->stopOnFail();
} }
$this->taskComposerUpdate()->run();
// Loading Symfony Command and running with passed argument
$this->_exec('php'.$this->extension.' vendor/bin/codecept build');
$this->taskCodecept() // Running Selenium server
->suite('acceptance') $this->_exec($seleniumPath);
->arg('--steps')
->arg('--debug')
->run()
->stopOnFail();
// Kill selenium server if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
// $this->_exec('curl http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer'); {
sleep(10);
}
else
{
$this->taskWaitForSeleniumStandaloneServer()
->run()
->stopOnFail();
}
/* // Loading Symfony Command and running with passed argument
// Uncomment this lines if you need to debug selenium errors $this->_exec('php' . $this->extension . ' vendor/bin/codecept build');
$seleniumErrors = file_get_contents('selenium.log');
if ($seleniumErrors) { $this->taskCodecept()
$this->say('Printing Selenium Log files'); ->suite('acceptance')
$this->say('------ selenium.log (start) ---------'); ->arg('--steps')
$this->say($seleniumErrors); ->arg('--debug')
$this->say('------ selenium.log (end) -----------'); ->run()
} ->stopOnFail();
*/
} // Kill selenium server
// $this->_exec('curl http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer');
/*
// Uncomment this lines if you need to debug selenium errors
$seleniumErrors = file_get_contents('selenium.log');
if ($seleniumErrors) {
$this->say('Printing Selenium Log files');
$this->say('------ selenium.log (start) ---------');
$this->say($seleniumErrors);
$this->say('------ selenium.log (end) -----------');
}
*/
}
} }