Skip to content

Commit 0c9324e

Browse files
committed
Skip tests when secure_file_priv dir not writable
1 parent 60da307 commit 0c9324e

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@ if (count($tmp) < 2)
1616
if (($tmp[1] !== 'localhost') && ($tmp[1] !== '127.0.0.1'))
1717
die("skip Test cannot be run against remote database server");
1818

19+
$stmt = $db->query("SHOW VARIABLES LIKE 'secure_file_priv'");
20+
if (($row = $stmt->fetch(PDO::FETCH_ASSOC)) && ($row['value'] != '')) {
21+
if (!is_writable($row['value']))
22+
die("skip secure_file_priv directory not writable: {$row['value']}");
23+
24+
$filename = $row['value'] . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv";
25+
26+
if (file_exists($filename) && !is_writable($filename))
27+
die("skip {$filename} not writable");
28+
}
29+
1930
?>
2031
--FILE--
2132
<?php

ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@ if (count($tmp) < 2)
1616
if (($tmp[1] !== 'localhost') && ($tmp[1] !== '127.0.0.1'))
1717
die("skip Test cannot be run against remote database server");
1818

19+
$stmt = $db->query("SHOW VARIABLES LIKE 'secure_file_priv'");
20+
if (($row = $stmt->fetch(PDO::FETCH_ASSOC)) && ($row['value'] != '')) {
21+
if (!is_writable($row['value']))
22+
die("skip secure_file_priv directory not writable: {$row['value']}");
23+
24+
$filename = $row['value'] . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv";
25+
26+
if (file_exists($filename) && !is_writable($filename))
27+
die("skip {$filename} not writable");
28+
}
29+
1930
?>
2031
--FILE--
2132
<?php
@@ -115,4 +126,4 @@ Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: %s in %s on li
115126
1 => %d,
116127
2 => %s,
117128
)
118-
done!
129+
done!

0 commit comments

Comments
 (0)