diff --git a/lldb/test/API/tools/lldb-vscode/environmentVariables/TestVSCode_environmentVariables.py b/lldb/test/API/tools/lldb-vscode/environmentVariables/TestVSCode_environmentVariables.py new file mode 100644 --- /dev/null +++ b/lldb/test/API/tools/lldb-vscode/environmentVariables/TestVSCode_environmentVariables.py @@ -0,0 +1,33 @@ +""" +Test lldb-vscode completions request +""" + + +import lldbvscode_testcase +import unittest2 +import vscode +from lldbsuite.test import lldbutil +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * + +class TestVSCode_variables(lldbvscode_testcase.VSCodeTestCaseBase): + + @skipIfWindows + @skipIfDarwin # Skip this test for now until we can figure out why tings aren't working on build bots + def test_environment_variable(self): + """ + Tests the environment variables + """ + program = self.getBuildArtifact("a.out") + path_env_variable = 'PATH='+os.environ['PATH'] + self.build_and_launch(program, inheritEnvironment=False) + self.continue_to_exit() + output = self.get_stdout().encode('utf-8') + lines = output.splitlines() + found = False + for line in lines: + if line.startswith('PATH='): + found = True + self.assertTrue(path_env_variable == line, "PATH environment variable not the same") + self.assertTrue(found, 'PATH environment variable not found') + \ No newline at end of file diff --git a/lldb/test/API/tools/lldb-vscode/environmentVariables/main.cpp b/lldb/test/API/tools/lldb-vscode/environmentVariables/main.cpp new file mode 100644 --- /dev/null +++ b/lldb/test/API/tools/lldb-vscode/environmentVariables/main.cpp @@ -0,0 +1,14 @@ +#include +#include +#include +#include + +extern char **environ; + +int main(int argc, char const *argv[], char const *envp[]) { + char** env_var_pointer = environ; + for (char* env_variable = *env_var_pointer; env_variable; env_variable=*++env_var_pointer) { + printf("%s\n", env_variable); + } + return 0; +} \ No newline at end of file diff --git a/lldb/tools/lldb-vscode/package.json b/lldb/tools/lldb-vscode/package.json --- a/lldb/tools/lldb-vscode/package.json +++ b/lldb/tools/lldb-vscode/package.json @@ -84,6 +84,11 @@ "description": "Additional environment variables.", "default": [] }, + "inheritEnvironment": { + "type": "boolean", + "description": "Inherit the VSCode Environment Variables", + "default": false + }, "stopOnEntry": { "type": "boolean", "description": "Automatically stop after launch.",