xref: /php-src/ext/dba/tests/dba_ndbm.phpt (revision 44b0baf7)
1--TEST--
2DBA NDBM handler test
3--EXTENSIONS--
4dba
5--SKIPIF--
6<?php
7require_once __DIR__ . '/setup/setup_dba_tests.inc';
8check_skip('ndbm');
9?>
10--FILE--
11<?php
12require_once __DIR__ . '/setup/setup_dba_tests.inc';
13$db_name = 'dba_ndbm.db';
14
15$handler = 'ndbm';
16set_up_db($handler, $db_name, false /* Locking done by the library */);
17run_standard_tests($handler, $db_name, false /* Locking done by the library */);
18
19?>
20--CLEAN--
21<?php
22require_once __DIR__ . '/setup/setup_dba_tests.inc';
23$db_name = 'dba_ndbm.db';
24cleanup_standard_db($db_name);
25?>
26--EXPECT--
27=== RUNNING WITH FILE LOCK ===
28
29Notice: dba_open(): Handler ndbm does locking internally in %s on line %d
30
31Notice: dba_open(): Handler ndbm does locking internally in %s on line %d
32
33Notice: dba_open(): Handler ndbm does locking internally in %s on line %d
34Remove key 1 and 3
35bool(true)
36bool(true)
37Try to remove key 1 again
38bool(false)
39[key10]name10: Content String 10
40[key30]name30: Content String 30
41key2: Content String 2
42key4: Another Content String
43key5: The last content string
44name9: Content String 9
45Total keys: 6
46Key 1 exists? N
47Key 2 exists? Y
48Key 3 exists? N
49Key 4 exists? Y
50Key 5 exists? Y
51Replace second key data
52bool(true)
53Content 2 replaced
54Read during write: not allowed
55Expected: Added a new data entry
56Expected: Failed to insert data for already used key
57Replace second key data
58bool(true)
59Delete "key4"
60bool(true)
61Fetch "key2": Content 2 replaced 2nd time
62Fetch "key number 6": The 6th value
63
64Notice: dba_open(): Handler ndbm does locking internally in %s on line %d
65array(6) {
66  ["[key10]name10"]=>
67  string(17) "Content String 10"
68  ["[key30]name30"]=>
69  string(17) "Content String 30"
70  ["key number 6"]=>
71  string(13) "The 6th value"
72  ["key2"]=>
73  string(27) "Content 2 replaced 2nd time"
74  ["key5"]=>
75  string(23) "The last content string"
76  ["name9"]=>
77  string(16) "Content String 9"
78}
79=== RUNNING WITH DB LOCK (default) ===
80Remove key 1 and 3
81bool(true)
82bool(true)
83Try to remove key 1 again
84bool(false)
85[key10]name10: Content String 10
86[key30]name30: Content String 30
87key2: Content String 2
88key4: Another Content String
89key5: The last content string
90name9: Content String 9
91Total keys: 6
92Key 1 exists? N
93Key 2 exists? Y
94Key 3 exists? N
95Key 4 exists? Y
96Key 5 exists? Y
97Replace second key data
98bool(true)
99Content 2 replaced
100Read during write: not allowed
101Expected: Added a new data entry
102Expected: Failed to insert data for already used key
103Replace second key data
104bool(true)
105Delete "key4"
106bool(true)
107Fetch "key2": Content 2 replaced 2nd time
108Fetch "key number 6": The 6th value
109array(6) {
110  ["[key10]name10"]=>
111  string(17) "Content String 10"
112  ["[key30]name30"]=>
113  string(17) "Content String 30"
114  ["key number 6"]=>
115  string(13) "The 6th value"
116  ["key2"]=>
117  string(27) "Content 2 replaced 2nd time"
118  ["key5"]=>
119  string(23) "The last content string"
120  ["name9"]=>
121  string(16) "Content String 9"
122}
123=== RUNNING WITH NO LOCK ===
124
125Warning: dba_open(): Locking cannot be disabled for handler ndbm in %s on line %d
126Failed to create DB
127