[Pkg-javascript-devel] Bug#997588: node-leveldown: FTBFS: dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 1

Lucas Nussbaum lucas at debian.org
Sat Oct 23 22:06:16 BST 2021


Source: node-leveldown
Version: 5.6.0+dfsg-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20211023 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[2]: Entering directory '/<<PKGBUILDDIR>>/build'
>   CXX(target) Release/obj.target/leveldown/binding.o
>   SOLINK_MODULE(target) Release/obj.target/leveldown.node
>   COPY Release/leveldown.node
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/build'
> gyp info ok 
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test --buildsystem=nodejs
> 	ln -s ../debian/tests/test_modules/delayed node_modules/delayed
> 	ln -s ../debian/tests/test_modules/du node_modules/du
> 	ln -s ../debian/tests/test_modules/map-async node_modules/map-async
> 	ln -s ../debian/tests/test_modules/mkfiletree node_modules/mkfiletree
> 	ln -s ../debian/tests/test_modules/readfiletree node_modules/readfiletree
> 	ln -s ../debian/tests/test_modules/temp-dir node_modules/temp-dir
> 	ln -s ../debian/tests/test_modules/tempy node_modules/tempy
> 	ln -s ../. node_modules/leveldown
> 	/bin/sh -ex debian/tests/pkg-js/test
> + NODE_PATH=/usr/share/nodejs/abstract-leveldown/node_modules:debian/tests/test_modules:node_modules tape test/abstract-leveldown-test.js test/approximate-size-test.js test/chained-batch-gc-test.js test/cleanup-hanging-iterators-test.js test/compact-range-test.js test/compression-test.js test/destroy-test.js test/empty-range-option-test.js test/getproperty-test.js test/iterator-gc-test.js test/iterator-recursion-test.js test/iterator-starvation-test.js test/iterator-test.js test/leveldown-test.js test/port-libuv-fix-test.js test/repair-test.js test/segfault-test.js
> TAP version 13
> # setUp common
> # testCommon.factory() returns a unique database
> ok 1 no error while opening db1
> ok 2 no error while opening db2
> ok 3 put key in db1
> ok 4 got items from db2
> ok 5 db2 should be empty
> ok 6 no error while closing db1
> ok 7 no error while closing db2
> # tearDown
> # setUp common
> # db has manifest
> ok 8 manifest is object
> ok 9 additionalMethods is object
> ok 10 truthy: bufferKeys
> ok 11 truthy: snapshots
> ok 12 truthy: permanence
> ok 13 truthy: seek
> ok 14 truthy: clear
> ok 15 truthy: createIfMissing
> ok 16 truthy: errorIfExists
> ok 17 truthy: additionalMethods
> ok 18 truthy: status
> ok 19 false: deferredOpen
> ok 20 false: openCallback
> ok 21 false: promises
> ok 22 false: streams
> ok 23 false: encodings
> ok 24 manifest has unique identity
> ok 25 manifest.additionalMethods has unique identity
> ok 26 no open error
> ok 27 manifest did not change after open
> ok 28 no close error
> ok 29 manifest did not change after close
> # manifest has status
> ok 30 should be strictly equal
> ok 31 no open error
> # tearDown
> # setUp common
> # test database open method exists
> ok 32 database object returned
> ok 33 open() function exists
> # tearDown
> # setUp
> # test database open no-arg throws
> ok 34 no-arg open() throws
> # test callback-less, 1-arg, open() throws
> ok 35 callback-less, 1-arg open() throws
> # test database open, no options
> ok 36 undefined
> # test database open, options and callback
> ok 37 undefined
> # test database open, close and open
> ok 38 undefined
> ok 39 undefined
> ok 40 undefined
> # tearDown
> # setUp common
> # setUp db
> # test close()
> ok 41 no-arg close() throws
> ok 42 non-callback close() throws
> ok 43 undefined
> # tearDown
> # setUp
> # test database open createIfMissing:false
> ok 44 error
> ok 45 error is about dir not existing
> ok 46 callback is asynchronous
> # tearDown
> # setUp
> # test database open errorIfExists:true
> ok 47 undefined
> ok 48 undefined
> ok 49 error
> ok 50 error is about already existing
> ok 51 callback is asynchronous
> # tearDown
> # setUp common
> # setUp db
> # test argument-less put() throws
> ok 52 no-arg put() throws
> # test callback-less, 1-arg, put() throws
> ok 53 callback-less, 1-arg put() throws
> # test callback-less, 2-arg, put() throws
> ok 54 callback-less, 2-arg put() throws
> # test callback-less, 3-arg, put() throws
> ok 55 callback-less, 3-arg put() throws
> # test _serialize object
> ok 56 should be truthy
> ok 57 should be truthy
> ok 58 undefined
> # test custom _serialize*
> ok 59 should be deeply equivalent
> ok 60 should be deeply equivalent
> ok 61 undefined
> ok 62 undefined
> # test simple put()
> ok 63 null
> ok 64 null
> ok 65 should be strictly equal
> # tearDown
> # setUp common
> # setUp db
> # test argument-less get() throws
> ok 66 no-arg get() throws
> # test callback-less, 1-arg, get() throws
> ok 67 callback-less, 1-arg get() throws
> # test callback-less, 3-arg, get() throws
> ok 68 callback-less, 2-arg get() throws
> # test custom _serialize*
> ok 69 should be deeply equivalent
> ok 70 undefined
> ok 71 undefined
> # test simple get()
> ok 72 null
> ok 73 null
> ok 74 should not be string by default
> ok 75 should be strictly equal
> ok 76 null
> ok 77 should not be string by default
> ok 78 should be strictly equal
> ok 79 null
> ok 80 should be string if not buffer
> ok 81 should be strictly equal
> # test simultaniously get()
> ok 82 null
> ok 83 null
> ok 84 should be strictly equal
> ok 85 null
> ok 86 should be strictly equal
> ok 87 null
> ok 88 should be strictly equal
> ok 89 null
> ok 90 should be strictly equal
> ok 91 null
> ok 92 should be strictly equal
> ok 93 null
> ok 94 should be strictly equal
> ok 95 null
> ok 96 should be strictly equal
> ok 97 null
> ok 98 should be strictly equal
> ok 99 null
> ok 100 should be strictly equal
> ok 101 null
> ok 102 should be strictly equal
> ok 103 should error
> ok 104 should have correct error message
> ok 105 value is undefined
> ok 106 should error
> ok 107 should have correct error message
> ok 108 value is undefined
> ok 109 should error
> ok 110 should have correct error message
> ok 111 value is undefined
> ok 112 should error
> ok 113 should have correct error message
> ok 114 value is undefined
> ok 115 should error
> ok 116 should have correct error message
> ok 117 value is undefined
> ok 118 should error
> ok 119 should have correct error message
> ok 120 value is undefined
> ok 121 should error
> ok 122 should have correct error message
> ok 123 value is undefined
> ok 124 should error
> ok 125 should have correct error message
> ok 126 value is undefined
> ok 127 should error
> ok 128 should have correct error message
> ok 129 value is undefined
> ok 130 should error
> ok 131 should have correct error message
> ok 132 value is undefined
> # test get() not found error is asynchronous
> ok 133 null
> ok 134 should error
> ok 135 should have correct error message
> ok 136 value is undefined
> ok 137 callback is asynchronous
> # tearDown
> # setUp common
> # setUp db
> # test argument-less del() throws
> ok 138 no-arg del() throws
> # test callback-less, 1-arg, del() throws
> ok 139 callback-less, 1-arg del() throws
> # test callback-less, 3-arg, del() throws
> ok 140 callback-less, 2-arg del() throws
> # test custom _serialize*
> ok 141 should be deeply equivalent
> ok 142 undefined
> ok 143 undefined
> # test simple del()
> ok 144 null
> ok 145 null
> ok 146 entry properly deleted
> ok 147 value is undefined
> ok 148 NotFound error
> # test del on non-existent key
> ok 149 null
> # tearDown
> # setUp common
> # setUp db
> # test get() with null key causes error
> ok 150 has error
> ok 151 should be truthy
> ok 152 correct error message
> ok 153 callback is asynchronous
> # test del() with null key causes error
> ok 154 has error
> ok 155 should be truthy
> ok 156 correct error message
> ok 157 callback is asynchronous
> # test put() with null key causes error
> ok 158 has error
> ok 159 should be truthy
> ok 160 correct error message
> ok 161 callback is asynchronous
> # test get() with undefined key causes error
> ok 162 has error
> ok 163 should be truthy
> ok 164 correct error message
> ok 165 callback is asynchronous
> # test del() with undefined key causes error
> ok 166 has error
> ok 167 should be truthy
> ok 168 correct error message
> ok 169 callback is asynchronous
> # test put() with undefined key causes error
> ok 170 has error
> ok 171 should be truthy
> ok 172 correct error message
> ok 173 callback is asynchronous
> # test get() with empty String key causes error
> ok 174 has error
> ok 175 should be truthy
> ok 176 correct error message
> ok 177 callback is asynchronous
> # test del() with empty String key causes error
> ok 178 has error
> ok 179 should be truthy
> ok 180 correct error message
> ok 181 callback is asynchronous
> # test put() with empty String key causes error
> ok 182 has error
> ok 183 should be truthy
> ok 184 correct error message
> ok 185 callback is asynchronous
> # test get() with empty Buffer key causes error
> ok 186 has error
> ok 187 should be truthy
> ok 188 correct error message
> ok 189 callback is asynchronous
> # test del() with empty Buffer key causes error
> ok 190 has error
> ok 191 should be truthy
> ok 192 correct error message
> ok 193 callback is asynchronous
> # test put() with empty Buffer key causes error
> ok 194 has error
> ok 195 should be truthy
> ok 196 correct error message
> ok 197 callback is asynchronous
> # test get() with empty Array key causes error
> ok 198 has error
> ok 199 should be truthy
> ok 200 correct error message
> ok 201 callback is asynchronous
> # test del() with empty Array key causes error
> ok 202 has error
> ok 203 should be truthy
> ok 204 correct error message
> ok 205 callback is asynchronous
> # test put() with empty Array key causes error
> ok 206 has error
> ok 207 should be truthy
> ok 208 correct error message
> ok 209 callback is asynchronous
> # test put() with null value causes error
> ok 210 has error
> ok 211 should be truthy
> ok 212 correct error message
> ok 213 callback is asynchronous
> # test put() with undefined value causes error
> ok 214 has error
> ok 215 should be truthy
> ok 216 correct error message
> ok 217 callback is asynchronous
> # test put()/get()/del() with `0` key
> ok 218 null
> ok 219 no error, has key/value for ``0` key`
> ok 220 is a Buffer
> ok 221 should be strictly equal
> ok 222 no error, deleted key/value for ``0` key`
> ok 223 entry properly deleted
> ok 224 should have correct error message
> ok 225 value is undefined
> ok 226 callback is asynchronous
> # test put()/get()/del() with long String key
> ok 227 null
> ok 228 no error, has key/value for `long String key`
> ok 229 is a Buffer
> ok 230 should be strictly equal
> ok 231 no error, deleted key/value for `long String key`
> ok 232 entry properly deleted
> ok 233 should have correct error message
> ok 234 value is undefined
> ok 235 callback is asynchronous
> # test put()/get()/del() with Buffer key
> ok 236 null
> ok 237 no error, has key/value for `Buffer key`
> ok 238 is a Buffer
> ok 239 should be strictly equal
> ok 240 no error, deleted key/value for `Buffer key`
> ok 241 entry properly deleted
> ok 242 should have correct error message
> ok 243 value is undefined
> ok 244 callback is asynchronous
> # test put()/get()/del() with Array value
> ok 245 null
> ok 246 no error, has key/value for `Array value`
> ok 247 is a Buffer
> ok 248 should be strictly equal
> ok 249 no error, deleted key/value for `Array value`
> ok 250 entry properly deleted
> ok 251 should have correct error message
> ok 252 value is undefined
> ok 253 callback is asynchronous
> # test put()/get()/del() with `false` value
> ok 254 null
> ok 255 no error, has key/value for ``false` value`
> ok 256 is a Buffer
> ok 257 should be strictly equal
> ok 258 no error, deleted key/value for ``false` value`
> ok 259 entry properly deleted
> ok 260 should have correct error message
> ok 261 value is undefined
> ok 262 callback is asynchronous
> # test put()/get()/del() with `0` value
> ok 263 null
> ok 264 no error, has key/value for ``0` value`
> ok 265 is a Buffer
> ok 266 should be strictly equal
> ok 267 no error, deleted key/value for ``0` value`
> ok 268 entry properly deleted
> ok 269 should have correct error message
> ok 270 value is undefined
> ok 271 callback is asynchronous
> # test put()/get()/del() with `NaN` value
> ok 272 null
> ok 273 no error, has key/value for ``NaN` value`
> ok 274 is a Buffer
> ok 275 should be strictly equal
> ok 276 no error, deleted key/value for ``NaN` value`
> ok 277 entry properly deleted
> ok 278 should have correct error message
> ok 279 value is undefined
> ok 280 callback is asynchronous
> # test put()/get()/del() with empty String value
> ok 281 null
> ok 282 no error, has key/value for `empty String value`
> ok 283 is a Buffer
> ok 284 should be strictly equal
> ok 285 no error, deleted key/value for `empty String value`
> ok 286 entry properly deleted
> ok 287 should have correct error message
> ok 288 value is undefined
> ok 289 callback is asynchronous
> # test put()/get()/del() with empty Buffer value
> ok 290 null
> ok 291 no error, has key/value for `empty Buffer value`
> ok 292 is a Buffer
> ok 293 should be strictly equal
> ok 294 no error, deleted key/value for `empty Buffer value`
> ok 295 entry properly deleted
> ok 296 should have correct error message
> ok 297 value is undefined
> ok 298 callback is asynchronous
> # test put()/get()/del() with empty Array value
> ok 299 null
> ok 300 no error, has key/value for `empty Array value`
> ok 301 is a Buffer
> ok 302 should be strictly equal
> ok 303 no error, deleted key/value for `empty Array value`
> ok 304 entry properly deleted
> ok 305 should have correct error message
> ok 306 value is undefined
> ok 307 callback is asynchronous
> # test put()/get()/del() with long String value
> ok 308 null
> ok 309 no error, has key/value for `long String value`
> ok 310 is a Buffer
> ok 311 should be strictly equal
> ok 312 no error, deleted key/value for `long String value`
> ok 313 entry properly deleted
> ok 314 should have correct error message
> ok 315 value is undefined
> ok 316 callback is asynchronous
> # test put()/get()/del() with Buffer value
> ok 317 null
> ok 318 no error, has key/value for `Buffer value`
> ok 319 is a Buffer
> ok 320 should be strictly equal
> ok 321 no error, deleted key/value for `Buffer value`
> ok 322 entry properly deleted
> ok 323 should have correct error message
> ok 324 value is undefined
> ok 325 callback is asynchronous
> # test put()/get()/del() with Array key
> ok 326 null
> ok 327 no error, has key/value for `Array key`
> ok 328 is a Buffer
> ok 329 should be strictly equal
> ok 330 no error, deleted key/value for `Array key`
> ok 331 entry properly deleted
> ok 332 should have correct error message
> ok 333 value is undefined
> ok 334 callback is asynchronous
> # tearDown
> # setUp common
> # setUp db
> # test callback-less, 2-arg, batch() throws
> ok 335 callback-less, 2-arg batch() throws
> # test batch() with missing `value`
> ok 336 correct error message
> # test batch() with null or undefined `value`
> ok 337 correct error message
> ok 338 correct error message
> # test batch() with missing `key`
> ok 339 got error
> ok 340 correct error message
> ok 341 callback is asynchronous
> # test batch() with null or undefined `key`
> ok 342 got error
> ok 343 correct error message
> ok 344 callback is asynchronous
> ok 345 got error
> ok 346 correct error message
> ok 347 callback is asynchronous
> # test batch() with empty `key`
> ok 348 got error
> ok 349 correct error message
> ok 350 callback is asynchronous
> ok 351 got error
> ok 352 correct error message
> ok 353 callback is asynchronous
> ok 354 got error
> ok 355 correct error message
> ok 356 callback is asynchronous
> # test batch() with missing `key` and `value`
> ok 357 got error
> ok 358 correct error message
> ok 359 callback is asynchronous
> # test batch() with missing `type`
> ok 360 got error
> ok 361 correct error message
> ok 362 callback is asynchronous
> # test batch() with wrong `type`
> ok 363 got error
> ok 364 correct error message
> ok 365 callback is asynchronous
> # test batch() with missing array
> ok 366 got error
> ok 367 correct error message
> ok 368 callback is asynchronous
> # test batch() with undefined array
> ok 369 got error
> ok 370 correct error message
> ok 371 callback is asynchronous
> # test batch() with null array
> ok 372 got error
> ok 373 correct error message
> ok 374 callback is asynchronous
> # test batch() with null options
> ok 375 undefined
> # test batch() with null element
> ok 376 got error
> ok 377 correct error message
> ok 378 callback is asynchronous
> # test batch() with undefined element
> ok 379 got error
> ok 380 correct error message
> ok 381 callback is asynchronous
> # test batch() with number element
> ok 382 got error
> ok 383 correct error message
> ok 384 callback is asynchronous
> # test batch() with boolean element
> ok 385 got error
> ok 386 correct error message
> ok 387 callback is asynchronous
> # test batch() with empty array
> ok 388 no error from batch()
> ok 389 callback is asynchronous
> # test simple batch()
> ok 390 null
> ok 391 null
> ok 392 should be strictly equal
> # test multiple batch()
> ok 393 null
> ok 394 null
> ok 395 should be strictly equal
> ok 396 entry not found
> ok 397 value is undefined
> ok 398 NotFound error
> ok 399 null
> ok 400 should be strictly equal
> # test multiple batch()
> ok 401 should error
> ok 402 callback is asynchronous
> ok 403 should not be found
> ok 404 should not be found
> # tearDown
> # setUp common
> # setUp db
> # test batch has db reference
> ok 405 should be truthy
> # test batch#put() with missing `value`
> ok 406 correct error message
> # test batch#put() with missing `key`
> ok 407 correct error message
> # test batch#put() with null `key`
> ok 408 correct error message
> # test batch#put() with missing `key` and `value`
> ok 409 correct error message
> # test batch#put() with null or undefined `value`
> ok 410 correct error message
> ok 411 correct error message
> # test batch#del() with missing `key`
> ok 412 correct error message
> # test batch#del() with null or undefined `key`
> ok 413 correct error message
> ok 414 correct error message
> # test batch#clear() doesn't throw
> # test batch#write() with no callback
> ok 415 correct error message
> # test batch#put() after write()
> ok 416 correct error message
> # test batch#del() after write()
> ok 417 correct error message
> # test batch#clear() after write()
> ok 418 correct error message
> # test batch#write() after write()
> ok 419 correct error message
> # test serialize object
> ok 420 .key is set for .put and .del operations
> ok 421 .value is set for .put operation
> ok 422 .key is set for .put and .del operations
> # test custom _serialize*
> ok 423 should be deeply equivalent
> ok 424 should be deeply equivalent
> ok 425 should be deeply equivalent
> ok 426 should be deeply equivalent
> # test batch#write() with no operations
> ok 427 no error from write()
> ok 428 callback is asynchronous
> # test basic batch
> ok 429 null
> ok 430 null
> ok 431 null
> ok 432 correct number of entries
> ok 433 should be deeply equivalent
> # tearDown
> # setUp common
> # setUp db
> # test iterator has db reference
> ok 434 should be truthy
> # test argument-less iterator#next() throws
> ok 435 no-arg iterator#next() throws
> # test argument-less iterator#end() after next() throws
> ok 436 no-arg iterator#end() throws
> # test argument-less iterator#end() throws
> ok 437 no-arg iterator#end() throws
> # test iterator#next returns this
> ok 438 should be truthy
> # test twice iterator#end() callback with error
> ok 439 null
> ok 440 returned error
> ok 441 correct error
> ok 442 should be strictly equal
> ok 443 callback is asynchronous
> # test iterator#next after iterator#end() callback with error
> ok 444 null
> ok 445 returned error
> ok 446 correct error
> ok 447 correct message
> ok 448 callback is asynchronous
> # test twice iterator#next() throws
> ok 449 returned error
> ok 450 correct error
> ok 451 should be strictly equal
> ok 452 callback is asynchronous
> ok 453 undefined
> ok 454 null
> # test simple iterator()
> ok 455 null
> ok 456 null
> ok 457 key argument is a Buffer
> ok 458 value argument is a Buffer
> ok 459 correct key
> ok 460 correct value
> ok 461 null
> ok 462 key argument is a Buffer
> ok 463 value argument is a Buffer
> ok 464 correct key
> ok 465 correct value
> ok 466 null
> ok 467 key argument is a Buffer
> ok 468 value argument is a Buffer
> ok 469 correct key
> ok 470 correct value
> ok 471 undefined
> ok 472 err argument is undefined
> ok 473 key argument is undefined
> ok 474 value argument is undefined
> ok 475 correct number of entries
> # tearDown
> # setUp common
> # setUp db
> # test full data collection
> ok 476 null
> ok 477 correct number of entries
> ok 478 should be deeply equivalent
> # test full data collection (flipped)
> ok 479 null
> ok 480 correct number of entries
> ok 481 should be deeply equivalent
> # test iterator with reverse=true
> ok 482 null
> ok 483 correct number of entries
> ok 484 should be deeply equivalent
> # test iterator with gte=00
> ok 485 null
> ok 486 correct number of entries
> ok 487 should be deeply equivalent
> # test iterator with gte=00 (flipped)
> ok 488 null
> ok 489 correct number of entries
> ok 490 should be deeply equivalent
> # test iterator with start=00 - legacy
> ok 491 null
> ok 492 correct number of entries
> ok 493 should be deeply equivalent
> # test iterator with start=00 - legacy (flipped)
> ok 494 null
> ok 495 correct number of entries
> ok 496 should be deeply equivalent
> # test iterator with gte=50
> ok 497 null
> ok 498 correct number of entries
> ok 499 should be deeply equivalent
> # test iterator with gte=50 (flipped)
> ok 500 null
> ok 501 correct number of entries
> ok 502 should be deeply equivalent
> # test iterator with start=50 - legacy
> ok 503 null
> ok 504 correct number of entries
> ok 505 should be deeply equivalent
> # test iterator with start=50 - legacy (flipped)
> ok 506 null
> ok 507 correct number of entries
> ok 508 should be deeply equivalent
> # test iterator with lte=50 and reverse=true
> ok 509 null
> ok 510 correct number of entries
> ok 511 should be deeply equivalent
> # test iterator with start=50 and reverse=true - legacy
> ok 512 null
> ok 513 correct number of entries
> ok 514 should be deeply equivalent
> # test iterator with gte=49.5 (midway)
> ok 515 null
> ok 516 correct number of entries
> ok 517 should be deeply equivalent
> # test iterator with gte=49.5 (midway) (flipped)
> ok 518 null
> ok 519 correct number of entries
> ok 520 should be deeply equivalent
> # test iterator with start=49.5 (midway) - legacy
> ok 521 null
> ok 522 correct number of entries
> ok 523 should be deeply equivalent
> # test iterator with start=49.5 (midway) - legacy (flipped)
> ok 524 null
> ok 525 correct number of entries
> ok 526 should be deeply equivalent
> # test iterator with gte=49999 (midway)
> ok 527 null
> ok 528 correct number of entries
> ok 529 should be deeply equivalent
> # test iterator with gte=49999 (midway) (flipped)
> ok 530 null
> ok 531 correct number of entries
> ok 532 should be deeply equivalent
> # test iterator with start=49999 (midway) - legacy
> ok 533 null
> ok 534 correct number of entries
> ok 535 should be deeply equivalent
> # test iterator with start=49999 (midway) - legacy (flipped)
> ok 536 null
> ok 537 correct number of entries
> ok 538 should be deeply equivalent
> # test iterator with lte=49.5 (midway) and reverse=true
> ok 539 null
> ok 540 correct number of entries
> ok 541 should be deeply equivalent
> # test iterator with lt=49.5 (midway) and reverse=true
> ok 542 null
> ok 543 correct number of entries
> ok 544 should be deeply equivalent
> # test iterator with lt=50 and reverse=true
> ok 545 null
> ok 546 correct number of entries
> ok 547 should be deeply equivalent
> # test iterator with start=49.5 (midway) and reverse=true - legacy
> ok 548 null
> ok 549 correct number of entries
> ok 550 should be deeply equivalent
> # test iterator with lte=50
> ok 551 null
> ok 552 correct number of entries
> ok 553 should be deeply equivalent
> # test iterator with lte=50 (flipped)
> ok 554 null
> ok 555 correct number of entries
> ok 556 should be deeply equivalent
> # test iterator with end=50 - legacy
> ok 557 null
> ok 558 correct number of entries
> ok 559 should be deeply equivalent
> # test iterator with end=50 - legacy (flipped)
> ok 560 null
> ok 561 correct number of entries
> ok 562 should be deeply equivalent
> # test iterator with lte=50.5 (midway)
> ok 563 null
> ok 564 correct number of entries
> ok 565 should be deeply equivalent
> # test iterator with lte=50.5 (midway) (flipped)
> ok 566 null
> ok 567 correct number of entries
> ok 568 should be deeply equivalent
> # test iterator with end=50.5 (midway) - legacy
> ok 569 null
> ok 570 correct number of entries
> ok 571 should be deeply equivalent
> # test iterator with end=50.5 (midway) - legacy (flipped)
> ok 572 null
> ok 573 correct number of entries
> ok 574 should be deeply equivalent
> # test iterator with lte=50555 (midway)
> ok 575 null
> ok 576 correct number of entries
> ok 577 should be deeply equivalent
> # test iterator with lte=50555 (midway) (flipped)
> ok 578 null
> ok 579 correct number of entries
> ok 580 should be deeply equivalent
> # test iterator with lt=50555 (midway)
> ok 581 null
> ok 582 correct number of entries
> ok 583 should be deeply equivalent
> # test iterator with lt=50555 (midway) (flipped)
> ok 584 null
> ok 585 correct number of entries
> ok 586 should be deeply equivalent
> # test iterator with end=50555 (midway) - legacy
> ok 587 null
> ok 588 correct number of entries
> ok 589 should be deeply equivalent
> # test iterator with end=50555 (midway) - legacy (flipped)
> ok 590 null
> ok 591 correct number of entries
> ok 592 should be deeply equivalent
> # test iterator with gte=50.5 (midway) and reverse=true
> ok 593 null
> ok 594 correct number of entries
> ok 595 should be deeply equivalent
> # test iterator with gt=50.5 (midway) and reverse=true
> ok 596 null
> ok 597 correct number of entries
> ok 598 should be deeply equivalent
> # test iterator with end=50.5 (midway) and reverse=true - legacy
> ok 599 null
> ok 600 correct number of entries
> ok 601 should be deeply equivalent
> # test iterator with gt=50 and reverse=true
> ok 602 null
> ok 603 correct number of entries
> ok 604 should be deeply equivalent
> # test iterator with lte=0
> ok 605 null
> ok 606 correct number of entries
> ok 607 should be deeply equivalent
> # test iterator with lte=0 (flipped)
> ok 608 null
> ok 609 correct number of entries
> ok 610 should be deeply equivalent
> # test iterator with lt=0
> ok 611 null
> ok 612 correct number of entries
> ok 613 should be deeply equivalent
> # test iterator with lt=0 (flipped)
> ok 614 null
> ok 615 correct number of entries
> ok 616 should be deeply equivalent
> # test iterator with end=0 - legacy
> ok 617 null
> ok 618 correct number of entries
> ok 619 should be deeply equivalent
> # test iterator with end=0 - legacy (flipped)
> ok 620 null
> ok 621 correct number of entries
> ok 622 should be deeply equivalent
> # test iterator with gte=30 and lte=70
> ok 623 null
> ok 624 correct number of entries
> ok 625 should be deeply equivalent
> # test iterator with gte=30 and lte=70 (flipped)
> ok 626 null
> ok 627 correct number of entries
> ok 628 should be deeply equivalent
> # test iterator with gt=29 and lt=71
> ok 629 null
> ok 630 correct number of entries
> ok 631 should be deeply equivalent
> # test iterator with gt=29 and lt=71 (flipped)
> ok 632 null
> ok 633 correct number of entries
> ok 634 should be deeply equivalent
> # test iterator with start=30 and end=70 - legacy
> ok 635 null
> ok 636 correct number of entries
> ok 637 should be deeply equivalent
> # test iterator with start=30 and end=70 - legacy (flipped)
> ok 638 null
> ok 639 correct number of entries
> ok 640 should be deeply equivalent
> # test iterator with gte=30 and lte=70 and reverse=true
> ok 641 null
> ok 642 correct number of entries
> ok 643 should be deeply equivalent
> # test iterator with gt=29 and lt=71 and reverse=true
> ok 644 null
> ok 645 correct number of entries
> ok 646 should be deeply equivalent
> # test iterator with start=70 and end=30 and reverse=true - legacy
> ok 647 null
> ok 648 correct number of entries
> ok 649 should be deeply equivalent
> # test iterator with limit=20
> ok 650 null
> ok 651 correct number of entries
> ok 652 should be deeply equivalent
> # test iterator with limit=20 and gte=20
> ok 653 null
> ok 654 correct number of entries
> ok 655 should be deeply equivalent
> # test iterator with limit=20 and start=20 - legacy
> ok 656 null
> ok 657 correct number of entries
> ok 658 should be deeply equivalent
> # test iterator with limit=20 and reverse=true
> ok 659 null
> ok 660 correct number of entries
> ok 661 should be deeply equivalent
> # test iterator with limit=20 and lte=79 and reverse=true
> ok 662 null
> ok 663 correct number of entries
> ok 664 should be deeply equivalent
> # test iterator with limit=20 and start=79 and reverse=true - legacy
> ok 665 null
> ok 666 correct number of entries
> ok 667 should be deeply equivalent
> # test iterator with limit=-1 should iterate over whole database
> ok 668 null
> ok 669 correct number of entries
> ok 670 should be deeply equivalent
> # test iterator with limit=0 should not iterate over anything
> ok 671 null
> ok 672 correct number of entries
> ok 673 should be deeply equivalent
> # test iterator with lte after limit
> ok 674 null
> ok 675 correct number of entries
> ok 676 should be deeply equivalent
> # test iterator with end after limit - legacy
> ok 677 null
> ok 678 correct number of entries
> ok 679 should be deeply equivalent
> # test iterator with lte before limit
> ok 680 null
> ok 681 correct number of entries
> ok 682 should be deeply equivalent
> # test iterator with end before limit - legacy
> ok 683 null
> ok 684 correct number of entries
> ok 685 should be deeply equivalent
> # test iterator with gte after database end
> ok 686 null
> ok 687 correct number of entries
> ok 688 should be deeply equivalent
> # test iterator with gte after database end (flipped)
> ok 689 null
> ok 690 correct number of entries
> ok 691 should be deeply equivalent
> # test iterator with gt after database end
> ok 692 null
> ok 693 correct number of entries
> ok 694 should be deeply equivalent
> # test iterator with gt after database end (flipped)
> ok 695 null
> ok 696 correct number of entries
> ok 697 should be deeply equivalent
> # test iterator with start after database end - legacy
> ok 698 null
> ok 699 correct number of entries
> ok 700 should be deeply equivalent
> # test iterator with start after database end - legacy (flipped)
> ok 701 null
> ok 702 correct number of entries
> ok 703 should be deeply equivalent
> # test iterator with lte after database end and reverse=true
> ok 704 null
> ok 705 correct number of entries
> ok 706 should be deeply equivalent
> # test iterator with start after database end and reverse=true - legacy
> ok 707 null
> ok 708 correct number of entries
> ok 709 should be deeply equivalent
> # test iterator with lt after database end
> ok 710 null
> ok 711 correct number of entries
> ok 712 should be deeply equivalent
> # test iterator with lt after database end (flipped)
> ok 713 null
> ok 714 correct number of entries
> ok 715 should be deeply equivalent
> # test iterator with end after database end - legacy
> ok 716 null
> ok 717 correct number of entries
> ok 718 should be deeply equivalent
> # test iterator with end after database end - legacy (flipped)
> ok 719 null
> ok 720 correct number of entries
> ok 721 should be deeply equivalent
> # test iterator with lt at database end
> ok 722 null
> ok 723 correct number of entries
> ok 724 should be deeply equivalent
> # test iterator with lt at database end (flipped)
> ok 725 null
> ok 726 correct number of entries
> ok 727 should be deeply equivalent
> # test iterator with lte at database end
> ok 728 null
> ok 729 correct number of entries
> ok 730 should be deeply equivalent
> # test iterator with lte at database end (flipped)
> ok 731 null
> ok 732 correct number of entries
> ok 733 should be deeply equivalent
> # test iterator with end at database end - legacy
> ok 734 null
> ok 735 correct number of entries
> ok 736 should be deeply equivalent
> # test iterator with end at database end - legacy (flipped)
> ok 737 null
> ok 738 correct number of entries
> ok 739 should be deeply equivalent
> # test iterator with lt before database end
> ok 740 null
> ok 741 correct number of entries
> ok 742 should be deeply equivalent
> # test iterator with lt before database end (flipped)
> ok 743 null
> ok 744 correct number of entries
> ok 745 should be deeply equivalent
> # test iterator with lte before database end
> ok 746 null
> ok 747 correct number of entries
> ok 748 should be deeply equivalent
> # test iterator with lte before database end (flipped)
> ok 749 null
> ok 750 correct number of entries
> ok 751 should be deeply equivalent
> # test iterator with end before database end - legacy
> ok 752 null
> ok 753 correct number of entries
> ok 754 should be deeply equivalent
> # test iterator with end before database end - legacy (flipped)
> ok 755 null
> ok 756 correct number of entries
> ok 757 should be deeply equivalent
> # test iterator with lte and gte after database and reverse=true
> ok 758 null
> ok 759 correct number of entries
> ok 760 should be deeply equivalent
> # test iterator with lt and gt after database and reverse=true
> ok 761 null
> ok 762 correct number of entries
> ok 763 should be deeply equivalent
> # test iterator with start and end after database and reverse=true - legacy
> ok 764 null
> ok 765 correct number of entries
> ok 766 should be deeply equivalent
> # tearDown
> # setUp common
> # iterator#seek() throws if next() has not completed
> ok 767 no error from open()
> ok 768 got error
> ok 769 no error from next()
> ok 770 next is asynchronous
> ok 771 no error from done()
> ok 772 no error from close()
> # iterator#seek() throws after end()
> ok 773 no error from open()
> ok 774 no error from next()
> ok 775 no error from end()
> ok 776 got error
> ok 777 no error from done()
> ok 778 no error from close()
> # iterator#seek() to string target
> ok 779 no error from open()
> ok 780 no error from batch()
> ok 781 no error
> ok 782 key matches
> ok 783 value matches
> ok 784 no error
> ok 785 end of iterator
> ok 786 end of iterator
> ok 787 no error from done()
> ok 788 no error from close()
> # iterator#seek() to buffer target
> ok 789 no error from open()
> ok 790 no error from batch()
> ok 791 no error from next()
> ok 792 key matches
> ok 793 value matches
> ok 794 no error from next()
> ok 795 end of iterator
> ok 796 end of iterator
> ok 797 no error from done()
> ok 798 no error from close()
> # iterator#seek() on reverse iterator
> ok 799 no error from open()
> ok 800 no error from batch()
> ok 801 no error
> ok 802 key matches
> ok 803 value matches
> ok 804 no error from done()
> ok 805 no error from close()
> # iterator#seek() to out of range target
> ok 806 no error from open()
> ok 807 no error from batch()
> ok 808 no error
> ok 809 end of iterator
> ok 810 end of iterator
> ok 811 no error from done()
> ok 812 no error from close()
> # iterator#seek() on reverse iterator to out of range target
> ok 813 no error from open()
> ok 814 no error from batch()
> ok 815 no error
> ok 816 should be deeply equivalent
> ok 817 should be deeply equivalent
> ok 818 no error from done()
> ok 819 no error from close()
> # iterator#seek() respects range
> ok 820 no error from open()
> ok 821 no error from batch()
> ok 822 no error from next()
> ok 823 seek(4) on {"gt":"5"} yields undefined
> ok 824 no error from next()
> ok 825 seek(5) on {"gt":"5"} yields undefined
> ok 826 no error from next()
> ok 827 seek(6) on {"gt":"5"} yields 6
> ok 828 no error from next()
> ok 829 seek(4) on {"gte":"5"} yields undefined
> ok 830 no error from next()
> ok 831 seek(5) on {"gte":"5"} yields 5
> ok 832 no error from next()
> ok 833 seek(6) on {"gte":"5"} yields 6
> ok 834 no error from next()
> ok 835 seek(4) on {"start":"5"} yields undefined
> ok 836 no error from next()
> ok 837 seek(5) on {"start":"5"} yields 5
> ok 838 no error from next()
> ok 839 seek(6) on {"start":"5"} yields 6
> ok 840 no error from next()
> ok 841 seek(4) on {"lt":"5"} yields 4
> ok 842 no error from next()
> ok 843 seek(5) on {"lt":"5"} yields undefined
> ok 844 no error from next()
> ok 845 seek(6) on {"lt":"5"} yields undefined
> ok 846 no error from next()
> ok 847 seek(4) on {"lte":"5"} yields 4
> ok 848 no error from next()
> ok 849 seek(5) on {"lte":"5"} yields 5
> ok 850 no error from next()
> ok 851 seek(6) on {"lte":"5"} yields undefined
> ok 852 no error from next()
> ok 853 seek(4) on {"end":"5"} yields 4
> ok 854 no error from next()
> ok 855 seek(5) on {"end":"5"} yields 5
> ok 856 no error from next()
> ok 857 seek(6) on {"end":"5"} yields undefined
> ok 858 no error from next()
> ok 859 seek(4) on {"lt":"5","reverse":true} yields 4
> ok 860 no error from next()
> ok 861 seek(5) on {"lt":"5","reverse":true} yields undefined
> ok 862 no error from next()
> ok 863 seek(6) on {"lt":"5","reverse":true} yields undefined
> ok 864 no error from next()
> ok 865 seek(4) on {"lte":"5","reverse":true} yields 4
> ok 866 no error from next()
> ok 867 seek(5) on {"lte":"5","reverse":true} yields 5
> ok 868 no error from next()
> ok 869 seek(6) on {"lte":"5","reverse":true} yields undefined
> ok 870 no error from next()
> ok 871 seek(4) on {"start":"5","reverse":true} yields 4
> ok 872 no error from next()
> ok 873 seek(5) on {"start":"5","reverse":true} yields 5
> ok 874 no error from next()
> ok 875 seek(6) on {"start":"5","reverse":true} yields undefined
> ok 876 no error from next()
> ok 877 seek(4) on {"gt":"5","reverse":true} yields undefined
> ok 878 no error from next()
> ok 879 seek(5) on {"gt":"5","reverse":true} yields undefined
> ok 880 no error from next()
> ok 881 seek(6) on {"gt":"5","reverse":true} yields 6
> ok 882 no error from next()
> ok 883 seek(4) on {"gte":"5","reverse":true} yields undefined
> ok 884 no error from next()
> ok 885 seek(5) on {"gte":"5","reverse":true} yields 5
> ok 886 no error from next()
> ok 887 seek(6) on {"gte":"5","reverse":true} yields 6
> ok 888 no error from next()
> ok 889 seek(4) on {"end":"5","reverse":true} yields undefined
> ok 890 no error from next()
> ok 891 seek(5) on {"end":"5","reverse":true} yields 5
> ok 892 no error from next()
> ok 893 seek(6) on {"end":"5","reverse":true} yields 6
> ok 894 no error from next()
> ok 895 seek(7) on {"gt":"7","lt":"8"} yields undefined
> ok 896 no error from next()
> ok 897 seek(7) on {"gte":"7","lt":"8"} yields 7
> ok 898 no error from next()
> ok 899 seek(8) on {"gte":"7","lt":"8"} yields undefined
> ok 900 no error from next()
> ok 901 seek(8) on {"gt":"7","lte":"8"} yields 8
> ok 902 no error from end()
> ok 903 no error from end()
> ok 904 no error from end()
> ok 905 no error from end()
> ok 906 no error from end()
> ok 907 no error from end()
> ok 908 no error from end()
> ok 909 no error from end()
> ok 910 no error from end()
> ok 911 no error from end()
> ok 912 no error from end()
> ok 913 no error from end()
> ok 914 no error from end()
> ok 915 no error from end()
> ok 916 no error from end()
> ok 917 no error from end()
> ok 918 no error from end()
> ok 919 no error from end()
> ok 920 no error from end()
> ok 921 no error from end()
> ok 922 no error from end()
> ok 923 no error from end()
> ok 924 no error from end()
> ok 925 no error from end()
> ok 926 no error from end()
> ok 927 no error from end()
> ok 928 no error from end()
> ok 929 no error from end()
> ok 930 no error from end()
> ok 931 no error from end()
> ok 932 no error from end()
> ok 933 no error from end()
> ok 934 no error from end()
> ok 935 no error from end()
> ok 936 no error from end()
> ok 937 no error from end()
> ok 938 no error from end()
> ok 939 no error from end()
> ok 940 no error from end()
> ok 941 no error from end()
> ok 942 no error from close()
> # tearDown
> # setUp common
> # delete key after snapshotting
> ok 943 no open error
> ok 944 no put error
> ok 945 no del error
> ok 946 no next error
> ok 947 got a key
> ok 948 correct key
> ok 949 correct value
> ok 950 no run error
> ok 951 no iterator end error
> # overwrite key after snapshotting
> ok 952 no open error
> ok 953 no put error
> ok 954 no put error
> ok 955 no next error
> ok 956 got a key
> ok 957 correct key
> ok 958 correct value
> ok 959 no run error
> ok 960 no iterator end error
> # add key after snapshotting that sorts first
> ok 961 no open error
> ok 962 no put error
> ok 963 no put error
> ok 964 no next error
> ok 965 got a key
> ok 966 correct key
> ok 967 correct value
> ok 968 no run error
> ok 969 no iterator end error
> # tearDown
> # setUp common
> # setUp db
> # test argument-less clear() throws
> ok 970 no-arg clear() throws
> # test simple clear() on string keys
> ok 971 no open error
> ok 972 no batch error
> ok 973 no concat error
> ok 974 has entries
> ok 975 no clear error
> ok 976 no concat error
> ok 977 has no entries
> ok 978 no close error
> # test simple clear() on buffer keys
> ok 979 no open error
> ok 980 no batch error
> ok 981 no concat error
> ok 982 has entries
> ok 983 no clear error
> ok 984 no concat error
> ok 985 has no entries
> ok 986 no close error
> # test simple clear() on mixed keys
> ok 987 no open error
> ok 988 no batch error
> ok 989 no concat error
> ok 990 has entries
> ok 991 no clear error
> ok 992 no concat error
> ok 993 has no entries
> ok 994 no close error
> # test simple clear() on non-utf8 buffer keys
> ok 995 no open error
> ok 996 no batch error
> ok 997 no concat error
> ok 998 has entries
> ok 999 no clear error
> ok 1000 no concat error
> ok 1001 has no entries
> ok 1002 no close error
> # tearDown
> # setUp common
> # db#clear() with full range
> ok 1003 no open error
> ok 1004 no batch error
> ok 1005 no clear error
> ok 1006 no concat error
> ok 1007 correct number of entries
> ok 1008 should be deeply equivalent
> # db#clear() with reverse=true
> ok 1009 no open error
> ok 1010 no batch error
> ok 1011 no clear error
> ok 1012 no concat error
> ok 1013 correct number of entries
> ok 1014 should be deeply equivalent
> # db#clear() with gte=00
> ok 1015 no open error
> ok 1016 no batch error
> ok 1017 no clear error
> ok 1018 no concat error
> ok 1019 correct number of entries
> ok 1020 should be deeply equivalent
> # db#clear() with gte=50
> ok 1021 no open error
> ok 1022 no batch error
> ok 1023 no clear error
> ok 1024 no concat error
> ok 1025 correct number of entries
> ok 1026 should be deeply equivalent
> # db#clear() with lte=50 and reverse=true
> ok 1027 no open error
> ok 1028 no batch error
> ok 1029 no clear error
> ok 1030 no concat error
> ok 1031 correct number of entries
> ok 1032 should be deeply equivalent
> # db#clear() with gte=49.5 (midway)
> ok 1033 no open error
> ok 1034 no batch error
> ok 1035 no clear error
> ok 1036 no concat error
> ok 1037 correct number of entries
> ok 1038 should be deeply equivalent
> # db#clear() with gte=49999 (midway)
> ok 1039 no open error
> ok 1040 no batch error
> ok 1041 no clear error
> ok 1042 no concat error
> ok 1043 correct number of entries
> ok 1044 should be deeply equivalent
> # db#clear() with lte=49.5 (midway) and reverse=true
> ok 1045 no open error
> ok 1046 no batch error
> ok 1047 no clear error
> ok 1048 no concat error
> ok 1049 correct number of entries
> ok 1050 should be deeply equivalent
> # db#clear() with lt=49.5 (midway) and reverse=true
> ok 1051 no open error
> ok 1052 no batch error
> ok 1053 no clear error
> ok 1054 no concat error
> ok 1055 correct number of entries
> ok 1056 should be deeply equivalent
> # db#clear() with lt=50 and reverse=true
> ok 1057 no open error
> ok 1058 no batch error
> ok 1059 no clear error
> ok 1060 no concat error
> ok 1061 correct number of entries
> ok 1062 should be deeply equivalent
> # db#clear() with lte=50
> ok 1063 no open error
> ok 1064 no batch error
> ok 1065 no clear error
> ok 1066 no concat error
> ok 1067 correct number of entries
> ok 1068 should be deeply equivalent
> # db#clear() with lte=50.5 (midway)
> ok 1069 no open error
> ok 1070 no batch error
> ok 1071 no clear error
> ok 1072 no concat error
> ok 1073 correct number of entries
> ok 1074 should be deeply equivalent
> # db#clear() with lte=50555 (midway)
> ok 1075 no open error
> ok 1076 no batch error
> ok 1077 no clear error
> ok 1078 no concat error
> ok 1079 correct number of entries
> ok 1080 should be deeply equivalent
> # db#clear() with lt=50555 (midway)
> ok 1081 no open error
> ok 1082 no batch error
> ok 1083 no clear error
> ok 1084 no concat error
> ok 1085 correct number of entries
> ok 1086 should be deeply equivalent
> # db#clear() with gte=50.5 (midway) and reverse=true
> ok 1087 no open error
> ok 1088 no batch error
> ok 1089 no clear error
> ok 1090 no concat error
> ok 1091 correct number of entries
> ok 1092 should be deeply equivalent
> # db#clear() with gt=50.5 (midway) and reverse=true
> ok 1093 no open error
> ok 1094 no batch error
> ok 1095 no clear error
> ok 1096 no concat error
> ok 1097 correct number of entries
> ok 1098 should be deeply equivalent
> # db#clear() with gt=50 and reverse=true
> ok 1099 no open error
> ok 1100 no batch error
> ok 1101 no clear error
> ok 1102 no concat error
> ok 1103 correct number of entries
> ok 1104 should be deeply equivalent
> # db#clear() with lte=0
> ok 1105 no open error
> ok 1106 no batch error
> ok 1107 no clear error
> ok 1108 no concat error
> ok 1109 correct number of entries
> ok 1110 should be deeply equivalent
> # db#clear() with lt=0
> ok 1111 no open error
> ok 1112 no batch error
> ok 1113 no clear error
> ok 1114 no concat error
> ok 1115 correct number of entries
> ok 1116 should be deeply equivalent
> # db#clear() with gte=30 and lte=70
> ok 1117 no open error
> ok 1118 no batch error
> ok 1119 no clear error
> ok 1120 no concat error
> ok 1121 correct number of entries
> ok 1122 should be deeply equivalent
> # db#clear() with gt=29 and lt=71
> ok 1123 no open error
> ok 1124 no batch error
> ok 1125 no clear error
> ok 1126 no concat error
> ok 1127 correct number of entries
> ok 1128 should be deeply equivalent
> # db#clear() with gte=30 and lte=70 and reverse=true
> ok 1129 no open error
> ok 1130 no batch error
> ok 1131 no clear error
> ok 1132 no concat error
> ok 1133 correct number of entries
> ok 1134 should be deeply equivalent
> # db#clear() with gt=29 and lt=71 and reverse=true
> ok 1135 no open error
> ok 1136 no batch error
> ok 1137 no clear error
> ok 1138 no concat error
> ok 1139 correct number of entries
> ok 1140 should be deeply equivalent
> # db#clear() with limit=20
> ok 1141 no open error
> ok 1142 no batch error
> ok 1143 no clear error
> ok 1144 no concat error
> ok 1145 correct number of entries
> ok 1146 should be deeply equivalent
> # db#clear() with limit=20 and gte=20
> ok 1147 no open error
> ok 1148 no batch error
> ok 1149 no clear error
> ok 1150 no concat error
> ok 1151 correct number of entries
> ok 1152 should be deeply equivalent
> # db#clear() with limit=20 and reverse=true
> ok 1153 no open error
> ok 1154 no batch error
> ok 1155 no clear error
> ok 1156 no concat error
> ok 1157 correct number of entries
> ok 1158 should be deeply equivalent
> # db#clear() with limit=20 and lte=79 and reverse=true
> ok 1159 no open error
> ok 1160 no batch error
> ok 1161 no clear error
> ok 1162 no concat error
> ok 1163 correct number of entries
> ok 1164 should be deeply equivalent
> # db#clear() with limit=-1 should clear whole database
> ok 1165 no open error
> ok 1166 no batch error
> ok 1167 no clear error
> ok 1168 no concat error
> ok 1169 correct number of entries
> ok 1170 should be deeply equivalent
> # db#clear() with limit=0 should not clear anything
> ok 1171 no open error
> ok 1172 no batch error
> ok 1173 no clear error
> ok 1174 no concat error
> ok 1175 correct number of entries
> ok 1176 should be deeply equivalent
> # db#clear() with lte after limit
> ok 1177 no open error
> ok 1178 no batch error
> ok 1179 no clear error
> ok 1180 no concat error
> ok 1181 correct number of entries
> ok 1182 should be deeply equivalent
> # db#clear() with lte before limit
> ok 1183 no open error
> ok 1184 no batch error
> ok 1185 no clear error
> ok 1186 no concat error
> ok 1187 correct number of entries
> ok 1188 should be deeply equivalent
> # db#clear() with gte after database end
> ok 1189 no open error
> ok 1190 no batch error
> ok 1191 no clear error
> ok 1192 no concat error
> ok 1193 correct number of entries
> ok 1194 should be deeply equivalent
> # db#clear() with gt after database end
> ok 1195 no open error
> ok 1196 no batch error
> ok 1197 no clear error
> ok 1198 no concat error
> ok 1199 correct number of entries
> ok 1200 should be deeply equivalent
> # db#clear() with lte after database end and reverse=true
> ok 1201 no open error
> ok 1202 no batch error
> ok 1203 no clear error
> ok 1204 no concat error
> ok 1205 correct number of entries
> ok 1206 should be deeply equivalent
> # db#clear() with lte and gte after database and reverse=true
> ok 1207 no open error
> ok 1208 no batch error
> ok 1209 no clear error
> ok 1210 no concat error
> ok 1211 correct number of entries
> ok 1212 should be deeply equivalent
> # db#clear() with lt and gt after database and reverse=true
> ok 1213 no open error
> ok 1214 no batch error
> ok 1215 no clear error
> ok 1216 no concat error
> ok 1217 correct number of entries
> ok 1218 should be deeply equivalent
> # tearDown
> # setUp common for approximate size
> # setUp db
> # test argument-less approximateSize() throws
> not ok 1219 no-arg approximateSize() throws
>   ---
>     operator: throws
>     expected: |-
>       { name: 'Error', message: 'approximateSize() requires valid `start`, `end` and `callback` arguments' }
>     actual: |-
>       { [Error: approximateSize() requires valid `start` and `end` arguments] message: 'approximateSize() requires valid `start` and `end` arguments' }
>     at: Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:14:5)
>     stack: |-
>       Error: approximateSize() requires valid `start` and `end` arguments
>           at LevelDOWN.approximateSize (/<<PKGBUILDDIR>>/leveldown.js:77:11)
>           at Test.throws (/usr/share/nodejs/tape/lib/test.js:629:9)
>           at Test.bound [as throws] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:14:5)
>           at Test.bound [as _cb] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.run (/usr/share/nodejs/tape/lib/test.js:114:31)
>           at Test.bound [as run] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Immediate.next [as _onImmediate] (/usr/share/nodejs/tape/lib/results.js:88:19)
>           at processImmediate (internal/timers.js:461:21)
>   ...
> # test callback-less, 1-arg, approximateSize() throws
> not ok 1220 callback-less, 1-arg approximateSize() throws
>   ---
>     operator: throws
>     expected: |-
>       { name: 'Error', message: 'approximateSize() requires valid `start`, `end` and `callback` arguments' }
>     actual: |-
>       { [Error: approximateSize() requires valid `start` and `end` arguments] message: 'approximateSize() requires valid `start` and `end` arguments' }
>     at: Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:23:5)
>     stack: |-
>       Error: approximateSize() requires valid `start` and `end` arguments
>           at LevelDOWN.approximateSize (/<<PKGBUILDDIR>>/leveldown.js:77:11)
>           at Test.throws (/usr/share/nodejs/tape/lib/test.js:629:9)
>           at Test.bound [as throws] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:23:5)
>           at Test.bound [as _cb] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.run (/usr/share/nodejs/tape/lib/test.js:114:31)
>           at Test.bound [as run] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Immediate.next [as _onImmediate] (/usr/share/nodejs/tape/lib/results.js:88:19)
>           at processImmediate (internal/timers.js:461:21)
>   ...
> # test callback-less, 2-arg, approximateSize() throws
> ok 1221 callback-less, 2-arg approximateSize() throws
> # test callback-less, 3-arg, approximateSize() throws
> not ok 1222 callback-only approximateSize() throws
>   ---
>     operator: throws
>     expected: |-
>       { name: 'Error', message: 'approximateSize() requires valid `start`, `end` and `callback` arguments' }
>     actual: |-
>       { [Error: approximateSize() requires valid `start` and `end` arguments] message: 'approximateSize() requires valid `start` and `end` arguments' }
>     at: Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:41:5)
>     stack: |-
>       Error: approximateSize() requires valid `start` and `end` arguments
>           at LevelDOWN.approximateSize (/<<PKGBUILDDIR>>/leveldown.js:77:11)
>           at Test.throws (/usr/share/nodejs/tape/lib/test.js:629:9)
>           at Test.bound [as throws] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:41:5)
>           at Test.bound [as _cb] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.run (/usr/share/nodejs/tape/lib/test.js:114:31)
>           at Test.bound [as run] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Immediate.next [as _onImmediate] (/usr/share/nodejs/tape/lib/results.js:88:19)
>           at processImmediate (internal/timers.js:461:21)
>   ...
> # test callback-only approximateSize() throws
> not ok 1223 callback-only approximateSize() throws
>   ---
>     operator: throws
>     expected: |-
>       { name: 'Error', message: 'approximateSize() requires valid `start`, `end` and `callback` arguments' }
>     actual: |-
>       { [Error: approximateSize() requires valid `start` and `end` arguments] message: 'approximateSize() requires valid `start` and `end` arguments' }
>     at: Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:50:5)
>     stack: |-
>       Error: approximateSize() requires valid `start` and `end` arguments
>           at LevelDOWN.approximateSize (/<<PKGBUILDDIR>>/leveldown.js:77:11)
>           at Test.throws (/usr/share/nodejs/tape/lib/test.js:629:9)
>           at Test.bound [as throws] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:50:5)
>           at Test.bound [as _cb] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.run (/usr/share/nodejs/tape/lib/test.js:114:31)
>           at Test.bound [as run] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Immediate.next [as _onImmediate] (/usr/share/nodejs/tape/lib/results.js:88:19)
>           at processImmediate (internal/timers.js:461:21)
>   ...
> # test 1-arg + callback approximateSize() throws
> not ok 1224 1-arg + callback approximateSize() throws
>   ---
>     operator: throws
>     expected: |-
>       { name: 'Error', message: 'approximateSize() requires valid `start`, `end` and `callback` arguments' }
>     actual: |-
>       { [Error: approximateSize() requires valid `start` and `end` arguments] message: 'approximateSize() requires valid `start` and `end` arguments' }
>     at: Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:59:5)
>     stack: |-
>       Error: approximateSize() requires valid `start` and `end` arguments
>           at LevelDOWN.approximateSize (/<<PKGBUILDDIR>>/leveldown.js:77:11)
>           at Test.throws (/usr/share/nodejs/tape/lib/test.js:629:9)
>           at Test.bound [as throws] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.<anonymous> (/<<PKGBUILDDIR>>/test/approximate-size-test.js:59:5)
>           at Test.bound [as _cb] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Test.run (/usr/share/nodejs/tape/lib/test.js:114:31)
>           at Test.bound [as run] (/usr/share/nodejs/tape/lib/test.js:96:32)
>           at Immediate.next [as _onImmediate] (/usr/share/nodejs/tape/lib/results.js:88:19)
>           at processImmediate (internal/timers.js:461:21)
>   ...
> # test custom _serialize*
> ok 1225 should be deeply equivalent
> ok 1226 should be deeply equivalent
> ok 1227 undefined
> ok 1228 undefined
> # test approximateSize()
> ok 1229 null
> ok 1230 undefined
> ok 1231 undefined
> ok 1232 null
> ok 1233 should be strictly equal
> ok 1234 size reports a reasonable amount (47726)
> # tearDown
> # chained batch without ref does not get GCed before write
> ok 1235 no open error
> ok 1236 no error from write()
> # test ended iterator
> ok 1237 no error from open()
> ok 1238 no error from batch()
> ok 1239 no error from next()
> ok 1240 correct key
> ok 1241 correct value
> ok 1242 no error from end()
> ok 1243 no error from done()
> ok 1244 no error from close()
> # test likely-ended iterator
> ok 1245 no error from open()
> ok 1246 no error from batch()
> ok 1247 no error from next()
> ok 1248 correct key
> ok 1249 correct value
> ok 1250 no error from done()
> ok 1251 no error from close()
> # test non-ended iterator
> ok 1252 no error from open()
> ok 1253 no error from batch()
> ok 1254 no error from next()
> ok 1255 correct key
> ok 1256 correct value
> ok 1257 no error from done()
> ok 1258 no error from close()
> # test multiple likely-ended iterators
> ok 1259 no error from open()
> ok 1260 no error from batch()
> ok 1261 no error from done()
> ok 1262 no error from close()
> # test multiple non-ended iterators
> ok 1263 no error from open()
> ok 1264 no error from batch()
> ok 1265 no error from done()
> ok 1266 no error from close()
> # test ending iterators
> ok 1267 no error from open()
> ok 1268 no error from batch()
> ok 1269 no error from done()
> ok 1270 no error from close()
> # setUp common
> # setUp db
> # test compactRange() frees disk space after key deletion
> ok 1271 no batch put error
> ok 1272 no compactRange1 error
> ok 1273 no approximateSize1 error
> ok 1274 no batch del error
> ok 1275 no compactRange2 error
> ok 1276 no approximateSize2 error
> ok 1277 should be truthy
> # test compactRange() serializes start and end
> ok 1278 should be strictly equal
> ok 1279 should be strictly equal
> ok 1280 no compactRange error
> # tearDown
> # compression
> # set up
> # test data is compressed by default (db.put())
> ok 1281 undefined
> ok 1282 undefined
> ok 1283 undefined
> ok 1284 undefined
> ok 1285 null
> ok 1286 on-disk size (487209) is less than data size (10240000)
> # test data is not compressed with compression=false on open() (db.put())
> ok 1287 undefined
> ok 1288 undefined
> ok 1289 undefined
> ok 1290 undefined
> ok 1291 null
> ok 1292 on-disk size (10265960) is greater than data size (10240000)
> # test data is compressed by default (db.batch())
> ok 1293 undefined
> ok 1294 undefined
> ok 1295 undefined
> ok 1296 undefined
> ok 1297 null
> ok 1298 on-disk size (486644) is less than data size (10240000)
> # test argument-less destroy() throws
> ok 1299 no-arg destroy() throws
> # test callback-less, 1-arg, destroy() throws
> ok 1300 callback-less, 1-arg destroy() throws
> # test destroy non-existent directory
> ok 1301 parent exists before
> ok 1302 no error from rimraf()
> ok 1303 no error
> ok 1304 directory does not exist after
> # test destroy non-existent parent directory
> ok 1305 parent does not exist before
> ok 1306 no error
> ok 1307 directory does not exist after
> # test destroy non leveldb directory
> ok 1308 no error from makeTemp()
> ok 1309 no error from destroy()
> ok 1310 no error from readfiletree()
> ok 1311 directory remains untouched
> ok 1312 no error from cleanup()
> # test destroy() cleans and removes leveldb-only dir
> ok 1313 no error from open()
> ok 1314 no error from batch()
> ok 1315 no error from close()
> ok 1316 no error from destroy()
> ok 1317 directory completely removed
> ok 1318 no error from done()
> # test destroy() cleans and removes only leveldb parts of a dir
> ok 1319 no error from open()
> ok 1320 no error from batch()
> ok 1321 no error from close()
> ok 1322 no error from destroy()
> ok 1323 no error from readfiletree()
> ok 1324 non-leveldb files left intact
> ok 1325 no error from done()
> # empty range options are ignored
> # setup
> ok 1326 no open error
> # start
> ok 1327 no concat error
> ok 1328 should be deeply equivalent
> ok 1329 no concat error
> ok 1330 should be deeply equivalent
> ok 1331 no concat error
> ok 1332 should be deeply equivalent
> ok 1333 no concat error
> ok 1334 should be deeply equivalent
> # end
> ok 1335 no concat error
> ok 1336 should be deeply equivalent
> ok 1337 no concat error
> ok 1338 should be deeply equivalent
> ok 1339 no concat error
> ok 1340 should be deeply equivalent
> ok 1341 no concat error
> ok 1342 should be deeply equivalent
> # gt
> ok 1343 no concat error
> ok 1344 should be deeply equivalent
> ok 1345 no concat error
> ok 1346 should be deeply equivalent
> ok 1347 no concat error
> ok 1348 should be deeply equivalent
> ok 1349 no concat error
> ok 1350 should be deeply equivalent
> # gte
> ok 1351 no concat error
> ok 1352 should be deeply equivalent
> ok 1353 no concat error
> ok 1354 should be deeply equivalent
> ok 1355 no concat error
> ok 1356 should be deeply equivalent
> ok 1357 no concat error
> ok 1358 should be deeply equivalent
> # lt
> ok 1359 no concat error
> ok 1360 should be deeply equivalent
> ok 1361 no concat error
> ok 1362 should be deeply equivalent
> ok 1363 no concat error
> ok 1364 should be deeply equivalent
> ok 1365 no concat error
> ok 1366 should be deeply equivalent
> # lte
> ok 1367 no concat error
> ok 1368 should be deeply equivalent
> ok 1369 no concat error
> ok 1370 should be deeply equivalent
> ok 1371 no concat error
> ok 1372 should be deeply equivalent
> ok 1373 no concat error
> ok 1374 should be deeply equivalent
> # teardown
> # setUp common
> # setUp db
> # test argument-less getProperty() throws
> ok 1375 no-arg getProperty() throws
> # test non-string getProperty() throws
> ok 1376 no-arg getProperty() throws
> # test invalid getProperty() returns empty string
> ok 1377 invalid property
> ok 1378 invalid leveldb.* property
> # test invalid getProperty("leveldb.num-files-at-levelN") returns numbers
> ok 1379 "leveldb.num-files-at-levelN" === "0"
> ok 1380 "leveldb.num-files-at-levelN" === "0"
> ok 1381 "leveldb.num-files-at-levelN" === "0"
> ok 1382 "leveldb.num-files-at-levelN" === "0"
> ok 1383 "leveldb.num-files-at-levelN" === "0"
> ok 1384 "leveldb.num-files-at-levelN" === "0"
> ok 1385 "leveldb.num-files-at-levelN" === "0"
> # test invalid getProperty("leveldb.stats")
> ok 1386 leveldb.stats has > 3 newlines
> # test invalid getProperty("leveldb.sstables")
> ok 1387 leveldb.sstables
> # tearDown
> # setUp
> # db without ref does not get GCed while iterating
> ok 1388 no open error
> ok 1389 no batch error
> ok 1390 no iterator error
> ok 1391 got data
> ok 1392 abstract iterator has reference to db
> ok 1393 no close error
> # tearDown
> # setUp common
> # try to create an iterator with a blown stack
> ok 1394 Catchable error at depth 1441
> ok 1395 child exited normally
> # setUp db
> ok 1396 undefined
> # iterate over a large iterator with a large watermark
> # tearDown
> # setUp
> # iterator does not starve event loop
> ok 1397 no open error
> ok 1398 no batch error
> ok 1399 no next error
> ok 1400 got all data
> ok 1401 breathed while iterating
> ok 1402 no close error
> # iterator with seeks does not starve event loop
> ok 1403 no open error
> ok 1404 no batch error
> ok 1405 no next error
> ok 1406 got all data
> ok 1407 breathed while iterating
> ok 1408 no close error
> # tearDown
> # iterator#seek throws if target is empty
> ok 1409 no error from open()
> ok 1410 no error from batch()
> ok 1411 got error
> ok 1412 got error
> ok 1413 got error
> ok 1414 no error from end()
> ok 1415 no error from end()
> ok 1416 no error from end()
> ok 1417 no error from done()
> ok 1418 no error from close()
> # iterator optimized for seek
> ok 1419 no error from open()
> ok 1420 no error from batch()
> ok 1421 no error from batch()
> ok 1422 no error from next()
> ok 1423 key matches
> ok 1424 no cache
> ok 1425 no error from next()
> ok 1426 key matches
> ok 1427 has cached items
> ok 1428 cache is removed
> ok 1429 no error from next()
> ok 1430 key matches
> ok 1431 no cache
> ok 1432 no error from next()
> ok 1433 key matches
> ok 1434 has cached items
> ok 1435 no error from done()
> ok 1436 no error from close()
> # close db with open iterator
> ok 1437 no error from open()
> ok 1438 no error from batch()
> ok 1439 no error from next()
> ok 1440 should be strictly equal
> ok 1441 no error from close()
> ok 1442 should be truthy
> ok 1443 no error from done()
> # test database creation non-string location throws
> ok 1444 non-string location leveldown() throws
> # test argument-less repair() throws
> ok 1445 no-arg repair() throws
> # test callback-less, 1-arg, repair() throws
> ok 1446 callback-less, 1-arg repair() throws
> # test repair non-existent directory returns error
> ok 1447 error on callback
> # test repair() compacts
> ok 1448 no error from open()
> ok 1449 no error from batch()
> ok 1450 no error from close()
> ok 1451 directory contains log file(s)
> ok 1452 directory does not contain ldb file(s)
> ok 1453 no error from repair()
> ok 1454 directory does not contain log file(s)
> ok 1455 directory contains ldb file(s)
> ok 1456 no error from done()
> # close() waits for pending get()
> ok 1457 no error from open()
> ok 1458 no error from put()
> ok 1459 no error from operation
> ok 1460 no error from close()
> ok 1461 operation(s) finished before close
> # close() waits for pending put()
> ok 1462 no error from open()
> ok 1463 no error from put()
> ok 1464 no error from operation
> ok 1465 no error from close()
> ok 1466 operation(s) finished before close
> # close() waits for pending put() with { sync }
> ok 1467 no error from open()
> ok 1468 no error from put()
> ok 1469 no error from operation
> ok 1470 no error from close()
> ok 1471 operation(s) finished before close
> # close() waits for pending del()
> ok 1472 no error from open()
> ok 1473 no error from put()
> ok 1474 no error from operation
> ok 1475 no error from close()
> ok 1476 operation(s) finished before close
> # close() waits for pending del() with { sync }
> ok 1477 no error from open()
> ok 1478 no error from put()
> ok 1479 no error from operation
> ok 1480 no error from close()
> ok 1481 operation(s) finished before close
> # close() waits for pending batch([])
> ok 1482 no error from open()
> ok 1483 no error from put()
> ok 1484 no error from operation
> ok 1485 no error from close()
> ok 1486 operation(s) finished before close
> # close() waits for pending batch([]) with { sync }
> ok 1487 no error from open()
> ok 1488 no error from put()
> ok 1489 no error from operation
> ok 1490 no error from close()
> ok 1491 operation(s) finished before close
> # close() waits for pending batch()
> ok 1492 no error from open()
> ok 1493 no error from put()
> ok 1494 no error from operation
> ok 1495 no error from close()
> ok 1496 operation(s) finished before close
> # close() waits for pending batch() with { sync }
> ok 1497 no error from open()
> ok 1498 no error from put()
> ok 1499 no error from operation
> ok 1500 no error from close()
> ok 1501 operation(s) finished before close
> # close() waits for pending approximateSize()
> ok 1502 no error from open()
> ok 1503 no error from put()
> ok 1504 no error from operation
> ok 1505 no error from close()
> ok 1506 operation(s) finished before close
> # close() waits for pending compactRange()
> ok 1507 no error from open()
> ok 1508 no error from put()
> ok 1509 no error from operation
> ok 1510 no error from close()
> ok 1511 operation(s) finished before close
> # close() waits for pending operations
> ok 1512 no error from open()
> ok 1513 no error from put()
> ok 1514 no error from operation
> ok 1515 no error from operation
> ok 1516 no error from operation
> ok 1517 no error from operation
> ok 1518 no error from operation
> ok 1519 no error from operation
> ok 1520 no error from operation
> ok 1521 no error from operation
> ok 1522 no error from operation
> ok 1523 no error from operation
> ok 1524 no error from operation
> ok 1525 no error from close()
> ok 1526 operation(s) finished before close
> # iterator() does not segfault if db is not open
> ok 1527 should be strictly equal
> ok 1528 no close error
> 
> 1..1528
> # tests 1528
> # pass  1523
> # fail  5
> 
> dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 1


The full build log is available from:
http://qa-logs.debian.net/2021/10/23/node-leveldown_5.6.0+dfsg-1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the Pkg-javascript-devel mailing list