Arquivos
wMind/mind3rd/API/programs/RunTest.php
T
Felipe N. Moura 3887f5746c changes to the help commands and how to install or uninstall the application.
Changes made on external(symfony) classes! To change the help format as needed
Fixed some typing mistakes
2012-04-07 01:19:37 -03:00

105 linhas
2.8 KiB
PHP
Arquivo Executável

<?php
/**
* This file is part of TheWebMind 3rd generation.
*
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
* @license licenses/mind3rd.license
*/
use Symfony\Component\Console\Input\InputArgument,
Symfony\Component\Console\Input\InputOption,
Symfony\Component\Console;
class RunTest extends MindCommand implements program
{
public $unit=false;
public function __construct()
{
$this->setCommandName('test')
->setDescription('Performs some tests on theWebMind')
->setRestrict(false)
->setAction('action')
->setFileName('RunTest')
->setHelp(<<<EOT
Executes specific tests and report their results, about the system itself
EOT
);
$this->addFlag('unit', '-u', 'Also execute unit tests');
$this->init();
}
public function action()
{
GLOBAL $_MIND;
/*\API\Program::execute('clear');
echo "|==> |";
sleep(1);
\API\Program::execute('clear');
echo "|========> |";
sleep(1);
\API\Program::execute('clear');
echo "|===============> |";
sleep(1);
\API\Program::execute('clear');
echo "|=========================>|\n";
sleep(1);*/
ob_start();
$this->runStep1();
ob_flush();
$this->runStep2();
ob_flush();
$this->runStep3();
ob_flush();
if($this->unit)
{
if(!isset($_MIND->conf['phpunit-src']))
{
\Mind::write('phpunitNotFound');
return false;
}
\Mind::write('runnintPHPUnit');
ob_flush();
echo shell_exec($_MIND->conf['phpunit-src']." "._MINDSRC_."/Tests/");
}
ob_end_flush();
// gotoxy
// printf("\033[2;10f");
return true;
}
private function runStep1()
{
// by this point, if it reached here, we know these steps are ok
Mind::message('Autoloader', '[OK]');
Mind::message('Includes', '[OK]');
Mind::message('Namespaces', '[OK]');
}
private function runStep2()
{
if(!$db = new SQLite3(_MINDSRC_.SQLITE))
{
Mind::message('Database', '[Fail]');
return false;
}
Mind::message('Database', '[OK]');
return true;
}
private function runStep3()
{
if(!is_readable(Mind::$projectsDir) || !is_writable(Mind::$projectsDir))
$stat= '[Fail]';
else
$stat= '[OK]';
Mind::message('Read & Write permissions', $stat);
}
}