[libcxx-commits] [PATCH] D98045: [libcxx] [test] Move the is_<platform> functions down to subclasses

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Mar 5 07:33:33 PST 2021

mstorsjo created this revision.
Herald added a subscriber: arichardson.
mstorsjo requested review of this revision.
Herald added a project: libc++.
Herald added a reviewer: libc++.

If cross testing (and manually specifying a LIBCXX_TARGET_INFO in the
cmake configuration, as the default is to match the build platform),
we want the accessors for querying the target platform, is_windows,
is_darwin, to return the right value depending on which target info
class is used, not based on what platform is running the build and
driving the tests.

When LIBCXX_TARGET_INFO isn't defined, the right target info class
is chosen automatically based on the platform one is running on, so
this shouldn't make any practical difference for such setups.

  rG LLVM Github Monorepo



Index: libcxx/utils/libcxx/test/target_info.py
--- libcxx/utils/libcxx/test/target_info.py
+++ libcxx/utils/libcxx/test/target_info.py
@@ -25,13 +25,13 @@
         return sys.platform.lower().strip()
     def is_windows(self):
-        return self.platform() == 'win32'
+        return False
     def is_mingw(self):
         return False
     def is_darwin(self):
-        return self.platform() == 'darwin'
+        return False
     def add_cxx_flags(self, flags): pass
     def add_cxx_compile_flags(self, flags): pass
@@ -53,6 +53,9 @@
     def __init__(self, full_config):
         super(DarwinLocalTI, self).__init__(full_config)
+    def is_darwin(self):
+        return True
     def is_host_macosx(self):
         name = lit.util.to_string(subprocess.check_output(['sw_vers', '-productName'])).strip()
         return name == "Mac OS X"
@@ -187,6 +190,9 @@
     def __init__(self, full_config):
         super(WindowsLocalTI, self).__init__(full_config)
+    def is_windows(self):
+        return True
 class MingwLocalTI(WindowsLocalTI):
     def __init__(self, full_config):
         super(MingwLocalTI, self).__init__(full_config)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98045.328525.patch
Type: text/x-patch
Size: 1228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210305/005d94f3/attachment.bin>

More information about the libcxx-commits mailing list