From: Trevor Woerner <twoerner@gmail.com>
To: yocto-patches@lists.yoctoproject.org
Subject: [wic][PATCH 0/4] oe/path: three fixes plus unit coverage
Date: Thu, 9 Jul 2026 16:52:23 -0400 [thread overview]
Message-ID: <20260709205227.3470712-1-twoerner@gmail.com> (raw)
This series continues the standalone unit-test work, this time over
oe/path.py. It follows the same shape the suite settled on: each
source fix is its own standalone commit, and the green test module
lands last, so the suite passes at every commit.
Three fixes come first, each independent of the others:
- __realpath's isdir guard assigns a bare `false`, which is not a
Python name; when os.path.isdir() raises, the handler meant to
absorb the error raises NameError instead. Use the builtin False.
- symlink(force=True) cleared the destination through remove(), which
globs its argument; a destination containing glob metacharacters
could fail to match itself or match unrelated files. Remove the
literal destination instead.
- canonicalize('') and canonicalize(None) returned the current
working directory, because os.path.realpath('') does; a stray
separator injected a spurious cwd entry too. Skip empty tokens.
The final commit adds tests/unit/test_oe_path.py, covering oe/path's
own logic (join, is_path_parent, symlink, make_relative_symlink,
canonicalize, which_wild, realpath) and locking in the three fixes.
Backing any fix out turns the matching test red. The suite is green
and ruff-clean, and the series passes oe-core's wic oe-selftest with
no regressions.
Trevor Woerner (4):
oe/path: fix bare `false` NameError in __realpath's isdir guard
oe/path: don't glob-expand the destination in symlink(force=True)
oe/path: canonicalize('') should return '' rather than the cwd
tests/unit/test_oe_path: cover oe/path's own path logic
src/wic/oe/path.py | 21 ++-
tests/unit/test_oe_path.py | 298 +++++++++++++++++++++++++++++++++++++
2 files changed, 316 insertions(+), 3 deletions(-)
create mode 100644 tests/unit/test_oe_path.py
--
2.50.0.173.g8b6f19ccfc3a
next reply other threads:[~2026-07-09 20:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-09 20:52 Trevor Woerner [this message]
2026-07-09 20:52 ` [wic][PATCH 1/4] oe/path: fix bare `false` NameError in __realpath's isdir guard Trevor Woerner
2026-07-09 20:52 ` [wic][PATCH 2/4] oe/path: don't glob-expand the destination in symlink(force=True) Trevor Woerner
2026-07-09 20:52 ` [wic][PATCH 3/4] oe/path: canonicalize('') should return '' rather than the cwd Trevor Woerner
2026-07-09 20:52 ` [wic][PATCH 4/4] tests/unit/test_oe_path: cover oe/path's own path logic Trevor Woerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260709205227.3470712-1-twoerner@gmail.com \
--to=twoerner@gmail.com \
--cc=yocto-patches@lists.yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.