[libunwind] r361931 - [libunwind] [test] Fix inferring source paths

Michal Gorny via cfe-commits cfe-commits at lists.llvm.org
Wed May 29 00:20:30 PDT 2019

Author: mgorny
Date: Wed May 29 00:20:30 2019
New Revision: 361931

URL: http://llvm.org/viewvc/llvm-project?rev=361931&view=rev
[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

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


Modified: libunwind/trunk/test/libunwind/test/config.py
URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/test/libunwind/test/config.py?rev=361931&r1=361930&r2=361931&view=diff
--- libunwind/trunk/test/libunwind/test/config.py (original)
+++ libunwind/trunk/test/libunwind/test/config.py Wed May 29 00:20:30 2019
@@ -21,12 +21,10 @@ class Configuration(LibcxxConfiguration)
         self.libcxx_src_root = None
     def configure_src_root(self):
-        self.libunwind_src_root = self.get_lit_conf(
-            'libunwind_src_root',
-            os.path.dirname(self.config.test_source_root))
-        self.libcxx_src_root = self.get_lit_conf(
-            'libcxx_src_root',
-            os.path.join(self.libunwind_src_root, '/../libcxx'))
+        self.libunwind_src_root = (self.get_lit_conf('libunwind_src_root')
+            or os.path.dirname(self.config.test_source_root))
+        self.libcxx_src_root = (self.get_lit_conf('libcxx_src_root')
+            or os.path.join(self.libunwind_src_root, '..', 'libcxx'))
     def configure_obj_root(self):
         self.libunwind_obj_root = self.get_lit_conf('libunwind_obj_root')

More information about the cfe-commits mailing list