All of lore.kernel.org
 help / color / mirror / Atom feed
* [wic][PATCH v2 0/4] oe/path: three fixes plus unit coverage
@ 2026-07-24 11:50 Trevor Woerner
  2026-07-24 11:50 ` [wic][PATCH v2 1/4] oe/path: fix bare `false` NameError in __realpath's isdir guard Trevor Woerner
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Trevor Woerner @ 2026-07-24 11:50 UTC (permalink / raw)
  To: yocto-patches

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.

These same three fixes and their equivalent selftest coverage have now
landed in OE-core (meta/lib/oe/path.py and oeqa/selftest/liboe.py),
where oe/path.py originates. wic vendors a copy of that module; this
series keeps the vendored copy from diverging by carrying the identical
fixes, with the coverage expressed as wic's own pytest suite.

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 | 378 +++++++++++++++++++++++++++++++++++++
 2 files changed, 396 insertions(+), 3 deletions(-)
 create mode 100644 tests/unit/test_oe_path.py

-- 
2.50.0.173.g8b6f19ccfc3a



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-24 15:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-24 11:50 [wic][PATCH v2 0/4] oe/path: three fixes plus unit coverage Trevor Woerner
2026-07-24 11:50 ` [wic][PATCH v2 1/4] oe/path: fix bare `false` NameError in __realpath's isdir guard Trevor Woerner
2026-07-24 11:50 ` [wic][PATCH v2 2/4] oe/path: don't glob-expand the destination in symlink(force=True) Trevor Woerner
2026-07-24 11:50 ` [wic][PATCH v2 3/4] oe/path: canonicalize('') should return '' rather than the cwd Trevor Woerner
2026-07-24 11:50 ` [wic][PATCH v2 4/4] tests/unit/test_oe_path: cover oe/path's own path logic Trevor Woerner
2026-07-24 15:04 ` [yocto-patches] [wic][PATCH v2 0/4] oe/path: three fixes plus unit coverage Paul Barker

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.