Mercurial > hg > cdb
comparison rts.tests @ 0:2cb46628feec
from cdb-0.75 per http://cr.yp.to/cdb.html,
retrieved 2025-01-03,
contents appear to have been create on 2000-02-19
| author | Henry S. Thompson <ht@inf.ed.ac.uk> |
|---|---|
| date | Wed, 29 Jan 2025 10:50:34 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:2cb46628feec |
|---|---|
| 1 # Requirements: | |
| 2 # You have softlimit in your path. | |
| 3 # XFSZ is signal 25. | |
| 4 # | |
| 5 # Some features not tested here: | |
| 6 # cdbmake traps 4GB overflows. | |
| 7 | |
| 8 | |
| 9 umask 022 | |
| 10 | |
| 11 rm -rf rts-tmp | |
| 12 mkdir rts-tmp | |
| 13 cd rts-tmp | |
| 14 | |
| 15 | |
| 16 echo '--- cdbmake handles simple example' | |
| 17 echo '+3,5:one->Hello | |
| 18 +3,7:two->Goodbye | |
| 19 ' | cdbmake test.cdb test.tmp | |
| 20 echo $? | |
| 21 | |
| 22 echo '--- cdbmake-12 handles simple example' | |
| 23 echo ' | |
| 24 one Hello | |
| 25 # comment line | |
| 26 two Goodbye | |
| 27 ' | cdbmake-12 12.cdb 12.tmp | |
| 28 echo $? | |
| 29 | |
| 30 echo '--- cdbmake-sv handles simple example' | |
| 31 echo ' | |
| 32 # Network services, Internet style | |
| 33 echo 7/tcp | |
| 34 echo 7/udp | |
| 35 discard 9/tcp sink null | |
| 36 discard 9/udp sink null | |
| 37 systat 11/tcp users #Active Users | |
| 38 systat 11/udp users #Active Users | |
| 39 ' | cdbmake-sv sv.cdb sv.tmp | |
| 40 echo $? | |
| 41 | |
| 42 echo '--- cdbdump handles simple examples' | |
| 43 cdbdump < test.cdb | |
| 44 echo $? | |
| 45 cdbdump < 12.cdb | |
| 46 echo $? | |
| 47 cdbdump < sv.cdb | |
| 48 echo $? | |
| 49 | |
| 50 echo '--- cdbtest handles simple examples' | |
| 51 cdbtest < test.cdb | |
| 52 echo $? | |
| 53 cdbtest < 12.cdb | |
| 54 echo $? | |
| 55 cdbtest < sv.cdb | |
| 56 echo $? | |
| 57 | |
| 58 echo '--- cdbstats handles simple examples' | |
| 59 cdbstats < test.cdb | |
| 60 echo $? | |
| 61 cdbstats < 12.cdb | |
| 62 echo $? | |
| 63 cdbstats < sv.cdb | |
| 64 echo $? | |
| 65 | |
| 66 echo '--- cdbget retrieves data successfully' | |
| 67 cdbget one < test.cdb | |
| 68 echo ' | |
| 69 '$? | |
| 70 cdbget two < test.cdb | |
| 71 echo ' | |
| 72 '$? | |
| 73 for i in @7 echo @9 discard sink null @11 systat users | |
| 74 do | |
| 75 cdbget $i/tcp < sv.cdb | |
| 76 echo ' | |
| 77 '$? | |
| 78 cdbget $i/udp < sv.cdb | |
| 79 echo ' | |
| 80 '$? | |
| 81 done | |
| 82 | |
| 83 echo '--- cdbget exits 100 on nonexistent data' | |
| 84 cdbget three < test.cdb | |
| 85 echo $? | |
| 86 cdbget '#Active' < sv.cdb | |
| 87 echo $? | |
| 88 | |
| 89 | |
| 90 echo '--- cdbmake handles repeated keys' | |
| 91 echo '+3,5:one->Hello | |
| 92 +3,7:one->Goodbye | |
| 93 +3,7:one->Another | |
| 94 ' | cdbmake rep.cdb rep.tmp | |
| 95 echo $? | |
| 96 cdbdump < rep.cdb | |
| 97 echo $? | |
| 98 | |
| 99 echo '--- cdbget handles repeated keys' | |
| 100 cdbget one < rep.cdb | |
| 101 echo ' | |
| 102 '$? | |
| 103 cdbget one 0 < rep.cdb | |
| 104 echo ' | |
| 105 '$? | |
| 106 cdbget one 1 < rep.cdb | |
| 107 echo ' | |
| 108 '$? | |
| 109 cdbget one 2 < rep.cdb | |
| 110 echo ' | |
| 111 '$? | |
| 112 cdbget one 3 < rep.cdb | |
| 113 echo ' | |
| 114 '$? | |
| 115 cdbget one 4 < rep.cdb | |
| 116 echo ' | |
| 117 '$? | |
| 118 | |
| 119 echo '--- cdbmake handles long keys and data' | |
| 120 echo '+320,320:ba483b3442e75cace82def4b5df25bfca887b41687537c21dc4b82cb4c36315e2f6a0661d1af2e05e686c4c595c16561d8c1b3fbee8a6b99c54b3d10d61948445298e97e971f85a600c88164d6b0b09 | |
| 121 b5169a54910232db0a56938de61256721667bddc1c0a2b14f5d063ab586a87a957e87f704acb7246c5e8c25becef713a365efef79bb1f406fecee88f3261f68e239c5903e3145961eb0fbc538ff506a | |
| 122 ->152e113d5deec3638ead782b93e1b9666d265feb5aebc840e79aa69e2cfc1a2ce4b3254b79fa73c338d22a75e67cfed4cd17b92c405e204a48f21c31cdcf7da46312dc80debfbdaf6dc39d74694a711 | |
| 123 6d170c5fde1a81806847cf71732c7f3217a38c6234235951af7b7c1d32e62d480d7c82a63a9d94291d92767ed97dd6a6809d1eb856ce23eda20268cb53fda31c016a19fc20e80aec3bd594a3eb82a5a | |
| 124 | |
| 125 ' | cdbmake test.cdb test.tmp | |
| 126 echo $? | |
| 127 | |
| 128 echo '--- cdbdump handles long keys and data' | |
| 129 cdbdump < test.cdb | |
| 130 echo $? | |
| 131 | |
| 132 echo '--- cdbtest handles long keys and data' | |
| 133 cdbtest < test.cdb | |
| 134 echo $? | |
| 135 | |
| 136 echo '--- cdbstats handles long keys and data' | |
| 137 cdbstats < test.cdb | |
| 138 echo $? | |
| 139 | |
| 140 echo '--- cdbget handles long keys and data' | |
| 141 cdbget 'ba483b3442e75cace82def4b5df25bfca887b41687537c21dc4b82cb4c36315e2f6a0661d1af2e05e686c4c595c16561d8c1b3fbee8a6b99c54b3d10d61948445298e97e971f85a600c88164d6b0b09 | |
| 142 b5169a54910232db0a56938de61256721667bddc1c0a2b14f5d063ab586a87a957e87f704acb7246c5e8c25becef713a365efef79bb1f406fecee88f3261f68e239c5903e3145961eb0fbc538ff506a | |
| 143 ' < test.cdb | |
| 144 echo ' | |
| 145 '$? | |
| 146 | |
| 147 echo '--- cdbmake handles unwritable tmp' | |
| 148 ln -s loop loop | |
| 149 echo '' | cdbmake test.cdb loop | |
| 150 echo $? | |
| 151 | |
| 152 echo '--- cdbmake handles unmovable cdb' | |
| 153 echo '' | cdbmake loop/test.cdb test.tmp | |
| 154 echo $? | |
| 155 | |
| 156 echo '--- cdbmake handles nomem' | |
| 157 csh -cf 'repeat 5000 echo "+3,5:one->Hello"' \ | |
| 158 | softlimit -d 50000 cdbmake test.cdb test.tmp | |
| 159 echo $? | |
| 160 | |
| 161 echo '--- cdbmake handles full disk' | |
| 162 ( | |
| 163 trap '' 25 | |
| 164 echo '' | softlimit -f 2047 cdbmake test.cdb test.tmp | |
| 165 echo $? | |
| 166 ) | |
| 167 | |
| 168 echo '--- cdbmake handles absurd klen' | |
| 169 echo '+4294967210' | cdbmake test.cdb test.tmp | |
| 170 echo $? | |
| 171 | |
| 172 echo '--- cdbget handles empty file' | |
| 173 cdbget foo </dev/null | |
| 174 echo $? | |
| 175 | |
| 176 | |
| 177 echo '--- cdbdump and cdbmake handle random.cdb' | |
| 178 cdbdump < ../random.cdb | cdbmake test.cdb test.tmp | |
| 179 echo $? | |
| 180 cmp ../random.cdb test.cdb | |
| 181 | |
| 182 echo '--- cdbtest handles random.cdb' | |
| 183 cdbtest < ../random.cdb | |
| 184 echo $? | |
| 185 | |
| 186 echo '--- cdbstats handles random.cdb' | |
| 187 cdbstats < ../random.cdb | |
| 188 echo $? | |
| 189 | |
| 190 | |
| 191 echo '--- testzero works' | |
| 192 testzero 5 > test.cdb | |
| 193 echo $? | |
| 194 cdbtest < test.cdb | |
| 195 echo $? | |
| 196 | |
| 197 echo '--- testzero can build a database very close to 4GB' | |
| 198 testzero 65507 > /dev/null | |
| 199 echo $? | |
| 200 | |
| 201 echo '--- testzero complains if hash table passes 4GB' | |
| 202 testzero 65508 > /dev/null | |
| 203 echo $? | |
| 204 | |
| 205 echo '--- testzero complains if records pass 4GB' | |
| 206 testzero 66000 > /dev/null | |
| 207 echo $? | |
| 208 | |
| 209 | |
| 210 exit 0 |
