--SKIPIF--
<?php
$handler = 'db4';
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
?>
--FILE--
<?php
$handler = 'db4';
-require_once dirname(__FILE__) .'/test.inc';
+require_once(dirname(__FILE__) .'/test.inc');
$db = dba_popen($db_filename, 'c', 'db4');
var_dump(dba_nextkey($db));
dba_close($db);
-unlink($db_filename);
?>
===DONE===
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
resource(%d) of type (dba persistent)
string(3) "XYZ"
--- /dev/null
+--TEST--
+Bug #38698 (Bug #38698 for some keys cdbmake creates corrupted db and cdb can't read valid db)
+--SKIPIF--
+<?php
+ $handler = 'cdb_make';
+ require_once(dirname(__FILE__) .'/skipif.inc');
+?>
+--FILE--
+<?php
+
+$db_file = dirname(__FILE__) .'/129php.cdb';
+
+if (($db_make=dba_open($db_file, "n", 'cdb_make'))!==FALSE) {
+ dba_insert(pack('i',129), "Booo!", $db_make);
+ dba_close($db_make);
+ // write md5 checksum of generated database file
+ var_dump(md5_file($db_file));
+ @unlink($db_file);
+} else {
+ echo "Error creating database\n";
+}
+?>
+===DONE===
+--EXPECT--
+string(32) "1f34b74bde3744265acfc21e0f30af95"
+===DONE===
--SKIPIF--
<?php
$handler = 'db4';
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
?>
--FILE--
<?php
$handler = 'db4';
-require_once dirname(__FILE__) .'/test.inc';
+require_once(dirname(__FILE__) .'/test.inc');
$db = dba_open($db_filename, 'c', 'db4');
var_dump(dba_nextkey($db));
dba_close($db);
-unlink($db_filename);
?>
===DONE===
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECT--
bool(false)
===DONE===
--SKIPIF--
<?php
$handler = 'db4';
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
?>
--FILE--
<?php
error_reporting(E_ALL);
$handler = 'db4';
-require_once dirname(__FILE__) .'/test.inc';
+require_once(dirname(__FILE__) .'/test.inc');
$db = dba_popen($db_filename, 'c', 'db4');
dba_close($db);
-unlink($db_filename);
-
+?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECT--
bool(true)
DBA File Creation Test
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
echo "database file created\n";
echo "$db_file does not exist\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: %s
database file created
DBA Insert/Fetch Test
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
dba_insert("key1", "This is a test insert", $db_file);
echo "Error creating database\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: %s
This is a test insert
DBA Insert/Replace/Fetch Test
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
dba_insert("key1", "This is a test insert", $db_file);
echo "Error creating database\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: %s
This is the replacement text
DBA Multiple Insert/Fetch Test
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
dba_insert("key1", "Content String 1", $db_file);
echo "Error creating database\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: %s
Another Content String Content String 2
DBA FirstKey/NextKey Loop Test With 5 Items
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
dba_insert("key1", "Content String 1", $db_file);
echo "Error creating database\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: %s
5YYYYY
DBA FirstKey/NextKey with 2 deletes
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
dba_insert("key1", "Content String 1", $db_file);
echo "Error creating database\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: %s
3NYNYY
DBA Multiple File Creation Test
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
if (!function_exists('dba_list')) die('skip dba_list() not available');
die("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
- $db_file1 = dirname(__FILE__).'/test1.dbm';
- $db_file2 = dirname(__FILE__).'/test2.dbm';
+ $db_file1 = $db_filename1 = dirname(__FILE__).'/test1.dbm';
+ $db_file2 = $db_filename2 = dirname(__FILE__).'/test2.dbm';
if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
echo "database file created\n";
} else {
}
var_dump(dba_list());
dba_close($db_file);
+
+ @unlink($db_filename1);
+ @unlink($db_filename2);
+?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
?>
--EXPECTF--
database handler: %s
DBA magic_quotes_runtime Test
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ die('skip, magic_quotes removed');
+ require_once(dirname(__FILE__) .'/skipif.inc');
die("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
ini_set('magic_quotes_runtime', 0);
echo "Error creating database\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: %s
string(1) """
DBA dba_popen Test
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
print("info $HND handler used");
?>
--FILE--
<?php
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
if (($db=dba_popen($db_file, "n", $handler))!==FALSE) {
echo "Opened\n";
echo dba_fetch("a", $db)."\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: %s
Opened
DBA with array keys
--SKIPIF--
<?php
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die("info $HND handler used");
?>
--FILE--
echo dba_exists("[key$i]name$i", $db_file) ? "Y" : "N";
}
echo dba_exists(array("key5","name5"), $db_file) ? "Y" : "N";
+ echo "\n";
dba_close($db_file);
} else {
echo "Error creating database\n";
}
-require_once(dirname(__FILE__) .'/clean.inc');
-
+?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
?>
--EXPECTF--
database handler: %s
-6YYYYYY
\ No newline at end of file
+6YYYYYY
--SKIPIF--
<?php
$handler = 'cdb';
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die('info CDB does not support replace or delete');
?>
--FILE--
<?php
$handler = 'cdb';
- require_once dirname(__FILE__) .'/test.inc';
- require_once dirname(__FILE__) .'/dba_handler.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
+ require_once(dirname(__FILE__) .'/dba_handler.inc');
?>
===DONE===
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECT--
database handler: cdb
5YYYYY
--SKIPIF--
<?php
$handler = 'cdb_make';
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
die('info CDB_MAKE does not support reading');
?>
--FILE--
<?php
$handler = 'cdb_make';
- require_once dirname(__FILE__) .'/test.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
echo "database handler: $handler\n";
// print md5 checksum of test.cdb which is generated by cdb_make program
var_dump(md5_file(dirname(__FILE__).'/test.cdb'));
echo "Error creating database\n";
}
?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECT--
Warning: Directive 'magic_quotes_runtime' is deprecated in PHP 5.3 and greater in Unknown on line 0
database handler: cdb_make
DBA DB4 handler test
--SKIPIF--
<?php
- $handler = 'db4';
- require_once dirname(__FILE__) .'/skipif.inc';
+$handler = 'db4';
+require_once(dirname(__FILE__) .'/skipif.inc');
?>
--FILE--
<?php
- $handler = 'db4';
- require_once dirname(__FILE__) .'/test.inc';
- require_once dirname(__FILE__) .'/dba_handler.inc';
+$handler = 'db4';
+require_once(dirname(__FILE__) .'/test.inc');
+require_once(dirname(__FILE__) .'/dba_handler.inc');
?>
===DONE===
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECT--
database handler: db4
3NYNYY
--- /dev/null
+--TEST--
+DBA DB4 New File Creation open("c") & Insert Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file = dba_open($db_filename, "c", $handler)) !== FALSE) {
+ echo "database file created\n";
+ dba_insert("key1", "This is a test insert", $db_file);
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+This is a test insert
--- /dev/null
+--TEST--
+DBA DB4 New File Creation open("n") & Insert Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file = dba_open($db_filename, "n", $handler)) !== FALSE) {
+ echo "database file created\n";
+ dba_insert("key1", "This is a test insert", $db_file);
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+This is a test insert
--- /dev/null
+--TEST--
+DBA DB4 File Creation open("c") with existing file
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+var_dump(file_put_contents($db_filename, "Dummy contents"));
+
+if (($db_file = dba_open($db_filename, "c", $handler)) !== FALSE) {
+ if (file_exists($db_filename)) {
+ echo "database file created\n";
+ dba_close($db_file);
+ } else {
+ echo "File did not get created\n";
+ }
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+int(14)
+
+Notice: dba_open(): %stest0.dbm: unexpected file type or format in %sdba_db4_003.php on line %d
+
+Warning: dba_open(%stest0.dbm,c): Driver initialization failed for handler: db4: Invalid argument in %sdba_db4_003.php on line %d
+Error creating %stest0.dbm
--- /dev/null
+--TEST--
+DBA DB4 Truncate Existing File open("n")
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+var_dump(file_put_contents($db_filename, "Dummy contents"));
+
+if (($db_file = dba_open($db_filename, "n", $handler)) !== FALSE) {
+ if (file_exists($db_filename)) {
+ echo "database file created\n";
+ dba_insert("key1", "This is a test insert", $db_file);
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+ } else {
+ echo "File did not get created\n";
+ }
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+int(14)
+database file created
+This is a test insert
--- /dev/null
+--TEST--
+DBA DB4 New File Creation popen("c") & Insert Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file = dba_popen($db_filename, "c", $handler)) !== FALSE) {
+ echo "database file created\n";
+ dba_insert("key1", "This is a test insert", $db_file);
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+This is a test insert
--- /dev/null
+--TEST--
+DBA DB4 New File Creation popen("n") & Insert Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file = dba_popen($db_filename, "n", $handler)) !== FALSE) {
+ echo "database file created\n";
+ dba_insert("key1", "This is a test insert", $db_file);
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+This is a test insert
--- /dev/null
+--TEST--
+DBA DB4 File Creation popen("c") with existing invalid file
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+var_dump(file_put_contents($db_filename, "Dummy contents"));
+
+if (($db_file = dba_popen($db_filename, "c", $handler)) !== FALSE) {
+ if (file_exists($db_filename)) {
+ echo "database file created\n";
+ dba_close($db_file);
+ } else {
+ echo "File did not get created\n";
+ }
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+int(14)
+
+Notice: dba_popen(): %stest0.dbm: unexpected file type or format in %sdba_db4_007.php on line %d
+
+Warning: dba_popen(%stest0.dbm,c): Driver initialization failed for handler: db4: Invalid argument in %sdba_db4_007.php on line %d
+Error creating %stest0.dbm
--- /dev/null
+--TEST--
+DBA DB4 Truncate Existing File popen("n")
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+var_dump(file_put_contents($db_filename, "Dummy contents"));
+
+if (($db_file = dba_popen($db_filename, "n", $handler)) !== FALSE) {
+ if (file_exists($db_filename)) {
+ echo "database file created\n";
+ dba_insert("key1", "This is a test insert", $db_file);
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+ } else {
+ echo "File did not get created\n";
+ }
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+int(14)
+database file created
+This is a test insert
--- /dev/null
+--TEST--
+DBA DB4 Multiple File Creation Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+$db_file1 = $db_filename1 = dirname(__FILE__).'/test1.dbm';
+$db_file2 = $db_filename2 = dirname(__FILE__).'/test2.dbm';
+if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
+ echo "database file created\n";
+} else {
+ echo "$db_file does not exist\n";
+}
+if (($db_file1=dba_open($db_file1, "n", $handler))!==FALSE) {
+ echo "database file created\n";
+} else {
+ echo "$db_file does not exist\n";
+}
+if (($db_file2=dba_open($db_file2, "n", $handler))!==FALSE) {
+ echo "database file created\n";
+} else {
+ echo "$db_file does not exist\n";
+}
+var_dump(dba_list());
+dba_close($db_file);
+
+@unlink($db_filename1);
+@unlink($db_filename2);
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+database file created
+database file created
+array(3) {
+ [%d]=>
+ string(%d) "%stest0.dbm"
+ [%d]=>
+ string(%d) "%stest1.dbm"
+ [%d]=>
+ string(%d) "%stest2.dbm"
+}
--- /dev/null
+--TEST--
+DBA DB4 magic_quotes_runtime Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
+ ini_set('magic_quotes_runtime', 0);
+ dba_insert("key1", '"', $db_file);
+ var_dump(dba_fetch("key1", $db_file));
+ ini_set('magic_quotes_runtime', 1);
+ var_dump(dba_fetch("key1", $db_file));
+ dba_replace("key1", '\"', $db_file);
+ var_dump(dba_fetch("key1", $db_file));
+ ini_set('magic_quotes_runtime', 0);
+ var_dump(dba_fetch("key1", $db_file));
+ dba_close($db_file);
+} else {
+ echo "Error creating database\n";
+}
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+string(1) """
+string(2) "\""
+string(2) "\""
+string(1) """
--- /dev/null
+--TEST--
+DBA DB4 with repeated key
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file=dba_open($db_filename, "c", $handler))!==FALSE) {
+ var_dump(dba_insert("key1", "Content String 1", $db_file));
+ var_dump(dba_insert("key2", "Content String 2", $db_file));
+ var_dump(dba_insert("key2", "Same key", $db_file));
+ echo dba_fetch("key1", $db_file), "\n";
+ echo dba_fetch("key2", $db_file), "\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating database\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+bool(true)
+bool(true)
+bool(false)
+Content String 1
+Content String 2
--- /dev/null
+--TEST--
+DBA DB4 New File Creation open("rl")
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file = dba_open($db_filename, "rl", $handler)) !== FALSE) {
+ echo "database file created\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+
+Warning: dba_open(%stest0.dbm,rl): Driver initialization failed for handler: db4: No such file or directory in %sdba_db4_012.php on line %d
+Error creating %stest0.dbm
--- /dev/null
+--TEST--
+DBA DB4 File open("rl") & Insert Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+if (($db_file = dba_popen($db_filename, "c", $handler)) !== FALSE) {
+ echo "database file created\n";
+ dba_close($db_file);
+}
+
+if (($db_file = dba_popen($db_filename, "rl", $handler)) !== FALSE) {
+ echo "database file opened\n";
+ dba_insert("key1", "This is a test insert", $db_file);
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+database file opened
+
+Warning: dba_insert(): You cannot perform a modification to a database without proper access in %sdba_db4_013.php on line %d
--- /dev/null
+--TEST--
+DBA DB4 File open("wl") & Insert Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+if (($db_file = dba_open($db_filename, "wl", $handler)) !== FALSE) {
+ echo "database file opened\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+
+Warning: dba_open(%stest0.dbm,wl): Driver initialization failed for handler: db4: No such file or directory in %sdba_db4_014.php on line %d
+Error creating %stest0.dbm
--- /dev/null
+--TEST--
+DBA DB4 File open("wl") & Insert Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+if (($db_file = dba_popen($db_filename, "c", $handler)) !== FALSE) {
+ echo "database file created\n";
+ dba_close($db_file);
+}
+
+if (($db_file = dba_popen($db_filename, "wl", $handler)) !== FALSE) {
+ echo "database file opened\n";
+ dba_insert("key1", "This is a test insert", $db_file);
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+database file opened
+This is a test insert
--- /dev/null
+--TEST--
+DBA DB4 File Creation popen("c") with existing valid file
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+if (($db_file = dba_popen($db_filename, "c", $handler)) !== FALSE) {
+ if (file_exists($db_filename)) {
+ echo "database file created\n";
+ var_dump(dba_insert("key1", "This is a test insert", $db_file));
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+ } else {
+ echo "File did not get created\n";
+ }
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+// Now test reopening it
+if (($db_file = dba_popen($db_filename, "c", $handler)) !== FALSE) {
+ if (file_exists($db_filename)) {
+ echo "database file created\n";
+ var_dump(dba_insert("key1", "second open test", $db_file));
+ var_dump(dba_insert("key2", "second open test row 2", $db_file));
+ echo dba_fetch("key1", $db_file), "\n";
+ echo dba_fetch("key2", $db_file), "\n";
+ dba_close($db_file);
+ } else {
+ echo "File did not get created\n";
+ }
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+bool(true)
+This is a test insert
+database file created
+bool(false)
+bool(true)
+This is a test insert
+second open test row 2
--- /dev/null
+--TEST--
+DBA DB4 Handler Test
+--SKIPIF--
+<?php
+$handler="db4";
+require(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+$handler="db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+function check($h)
+{
+ if (!$h) {
+ return;
+ }
+
+ foreach ($h as $key) {
+ if ($key === "db4") {
+ echo "Success: db4 enabled\n";
+ }
+ }
+}
+
+echo "Test 1\n";
+
+check(dba_handlers());
+
+echo "Test 2 - full info\n";
+$h = dba_handlers(1);
+foreach ($h as $key => $val) {
+ if ($key === "db4") {
+ echo "$val\n";
+ }
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+Test 1
+Success: db4 enabled
+Test 2 - full info
+Berkeley DB 4.%s
--- /dev/null
+--TEST--
+DBA DB4 Optimize Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file=dba_open($db_filename, "n", $handler))!==FALSE) {
+ dba_insert("key1", "Content String 1", $db_file);
+ dba_insert("key2", "Content String 2", $db_file);
+ for ($i=1; $i<3; $i++) {
+ echo dba_exists("key$i", $db_file) ? "Y" : "N";
+ }
+ echo "\n";
+ var_dump(dba_optimize($db_file));
+ dba_close($db_file);
+} else {
+ echo "Error creating database\n";
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+YY
+bool(true)
+===DONE===
--- /dev/null
+--TEST--
+DBA DB4 Sync Test
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+if (($db_file=dba_open($db_filename, "n", $handler))!==FALSE) {
+ dba_insert("key1", "Content String 1", $db_file);
+ dba_insert("key2", "Content String 2", $db_file);
+ for ($i=1; $i<3; $i++) {
+ echo dba_exists("key$i", $db_file) ? "Y" : "N";
+ }
+ echo "\n";
+ var_dump(dba_sync($db_file));
+ dba_close($db_file);
+} else {
+ echo "Error creating database\n";
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+YY
+bool(true)
+===DONE===
--SKIPIF--
<?php
$handler = 'flatfile';
- require_once dirname(__FILE__) .'/skipif.inc';
+ require_once(dirname(__FILE__) .'/skipif.inc');
?>
--FILE--
<?php
$handler = 'flatfile';
- require_once dirname(__FILE__) .'/test.inc';
- require_once dirname(__FILE__) .'/dba_handler.inc';
+ require_once(dirname(__FILE__) .'/test.inc');
+ require_once(dirname(__FILE__) .'/dba_handler.inc');
?>
===DONE===
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECT--
database handler: flatfile
3NYNYY
--- /dev/null
+--TEST--
+DBA Handler Test
+--SKIPIF--
+<?php
+$handler="flatfile";
+require(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+$handler="flatfile";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+function check($h)
+{
+ if (!$h) {
+ return;
+ }
+
+ foreach ($h as $key) {
+ if ($key === "flatfile") {
+ echo "Success: flatfile enabled\n";
+ }
+ }
+}
+
+echo "Test 1\n";
+
+check(dba_handlers());
+
+echo "Test 2\n";
+
+check(dba_handlers(null));
+
+echo "Test 3\n";
+
+check(dba_handlers(1, 2));
+
+echo "Test 4\n";
+
+check(dba_handlers(0));
+
+echo "Test 5 - full info\n";
+$h = dba_handlers(1);
+foreach ($h as $key => $val) {
+ if ($key === "flatfile") {
+ echo "Success: flatfile enabled\n";
+ }
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: flatfile
+Test 1
+Success: flatfile enabled
+Test 2
+Success: flatfile enabled
+Test 3
+
+Warning: dba_handlers() expects at most 1 parameter, 2 given in %sdba_handlers.php on line %d
+Test 4
+Success: flatfile enabled
+Test 5 - full info
+Success: flatfile enabled
echo "Error creating database\n";
}
-require_once(dirname(__FILE__) .'/clean.inc');
-
?>
===DONE===
<?php exit(0); ?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: flatfile
2YY
echo "Error creating database\n";
}
-require_once(dirname(__FILE__) .'/clean.inc');
-
?>
===DONE===
<?php exit(0); ?>
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
--EXPECTF--
database handler: flatfile
2YY