Merge branch 'autotest_ly' into 'master'

* Add switch DB.

See merge request easycorp/zentaopms!4144
This commit is contained in:
李玉春
2022-06-27 02:58:17 +00:00
6 changed files with 199 additions and 1 deletions
+35 -1
View File
@@ -12,6 +12,7 @@
define('RUNTIME_ROOT', dirname(dirname(__FILE__)) . '/runtime/');
define('LIB_ROOT', dirname(dirname(__FILE__)) . '/lib/');
define('TEST_BASEHPATH', dirname(__FILE__, 2));
include LIB_ROOT . 'init.php';
@@ -84,7 +85,6 @@ function zdRun()
set_time_limit(0);
try
{
$versionType = getVersionType($config->version);
$configRoot = $zdRoot . $versionType . '/';
include $configRoot . 'config.php';
include $configRoot . 'processor.php';
@@ -208,6 +208,40 @@ function zdRun()
}
}
/**
* copy init DB.
*
* @access public
* @return void
*/
function copyDB()
{
global $config, $dao;
$dumpCommand = "mysqldump -u%s -p%s %s > %s";
$sqlFile = TEST_BASEHPATH . DS . 'tmp/raw.sql';
$currentDBNum = $dao->query("select count(*) from information_schema.SCHEMATA where SCHEMA_NAME like '" . $config->test->dbPrefix . "%'");
$dumpCommand = sprintf($dumpCommand, $config->db->user, $config->db->password, $config->test->rawDB, $sqlFile);
shell_exec($dumpCommand);
$dbNum = $config->test->dbNum;
$dbUsed = array();
for($i = 1; $i <= $dbNum; $i++)
{
$dbUsed[] = $config->test->dbPrefix . $i;
}
foreach($dbUsed as $db)
{
if (!empty($currentDBNum)) $dao->query('drop database ' . $db);
$dao->query('CREATE DATABASE ' . $db);
shell_exec("mysql -u" . $config->db->user . ' -p' . $config->db->password . ' ' . $db . ' < ' . $sqlFile);
echo '数据库<' . $db . '>复制成功!';
}
}
/**
* Print usage of zdtest.
*