Skip to content

Test infrastructure: files.list conformance check uploads nested names - #1195

Merged
sophiecarreras merged 1 commit into
masterfrom
sdkharness/files-list-nested-name
Nov 2, 2026
Merged

sophiecarreras merged 1 commit into
masterfrom
sdkharness/files-list-nested-name

Conversation

@sophiecarreras

Copy link
Copy Markdown
Contributor

The repository-owned files.list conformance check could not tell whether ls --recursive was honoured: with flat names a CLI that ignores the option sends the same requests and the check still passed.

  • The check now also uploads list/sub/d.txt and list/sub/e.txt.
  • The recursive listing must contain both; a plain (non-recursive) ls must return the three top-level names plus the folder entry list/sub/ (read as plain text, because --json prints a folder as its first file).

Verified at the pinned B2 simulator: the real CLI 5.0.2 passes; a mutant where ls ignores --recursive fails; a mutant where ls is always recursive fails; the old check passed the ignore-option mutant. Test infrastructure only: no change to the CLI's behaviour.

🤖 Generated with Claude Code

…res ls --recursive

The check uploaded only flat names, so `ls --recursive` and `ls` returned the
same listing and a CLI that ignored the option still passed. Upload a nested
name (list/sub/d.txt): the recursive listing must contain it, and the listing
without --recursive must collapse it into the folder entry list/sub/.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

@sophiecarreras sophiecarreras left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: changes only .sdkharness/tests/conformance-file-lifecycle.py and a changelog.d fragment. The files.list check now uploads two nested names and asserts that 'ls' without --recursive collapses them into one folder entry (top-level names plus list/sub/), while the recursive listing still returns all names; the versions check correctly moves to top_level[-1]. Logic is sound. The first run had two failures unrelated to the diff: test-docker test_rm_b2id (500 internal_error 'internal incident' from the B2 service) and macos test_sync_up (socket.gaierror name resolution); unit suites passed. One rerun of the failed jobs is now fully green. Merging normally.

@sophiecarreras
sophiecarreras merged commit 18b37ef into master Nov 2, 2026
61 of 63 checks passed
@sophiecarreras
sophiecarreras deleted the sdkharness/files-list-nested-name branch November 2, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant