This revision was automatically updated to reflect the committed changes. Closed by commit rG0ec88d031ad5: [lldb] Inherit host environment when running shell commands (authored by labath).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77123/new/ https://reviews.llvm.org/D77123 Files: lldb/source/Host/common/Host.cpp lldb/test/API/python_api/sbplatform/Makefile lldb/test/API/python_api/sbplatform/TestSBPlatform.py lldb/test/API/python_api/sbplatform/main.cpp Index: lldb/test/API/python_api/sbplatform/main.cpp =================================================================== --- /dev/null +++ lldb/test/API/python_api/sbplatform/main.cpp @@ -0,0 +1,8 @@ +#include <cstdlib> +#include <cstdio> + +int main() { + printf("MY_TEST_ENV_VAR=%s\n", getenv("MY_TEST_ENV_VAR")); + + return 0; +} Index: lldb/test/API/python_api/sbplatform/TestSBPlatform.py =================================================================== --- /dev/null +++ lldb/test/API/python_api/sbplatform/TestSBPlatform.py @@ -0,0 +1,22 @@ +"""Test the SBPlatform APIs.""" + +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * + +class SBPlatformAPICase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + NO_DEBUG_INFO_TESTCASE = True + + @add_test_categories(['pyapi']) + def test_run(self): + self.build() + plat = lldb.SBPlatform.GetHostPlatform() + + os.environ["MY_TEST_ENV_VAR"]="SBPlatformAPICase.test_run" + def cleanup(): + del os.environ["MY_TEST_ENV_VAR"] + self.addTearDownHook(cleanup) + cmd = lldb.SBPlatformShellCommand(self.getBuildArtifact("a.out")) + self.assertTrue(plat.Run(cmd).Success()) + self.assertIn("MY_TEST_ENV_VAR=SBPlatformAPICase.test_run", cmd.GetOutput()) Index: lldb/test/API/python_api/sbplatform/Makefile =================================================================== --- /dev/null +++ lldb/test/API/python_api/sbplatform/Makefile @@ -0,0 +1,3 @@ +CXX_SOURCES := main.cpp + +include Makefile.rules Index: lldb/source/Host/common/Host.cpp =================================================================== --- lldb/source/Host/common/Host.cpp +++ lldb/source/Host/common/Host.cpp @@ -501,6 +501,8 @@ launch_info.SetArguments(args, first_arg_is_executable); } + launch_info.GetEnvironment() = Host::GetEnvironment(); + if (working_dir) launch_info.SetWorkingDirectory(working_dir); llvm::SmallString<64> output_file_path;
Index: lldb/test/API/python_api/sbplatform/main.cpp =================================================================== --- /dev/null +++ lldb/test/API/python_api/sbplatform/main.cpp @@ -0,0 +1,8 @@ +#include <cstdlib> +#include <cstdio> + +int main() { + printf("MY_TEST_ENV_VAR=%s\n", getenv("MY_TEST_ENV_VAR")); + + return 0; +} Index: lldb/test/API/python_api/sbplatform/TestSBPlatform.py =================================================================== --- /dev/null +++ lldb/test/API/python_api/sbplatform/TestSBPlatform.py @@ -0,0 +1,22 @@ +"""Test the SBPlatform APIs.""" + +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * + +class SBPlatformAPICase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + NO_DEBUG_INFO_TESTCASE = True + + @add_test_categories(['pyapi']) + def test_run(self): + self.build() + plat = lldb.SBPlatform.GetHostPlatform() + + os.environ["MY_TEST_ENV_VAR"]="SBPlatformAPICase.test_run" + def cleanup(): + del os.environ["MY_TEST_ENV_VAR"] + self.addTearDownHook(cleanup) + cmd = lldb.SBPlatformShellCommand(self.getBuildArtifact("a.out")) + self.assertTrue(plat.Run(cmd).Success()) + self.assertIn("MY_TEST_ENV_VAR=SBPlatformAPICase.test_run", cmd.GetOutput()) Index: lldb/test/API/python_api/sbplatform/Makefile =================================================================== --- /dev/null +++ lldb/test/API/python_api/sbplatform/Makefile @@ -0,0 +1,3 @@ +CXX_SOURCES := main.cpp + +include Makefile.rules Index: lldb/source/Host/common/Host.cpp =================================================================== --- lldb/source/Host/common/Host.cpp +++ lldb/source/Host/common/Host.cpp @@ -501,6 +501,8 @@ launch_info.SetArguments(args, first_arg_is_executable); } + launch_info.GetEnvironment() = Host::GetEnvironment(); + if (working_dir) launch_info.SetWorkingDirectory(working_dir); llvm::SmallString<64> output_file_path;
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits