summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatteo Beccati <mbeccati@php.net>2016-12-15 09:31:00 +0100
committerMatteo Beccati <mbeccati@php.net>2016-12-15 09:31:00 +0100
commit0c9324ea9ba32e85ccca4f52287d013b0a6ef2a4 (patch)
tree5f9a70919b5ac9bfdc75077326ef47f79df0fadb
parent60da307c615d7f9b4f1b8a6013489e874fe10a01 (diff)
downloadphp-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.phpt11
-rw-r--r--ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt13
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!