1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Files
archived-php-src/ext/oci8/tests/bug42134.phpt
Michael Orlitzky 605c60cd5f Skip oci8 tests when no database is available (#11820)
Most oci8 tests fail out-of-the-box because a typical host won't have
an Oracle database instance available. Other database drivers like
mysqli and pgsql address this problem with an include file, inserted
into SKIPIF, that skips the test if no connection at all can be made.

This commits adds such a file (skipifconnectfailure.inc) for oci8, and
adds the corresponding SKIPIF to any tests that connect to a database.

Closes GH-11804

* ext/oci8/tests/lob_aliases.phpt: drop unnecessary SKIPIF.
2023-07-31 15:19:31 +01:00

107 lines
2.2 KiB
PHP

--TEST--
Bug #42134 (Collection error for invalid collection name)
--EXTENSIONS--
oci8
--SKIPIF--
<?php
require_once('skipifconnectfailure.inc');
$target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
require(__DIR__.'/skipif.inc');
?>
--FILE--
<?php
require(__DIR__.'/details.inc');
// Test collection creation error for normal connection
if (!empty($dbase)) {
$c = oci_connect($user,$password,$dbase);
}
else {
$c = oci_connect($user,$password);
}
$collection = oci_new_collection($c, "ABC");
if (!$collection) {
echo "Normal connection: New Collection error\n";
$m = oci_error($c);
var_dump($m);
}
// Test collection creation error for new connection
if (!empty($dbase)) {
$c = oci_new_connect($user,$password,$dbase);
}
else {
$c = oci_new_connect($user,$password);
}
$collection = oci_new_collection($c, "DEF");
if (!$collection) {
echo "New connection: New Collection error\n";
$m = oci_error($c);
var_dump($m);
}
// Test collection creation error for persistent connection
if (!empty($dbase)) {
$c = oci_pconnect($user,$password,$dbase);
}
else {
$c = oci_pconnect($user,$password);
}
$collection = oci_new_collection($c, "GHI");
if (!$collection) {
echo "Persistent connection: New Collection error\n";
$m = oci_error($c);
var_dump($m);
}
echo "Done\n";
?>
--EXPECTF--
Warning: oci_new_collection(): OCI-22303: type ""."ABC" not found in %s on line %d
Normal connection: New Collection error
array(4) {
["code"]=>
int(22303)
["message"]=>
string(34) "OCI-22303: type ""."ABC" not found"
["offset"]=>
int(0)
["sqltext"]=>
string(0) ""
}
Warning: oci_new_collection(): OCI-22303: type ""."DEF" not found in %s on line %d
New connection: New Collection error
array(4) {
["code"]=>
int(22303)
["message"]=>
string(34) "OCI-22303: type ""."DEF" not found"
["offset"]=>
int(0)
["sqltext"]=>
string(0) ""
}
Warning: oci_new_collection(): OCI-22303: type ""."GHI" not found in %s on line %d
Persistent connection: New Collection error
array(4) {
["code"]=>
int(22303)
["message"]=>
string(34) "OCI-22303: type ""."GHI" not found"
["offset"]=>
int(0)
["sqltext"]=>
string(0) ""
}
Done