Initial commit
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
#!/usr/bin/php
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Build the test files for each servers in conf/config.inc.php according to the pg backend version.
|
||||
*/
|
||||
|
||||
require('./conf/config.inc.php');
|
||||
|
||||
$test_dir = './tests/selenium/';
|
||||
$test_src_dir = "{$test_dir}src/";
|
||||
$test_static_dir = "{$test_dir}static/";
|
||||
$testsuite_file = "{$test_static_dir}TestSuite.html";
|
||||
|
||||
if(isset($argv[1]) && ($argv[1] == 'clean')) {
|
||||
echo "Cleaning...";
|
||||
/* delete server directories */
|
||||
foreach ($conf['servers'] as $server) {
|
||||
$dir = "{$test_static_dir}{$server['desc']}";
|
||||
while(is_dir($dir)) {
|
||||
$dh = opendir($dir);
|
||||
while($file = readdir($dh))
|
||||
if (($file != '.') && ($file != '..')) unlink("{$dir}/{$file}");
|
||||
rmdir($dir);
|
||||
}
|
||||
}
|
||||
/* delete the TestSuite.html file */
|
||||
@unlink($testsuite_file);
|
||||
echo "done.\n";
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
// Include application functions
|
||||
require('./tests/selenium/config.test.php');
|
||||
define('ADODB_ERROR_HANDLER','');
|
||||
require('./classes/database/Connection.php');
|
||||
require('./lang/recoded/english.php');
|
||||
require('./tests/selenium/testBuilder.class.php');
|
||||
|
||||
/* create directory for tests static files */
|
||||
if(!is_dir($test_static_dir))
|
||||
mkdir($test_static_dir);
|
||||
|
||||
/* create the TestSuite.html file with its html header */
|
||||
$fd = fopen($testsuite_file, 'w');
|
||||
fprintf($fd, "<table border=\"1\">
|
||||
<tr>
|
||||
<th>Test suite for PPA</th>
|
||||
</tr>\n");
|
||||
fclose($fd);
|
||||
|
||||
/* Loop on the servers given in the conf/config.inc.conf file */
|
||||
foreach ($conf['servers'] as $server) {
|
||||
// Is this server in our list of configured servers?
|
||||
if (!in_array($server['desc'],$test_servers))
|
||||
continue;
|
||||
|
||||
/* connect to the server to get its version
|
||||
* and test its feature along the tests */
|
||||
$_c = new Connection($server['host'],
|
||||
$server['port'],
|
||||
$server['sslmode'],
|
||||
$super_user[$server['desc']],
|
||||
$super_pass[$server['desc']],
|
||||
$server['defaultdb']
|
||||
);
|
||||
|
||||
$_type = $data = null;
|
||||
if (! $_c->conn->isConnected())
|
||||
die ("Connection to {$server['desc']} failed !\n");
|
||||
else {
|
||||
if (($_type = $_c->getDriver($platform)) === null) {
|
||||
die( printf($lang['strpostgresqlversionnotsupported'], $postgresqlMinVer));
|
||||
}
|
||||
/* create the database handler we are going to use in the tests creator scripts */
|
||||
include_once('./classes/database/' . $_type . '.php');
|
||||
$data = new $_type($_c->conn);
|
||||
$data->platform = $_c->platform;
|
||||
}
|
||||
|
||||
fprintf(STDERR, "Connected to %s...\n", $server['desc']);
|
||||
|
||||
if (!is_dir("{$test_static_dir}/{$server['desc']}"))
|
||||
mkdir("{$test_static_dir}/{$server['desc']}");
|
||||
|
||||
$fd = opendir($test_src_dir);
|
||||
$files = array();
|
||||
while ($file = readdir($fd))
|
||||
if (($file != '.') && ($file != '..'))
|
||||
$files[] = $file;
|
||||
sort($files);
|
||||
/* include the tests creator scripts here
|
||||
* in the order you want them executed.
|
||||
* Each script append itself to the TestSuite.html file.
|
||||
**/
|
||||
foreach ($files as $testgroupfile)
|
||||
require("{$test_src_dir}/{$testgroupfile}");
|
||||
}
|
||||
|
||||
/* close the TestSuite.html file */
|
||||
$fd = fopen($testsuite_file, 'a');
|
||||
fprintf($fd, "</table>");
|
||||
fclose($fd);
|
||||
|
||||
/* Tests ready to be runned on all your configured servers !!!! */
|
||||
?>
|
||||
Reference in New Issue
Block a user