oss-list-contracts.php
bucket=jnc-main-cd prefix=6p40qjry/sucai/
✅ listObjects 没有 fail-closed 返回 false
✅ listObjects 返回 array
✅ listObjects 命中对象数 > 0(实测 2800)
✅ listObjects 元素类型严格等于 [string]
✅ listObjectsDetailed 没有 fail-closed 返回 false
✅ listObjectsDetailed 命中对象数 > 0(实测 2800)
✅ 两条实现对同一前缀数出来的对象数严格相等
✅ listObjectsDetailed 每条的字段集合严格相等
✅ listObjectsDetailed 的 key 是非空字符串
✅ 两者返回结构确实不同(string[] vs array[]),不可互相顶替
✅ copyObject 对不存在的源返回 false(fail-closed)
✅ copyObject 确实写出了它的失败日志(证明调用真的走到了)
✅ 日志里是 NoSuchKey —— 签名通过了,只是源不存在
✅ 日志里没有 403 / SignatureDoesNotMatch —— 带 x-oss-storage-class 头没把签名弄坏
✅ copyObject 失败时没有产生任何目标对象
PASS=15 FAIL=0