181 lines
5.7 KiB
PHP
181 lines
5.7 KiB
PHP
--TEST--
|
|
sqlsrv_configure.
|
|
--SKIPIF--
|
|
<?php require('skipif.inc'); ?>
|
|
--FILE--
|
|
<?php
|
|
// When testing with PHP 8.0 it throws a TypeError instead of a warning. Thus implement a custom
|
|
// warning handler such that with PHP 7.x the warning would be handled to throw a TypeError.
|
|
function warningHandler($errno, $errstr)
|
|
{
|
|
throw new TypeError($errstr);
|
|
}
|
|
|
|
sqlsrv_configure('WarningsReturnAsErrors', 0);
|
|
sqlsrv_configure('LogSeverity', SQLSRV_LOG_SEVERITY_ALL);
|
|
|
|
set_error_handler("warningHandler", E_WARNING);
|
|
|
|
// test negative cases first
|
|
// must have two parameters
|
|
try {
|
|
$result = sqlsrv_configure("WarningsReturnAsErrors");
|
|
if ($result) {
|
|
fatalError("sqlsrv_configure(1) should have failed.");
|
|
}
|
|
} catch (TypeError $e) {
|
|
echo $e->getMessage() . PHP_EOL;
|
|
}
|
|
|
|
// warnings_return_as_errors the only supported option
|
|
$result = sqlsrv_configure("blahblahblah", 1);
|
|
if ($result) {
|
|
fatalError("sqlsrv_configure(2) should have failed.");
|
|
} else {
|
|
print_r(sqlsrv_errors());
|
|
}
|
|
|
|
$result = sqlsrv_get_config('blahblahblah');
|
|
if (!$result && !sqlsrv_errors()) {
|
|
fatalError("sqlsrv_get_config should have failed.");
|
|
} else {
|
|
print_r(sqlsrv_errors());
|
|
}
|
|
|
|
$result = sqlsrv_configure("WarningsReturnAsErrors", true);
|
|
if (!$result || sqlsrv_get_config("WarningsReturnAsErrors") == false) {
|
|
fatalError("sqlsrv_configure(3) should have passed");
|
|
}
|
|
|
|
$result = sqlsrv_configure("WarningsReturnAsErrors", false);
|
|
if (!$result || sqlsrv_get_config("WarningsReturnAsErrors") == true) {
|
|
fatalError("sqlsrv_configure(4) should have passed");
|
|
}
|
|
|
|
$result = sqlsrv_configure("WarningsReturnAsErrors", 1);
|
|
if (!$result || sqlsrv_get_config("WarningsReturnAsErrors") == false) {
|
|
fatalError("sqlsrv_configure(5) should have passed");
|
|
}
|
|
|
|
$result = sqlsrv_configure("WarningsReturnAsErrors", 0);
|
|
if (!$result || sqlsrv_get_config("WarningsReturnAsErrors") == true) {
|
|
fatalError("sqlsrv_configure(6) should have passed");
|
|
}
|
|
|
|
$result = sqlsrv_configure("WarningsReturnAsErrors", null);
|
|
if (!$result || sqlsrv_get_config("WarningsReturnAsErrors") == true) {
|
|
fatalError("sqlsrv_configure(7) should have passed");
|
|
}
|
|
|
|
$result = sqlsrv_configure("WarningsReturnAsErrors", "1");
|
|
if (!$result || sqlsrv_get_config("WarningsReturnAsErrors") == false) {
|
|
fatalError("sqlsrv_configure(8) should have passed");
|
|
}
|
|
|
|
$result = sqlsrv_configure("WarningsReturnAsErrors", "0");
|
|
if (!$result || sqlsrv_get_config("WarningsReturnAsErrors") == true) {
|
|
fatalError("sqlsrv_configure(9) should have passed");
|
|
}
|
|
|
|
// test values for LogSystem and LogSeverity
|
|
$result = sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ALL);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(10) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSeverity", 0);
|
|
if ($result) {
|
|
fatalError("sqlsrv_configure(11) should not have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(12) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(13) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_NOTICE);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(14) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSeverity", 1000);
|
|
if ($result) {
|
|
fatalError("sqlsrv_configure(15) should not have passed.");
|
|
}
|
|
|
|
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ALL);
|
|
|
|
$result = sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_ALL);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(16) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_OFF);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(17) should not have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_INIT);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(18) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(19) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_STMT);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(20) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_UTIL);
|
|
if (!$result) {
|
|
fatalError("sqlsrv_configure(21) should have passed.");
|
|
}
|
|
|
|
$result = sqlsrv_configure("LogSubsystems", 1000);
|
|
if ($result) {
|
|
fatalError("sqlsrv_configure(22) should not have passed.");
|
|
}
|
|
|
|
?>
|
|
--EXPECTREGEX--
|
|
sqlsrv_configure\(\) expects exactly 2 (parameters|arguments), 1 given
|
|
Array
|
|
\(
|
|
\[0] => Array
|
|
\(
|
|
\[0\] => IMSSP
|
|
\[SQLSTATE\] => IMSSP
|
|
\[1\] => -14
|
|
\[code\] => -14
|
|
\[2\] => An invalid parameter was passed to sqlsrv_configure.
|
|
\[message\] => An invalid parameter was passed to sqlsrv_configure.
|
|
\)
|
|
|
|
\)
|
|
Array
|
|
\(
|
|
\[0\] => Array
|
|
\(
|
|
\[0\] => IMSSP
|
|
\[SQLSTATE\] => IMSSP
|
|
\[1\] => -14
|
|
\[code\] => -14
|
|
\[2\] => An invalid parameter was passed to sqlsrv_get_config.
|
|
\[message\] => An invalid parameter was passed to sqlsrv_get_config.
|
|
\)
|
|
|
|
\)
|
|
sqlsrv.LogSubsystems = -1
|
|
sqlsrv_configure: entering
|
|
sqlsrv.LogSubsystems = 8
|
|
sqlsrv_configure: entering
|