diff options
author | Matteo Beccati <mbeccati@php.net> | 2016-12-15 09:31:00 +0100 |
---|---|---|
committer | Matteo Beccati <mbeccati@php.net> | 2016-12-15 09:31:00 +0100 |
commit | 0c9324ea9ba32e85ccca4f52287d013b0a6ef2a4 (patch) | |
tree | 5f9a70919b5ac9bfdc75077326ef47f79df0fadb | |
parent | 60da307c615d7f9b4f1b8a6013489e874fe10a01 (diff) | |
download | php-git-0c9324ea9ba32e85ccca4f52287d013b0a6ef2a4.tar.gz |
Skip tests when secure_file_priv dir not writable
-rw-r--r-- | ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt | 11 | ||||
-rw-r--r-- | ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt | 13 |
2 files changed, 23 insertions, 1 deletions
diff --git a/ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt b/ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt index ebf22ef61b..38b49b6efa 100644 --- a/ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt +++ b/ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt @@ -16,6 +16,17 @@ if (count($tmp) < 2) if (($tmp[1] !== 'localhost') && ($tmp[1] !== '127.0.0.1')) die("skip Test cannot be run against remote database server"); +$stmt = $db->query("SHOW VARIABLES LIKE 'secure_file_priv'"); +if (($row = $stmt->fetch(PDO::FETCH_ASSOC)) && ($row['value'] != '')) { + if (!is_writable($row['value'])) + die("skip secure_file_priv directory not writable: {$row['value']}"); + + $filename = $row['value'] . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv"; + + if (file_exists($filename) && !is_writable($filename)) + die("skip {$filename} not writable"); +} + ?> --FILE-- <?php diff --git a/ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt b/ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt index 37d9cbdb77..9b07ac2479 100644 --- a/ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt +++ b/ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt @@ -16,6 +16,17 @@ if (count($tmp) < 2) if (($tmp[1] !== 'localhost') && ($tmp[1] !== '127.0.0.1')) die("skip Test cannot be run against remote database server"); +$stmt = $db->query("SHOW VARIABLES LIKE 'secure_file_priv'"); +if (($row = $stmt->fetch(PDO::FETCH_ASSOC)) && ($row['value'] != '')) { + if (!is_writable($row['value'])) + die("skip secure_file_priv directory not writable: {$row['value']}"); + + $filename = $row['value'] . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv"; + + if (file_exists($filename) && !is_writable($filename)) + die("skip {$filename} not writable"); +} + ?> --FILE-- <?php @@ -115,4 +126,4 @@ Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: %s in %s on li 1 => %d, 2 => %s, ) -done!
\ No newline at end of file +done! |