jw-pkg/test/unit/python/jw/pkg/lib/ec
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jan Lindemann 0c732672ed
lib.FileContext: Add readdir() method
FileContext offers get(), put(), unlink(), mkdir(), and stat(), but no way
to list the entries of a directory, so consumers that need the names of the
entries under a path in a context have no portable means to obtain them.

Add readdir(), returning Iterable[str], following the _readdir() ->
readdir() pattern used by the other operations: the public method chroots
the path via _chroot() and delegates to the _readdir() hook, which raises
NotImplementedError by default.

Implement _readdir() in the context families:

- Local._readdir(): os.listdir()
- ExecContext._readdir(): runs ls -1A and splits the output into one entry
  per line; inherited by SSHClient and the other command-based contexts
- Curl._readdir(): raises OSError with errno.ENOSYS

Add unit tests covering Local (listing, hidden entries, missing directory)
and Curl (ENOSYS).

Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.87.1
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-09-29 15:29:19 +02:00
..
Curl lib.FileContext: Add readdir() method 2026-09-29 15:29:19 +02:00
Local lib.FileContext: Add readdir() method 2026-09-29 15:29:19 +02:00
ssh lib.ec.ssh.Exec: Fix askpass script 2026-09-14 20:32:14 +02:00
Makefile lib.ec.ssh.Exec: Fix askpass script 2026-09-14 20:32:14 +02:00