tree 7eaa6767144c541b6c938e97685d25fbbf5c6d14
parent 95d024dd9369991c83250c193548e65bf53e7bf7
author Michal Gorny <mgorny@gentoo.org> 1559114430 +0000
committer Copybara-Service <copybara-worker@google.com> 1598638388 -0700

[libunwind] [test] Fix inferring source paths

Fix two issues that caused libcxx source path not to be inferred
correctly when not specified explicitly:

1. get_lit_conf() uses default value only if the lit variable is set
   to None.  Due to the mehod of substituting lit.site.cfg, they were
   "" rather than None when unset, effectively causing the default never
   to apply.  Instead, use 'or' construct to use the default whenever
   get_lit_conf() returns a false value.

2. If os.path.join() is given a component starting with '/', it takes
   it to be an absolute path and ignores everything preceding it.
   Remove the slash to correctly append subdirectory.

With these two fixes, libunwind tests start working on NetBSD buildbot
again.

Differential Revision: https://reviews.llvm.org/D62005

llvm-svn: 361931
GitOrigin-RevId: e04b002cf89014592b3603bb9af9f74a01626771
