diff --git a/sycl/test/lit.cfg.py b/sycl/test/lit.cfg.py index d8dd5611d9f8a..b41a369aa90f6 100644 --- a/sycl/test/lit.cfg.py +++ b/sycl/test/lit.cfg.py @@ -35,9 +35,23 @@ # test_exec_root: The root path where tests should be run. config.test_exec_root = os.path.join(config.sycl_obj_root, 'test') +llvm_config.use_clang() + # Propagate some variables from the host environment. llvm_config.with_system_environment(['PATH', 'OCL_ICD_FILENAMES', 'SYCL_DEVICE_ALLOWLIST', 'SYCL_CONFIG_FILE_NAME']) +# Propagate extra environment variables +if config.extra_environment: + lit_config.note("Extra environment variables") + for env_pair in config.extra_environment.split(','): + [var,val]=env_pair.split("=") + if val: + llvm_config.with_environment(var,val) + lit_config.note("\t"+var+"="+val) + else: + lit_config.note("\tUnset "+var) + llvm_config.with_environment(var,"") + # Configure LD_LIBRARY_PATH or corresponding os-specific alternatives # Add 'libcxx' feature to filter out all SYCL abi tests when SYCL runtime # is built with llvm libcxx. This feature is added for Linux only since MSVC @@ -76,8 +90,6 @@ config.substitutions.append( ('%llvm_build_lib_dir', config.llvm_build_lib_dir ) ) config.substitutions.append( ('%llvm_build_bin_dir', config.llvm_build_bin_dir ) ) -llvm_config.use_clang() - llvm_config.add_tool_substitutions(['llvm-spirv'], [config.sycl_tools_dir]) config.substitutions.append( ('%RUN_ON_HOST', "env SYCL_DEVICE_FILTER=host ") ) diff --git a/sycl/test/lit.site.cfg.py.in b/sycl/test/lit.site.cfg.py.in index ab9ded98c23a6..dcd7b25678c1e 100644 --- a/sycl/test/lit.site.cfg.py.in +++ b/sycl/test/lit.site.cfg.py.in @@ -23,6 +23,7 @@ config.llvm_enable_projects = "@LLVM_ENABLE_PROJECTS@" config.sycl_threads_lib = '@SYCL_THREADS_LIB@' config.sycl_use_libcxx = '@SYCL_USE_LIBCXX@' +config.extra_environment = lit_config.params.get("extra_environment", "@LIT_EXTRA_ENVIRONMENT@") import lit.llvm lit.llvm.initialize(lit_config, config) diff --git a/sycl/test/on-device/lit.cfg.py b/sycl/test/on-device/lit.cfg.py index 46cc06a40c8ee..85b52407a2c18 100644 --- a/sycl/test/on-device/lit.cfg.py +++ b/sycl/test/on-device/lit.cfg.py @@ -40,6 +40,18 @@ # Propagate some variables from the host environment. llvm_config.with_system_environment(['PATH', 'OCL_ICD_FILENAMES', 'SYCL_DEVICE_ALLOWLIST', 'SYCL_CONFIG_FILE_NAME']) +# Propagate extra environment variables +if config.extra_environment: + lit_config.note("Extra environment variables") + for env_pair in config.extra_environment.split(','): + [var,val]=env_pair.split("=") + if val: + llvm_config.with_environment(var,val) + lit_config.note("\t"+var+"="+val) + else: + lit_config.note("\tUnset "+var) + llvm_config.with_environment(var,"") + # Configure LD_LIBRARY_PATH or corresponding os-specific alternatives if platform.system() == "Linux": config.available_features.add('linux') diff --git a/sycl/test/on-device/lit.site.cfg.py.in b/sycl/test/on-device/lit.site.cfg.py.in index 347dc1f3e6e7c..8c5c7defa8e53 100644 --- a/sycl/test/on-device/lit.site.cfg.py.in +++ b/sycl/test/on-device/lit.site.cfg.py.in @@ -25,6 +25,7 @@ config.level_zero_include_dir = lit_config.params.get('LEVEL_ZERO_INCLUDE_DIR', config.llvm_enable_projects = "@LLVM_ENABLE_PROJECTS@" config.sycl_threads_lib = '@SYCL_THREADS_LIB@' +config.extra_environment = lit_config.params.get("extra_environment", "@LIT_EXTRA_ENVIRONMENT@") import lit.llvm lit.llvm.initialize(lit_config, config)