* test: add s3 integration tests for SQLite Cloud Backed Storage (#12235)
SQLite CBS stores a database as named objects in a bucket and relies on
conditional PUT — put-if-absent for new blocks and ETag compare-and-swap
on the manifest — so concurrent clients cannot corrupt the database.
The suite runs a weed mini cluster (conditions are evaluated under the
object's write lock on the owner filer via the routed-write path) and
covers:
- the CBS storage primitives: create/put/fetch/list/delete/destroy
- If-None-Match: * put-if-absent, success and 412 rejection
- If-Match ETag compare-and-swap, including stale-ETag rejection and
the re-read/retry loop CBS clients run on 412, on plain and
versioned buckets
- racing put-if-absent and manifest CAS writers: exactly one commit
wins, every update survives
- conditional CompleteMultipartUpload, sequential and raced
- an end-to-end bcv-style upload, download-and-verify, and checkpoint
A matching job is added to the S3 mutation regression workflow.
* test/s3: drop issue references from the sqlite cbs suite comments
* test/s3: abort every losing upload after the conditional multipart race
* test/s3: assert the winning writer's body after the conditional write races
* test/s3: spell out the get-returned etag in the cbs suite
* test/s3: assert the completed multipart ETag the cbs suite feeds back
The conditional-completion checks pass completeOut.ETag into If-Match;
if the response carried no ETag the check would silently run
unconditional.
* test/s3: drop the unused generation parameter from the cbs block body