Re: [yocto-patches] [wic][PATCH v2 0/4] oe/path: three fixes plus unit coverage
Trevor Woerner <[email protected]> Thu, 30 Jul 2026 07:55:17 -0400
| Newsgroups | org.yoctoproject.lists.yocto-patches |
|---|---|
| Message-ID | <[email protected]> |
On Fri 2026-07-24 @ 04:04:55 PM, Paul Barker via lists.yoctoproject.org wrote:
> On Fri, 2026-07-24 at 07:50 -0400, Trevor Woerner via
> lists.yoctoproject.org wrote:
> > 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
>
> LGTM, assuming these are direct copies of what was added to OE-core.
Almost. The 3 "fix" patches are identical, but the unit test patch is
different because wic uses pytest and oe-core uses unittest. The test
coverage and what is tested are the same between them, just expressed
differently depending on the test framework.
> Best regards,
>
> --
> Paul Barker
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#4537): https://lists.yoctoproject.org/g/yocto-patches/message/4537
> Mute This Topic: https://lists.yoctoproject.org/mt/120424183/900817
> Group Owner: [email protected]
> Unsubscribe: https://lists.yoctoproject.org/g/yocto-patches/leave/13168745/900817/63955952/xyzzy [[email protected]]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>