[libcxx-commits] [PATCH] D76785: [libc++] Set filesystem test flags in a lit.local.cfg

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 25 10:48:13 PDT 2020


ldionne updated this revision to Diff 252623.
ldionne added a comment.

Make sure we don't modify the cxx compiler flags globally


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76785/new/

https://reviews.llvm.org/D76785

Files:
  libcxx/test/std/input.output/filesystems/lit.local.cfg
  libcxx/utils/libcxx/test/config.py


Index: libcxx/utils/libcxx/test/config.py
===================================================================
--- libcxx/utils/libcxx/test/config.py
+++ libcxx/utils/libcxx/test/config.py
@@ -140,7 +140,6 @@
         self.configure_execute_external()
         self.configure_ccache()
         self.configure_compile_flags()
-        self.configure_filesystem_compile_flags()
         self.configure_link_flags()
         self.configure_env()
         self.configure_color_diagnostics()
@@ -724,21 +723,6 @@
           self.config.available_features.add('libcpp-abi-unstable')
           self.cxx.compile_flags += ['-D_LIBCPP_ABI_UNSTABLE']
 
-    def configure_filesystem_compile_flags(self):
-        static_env = os.path.join(self.libcxx_src_root, 'test', 'std',
-                                  'input.output', 'filesystems', 'Inputs', 'static_test_env')
-        static_env = os.path.realpath(static_env)
-        assert os.path.isdir(static_env)
-        self.cxx.compile_flags += ['-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="%s"' % static_env]
-
-        dynamic_helper = os.path.join(self.libcxx_src_root, 'test', 'support',
-                                      'filesystem_dynamic_test_helper.py')
-        assert os.path.isfile(dynamic_helper)
-
-        self.cxx.compile_flags += ['-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="%s %s"'
-                                   % (sys.executable, dynamic_helper)]
-
-
     def configure_link_flags(self):
         # Configure library path
         self.configure_link_flags_cxx_library_path()
Index: libcxx/test/std/input.output/filesystems/lit.local.cfg
===================================================================
--- libcxx/test/std/input.output/filesystems/lit.local.cfg
+++ libcxx/test/std/input.output/filesystems/lit.local.cfg
@@ -1,5 +1,24 @@
+import copy
+import os
+import sys
+
 # Disable all of the filesystem tests if the dylib under test doesn't support them.
 if 'dylib-has-no-filesystem' in config.available_features:
   config.unsupported = True
 if 'c++filesystem-disabled' in config.available_features:
   config.unsupported = True
+
+config.test_format.cxx = copy.deepcopy(config.test_format.cxx)
+
+inputs = os.path.join(os.path.dirname(__file__), 'Inputs', 'static_test_env')
+config.test_format.cxx.compile_flags += ['-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="{}"'.format(inputs)]
+
+dynamic_env = os.path.join(config.test_exec_root, 'filesystem', 'Output', 'dynamic_env')
+dynamic_env = os.path.realpath(dynamic_env)
+if not os.path.isdir(dynamic_env):
+    os.makedirs(dynamic_env)
+config.test_format.cxx.compile_flags += ['-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="{}"'.format(dynamic_env)]
+
+dynamic_helper = os.path.join(config.test_source_root, 'support', 'filesystem_dynamic_test_helper.py')
+assert os.path.isfile(dynamic_helper)
+config.test_format.cxx.compile_flags += ['-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="{} {}"'.format(sys.executable, dynamic_helper)]


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76785.252623.patch
Type: text/x-patch
Size: 2943 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200325/0387255b/attachment-0001.bin>


More information about the libcxx-commits mailing list