This should not bring any feature change, except changing names of things here and there
llvm-svn: 230077
SetShell (const char * path);
bool
- GetGlobArguments ();
+ GetShellExpandArguments ();
void
- SetGlobArguments (bool glob);
+ SetShellExpandArguments (bool glob);
uint32_t
GetResumeCount ();
LaunchProcess (ProcessLaunchInfo &launch_info);
//------------------------------------------------------------------
- /// Perform globbing of the command-line for this launch info
+ /// Perform expansion of the command-line for this launch info
/// This can potentially involve wildcard expansion
// environment variable replacement, and whatever other
// argument magic the platform defines as part of its typical
// user experience
//------------------------------------------------------------------
static Error
- GlobArguments (ProcessLaunchInfo &launch_info);
+ ShellExpandArguments (ProcessLaunchInfo &launch_info);
static Error
RunShellCommand (const char *command, // Shouldn't be NULL
LaunchProcess (ProcessLaunchInfo &launch_info);
//------------------------------------------------------------------
- /// Perform globbing of the command-line for this launch info
+ /// Perform expansion of the command-line for this launch info
/// This can potentially involve wildcard expansion
// environment variable replacement, and whatever other
// argument magic the platform defines as part of its typical
// user experience
//------------------------------------------------------------------
virtual Error
- GlobArguments (ProcessLaunchInfo &launch_info);
+ ShellExpandArguments (ProcessLaunchInfo &launch_info);
//------------------------------------------------------------------
/// Kill process on a platform.
SetLaunchInSeparateProcessGroup (bool separate);
bool
- GetGlobArguments () const
+ GetShellExpandArguments () const
{
- return m_flags.Test(lldb::eLaunchFlagGlobArguments);
+ return m_flags.Test(lldb::eLaunchFlagShellExpandArguments);
}
void
- SetGlobArguments (bool glob);
+ SetShellExpandArguments (bool expand);
void
Clear ();
///< set this flag so lldb & the handee don't race to set its exit status.
eLaunchFlagDetachOnError = (1u << 9), ///< If set, then the client stub should detach rather than killing the debugee
///< if it loses connection with lldb.
- eLaunchFlagGlobArguments = (1u << 10), ///< Glob arguments without going through a shell
+ eLaunchFlagShellExpandArguments = (1u << 10), ///< Perform shell-style argument expansion
eLaunchFlagCloseTTYOnExit = (1u << 11), ///< Close the open TTY on exit
} LaunchFlags;
SetShell (const char * path);
bool
- GetGlobArguments ();
+ GetShellExpandArguments ();
void
- SetGlobArguments (bool glob);
+ SetShellExpandArguments (bool expand);
uint32_t
GetResumeCount ();
}
bool
-SBLaunchInfo::GetGlobArguments ()
+SBLaunchInfo::GetShellExpandArguments ()
{
- return m_opaque_sp->GetGlobArguments();
+ return m_opaque_sp->GetShellExpandArguments();
}
void
-SBLaunchInfo::SetGlobArguments (bool glob)
+SBLaunchInfo::SetShellExpandArguments (bool expand)
{
- m_opaque_sp->SetGlobArguments(glob);
+ m_opaque_sp->SetShellExpandArguments(expand);
}
uint32_t
}
Error
-Host::GlobArguments (ProcessLaunchInfo &launch_info)
+Host::ShellExpandArguments (ProcessLaunchInfo &launch_info)
{
return Error("unimplemented");
}
}
Error
-Host::GlobArguments (ProcessLaunchInfo &launch_info)
+Host::ShellExpandArguments (ProcessLaunchInfo &launch_info)
{
return Error("unimplemented");
}
}
Error
-Host::GlobArguments (ProcessLaunchInfo &launch_info)
+Host::ShellExpandArguments (ProcessLaunchInfo &launch_info)
{
Error error;
- if (launch_info.GetFlags().Test(eLaunchFlagGlobArguments))
+ if (launch_info.GetFlags().Test(eLaunchFlagShellExpandArguments))
{
- FileSpec glob_tool_spec;
- if (!HostInfo::GetLLDBPath(lldb::ePathTypeSupportExecutableDir, glob_tool_spec))
+ FileSpec expand_tool_spec;
+ if (!HostInfo::GetLLDBPath(lldb::ePathTypeSupportExecutableDir, expand_tool_spec))
{
error.SetErrorString("could not find argdumper tool");
return error;
}
- glob_tool_spec.AppendPathComponent("argdumper");
- if (!glob_tool_spec.Exists())
+ expand_tool_spec.AppendPathComponent("argdumper");
+ if (!expand_tool_spec.Exists())
{
error.SetErrorString("could not find argdumper tool");
return error;
std::string quoted_cmd_string;
launch_info.GetArguments().GetQuotedCommandString(quoted_cmd_string);
- StreamString glob_command;
+ StreamString expand_command;
- glob_command.Printf("%s %s",
- glob_tool_spec.GetPath().c_str(),
- quoted_cmd_string.c_str());
+ expand_command.Printf("%s %s",
+ expand_tool_spec.GetPath().c_str(),
+ quoted_cmd_string.c_str());
int status;
std::string output;
- RunShellCommand(glob_command.GetData(), launch_info.GetWorkingDirectory(), &status, nullptr, &output, 10);
+ RunShellCommand(expand_command.GetData(), launch_info.GetWorkingDirectory(), &status, nullptr, &output, 10);
if (status != 0)
{
error.SetErrorString("invalid JSON");
return error;
}
-
+
auto args_array_sp = args_sp->GetAsArray();
if (!args_array_sp)
{
}
Error
-Host::GlobArguments (ProcessLaunchInfo &launch_info)
+Host::ShellExpandArguments (ProcessLaunchInfo &launch_info)
{
Error error;
- if (launch_info.GetFlags().Test(eLaunchFlagGlobArguments))
+ if (launch_info.GetFlags().Test(eLaunchFlagShellExpandArguments))
{
- FileSpec glob_tool_spec;
- if (!HostInfo::GetLLDBPath(lldb::ePathTypeSupportExecutableDir, glob_tool_spec))
+ FileSpec expand_tool_spec;
+ if (!HostInfo::GetLLDBPath(lldb::ePathTypeSupportExecutableDir, expand_tool_spec))
{
error.SetErrorString("could not find argdumper tool");
return error;
}
- glob_tool_spec.AppendPathComponent("argdumper.exe");
- if (!glob_tool_spec.Exists())
+ expand_tool_spec.AppendPathComponent("argdumper.exe");
+ if (!expand_tool_spec.Exists())
{
error.SetErrorString("could not find argdumper tool");
return error;
std::string quoted_cmd_string;
launch_info.GetArguments().GetQuotedCommandString(quoted_cmd_string);
std::replace(quoted_cmd_string.begin(), quoted_cmd_string.end(), '\\', '/');
- StreamString glob_command;
+ StreamString expand_command;
- glob_command.Printf("%s %s",
- glob_tool_spec.GetPath().c_str(),
- quoted_cmd_string.c_str());
+ expand_command.Printf("%s %s",
+ expand_tool_spec.GetPath().c_str(),
+ quoted_cmd_string.c_str());
int status;
std::string output;
- RunShellCommand(glob_command.GetData(), launch_info.GetWorkingDirectory(), &status, nullptr, &output, 10);
+ RunShellCommand(expand_command.GetData(), launch_info.GetWorkingDirectory(), &status, nullptr, &output, 10);
if (status != 0)
{
num_resumes))
return error;
}
- else if (launch_info.GetFlags().Test(eLaunchFlagGlobArguments))
+ else if (launch_info.GetFlags().Test(eLaunchFlagShellExpandArguments))
{
- error = GlobArguments(launch_info);
+ error = ShellExpandArguments(launch_info);
if (error.Fail())
return error;
}
}
Error
-Platform::GlobArguments (ProcessLaunchInfo &launch_info)
+Platform::ShellExpandArguments (ProcessLaunchInfo &launch_info)
{
if (IsHost())
- return Host::GlobArguments(launch_info);
- return Error("base lldb_private::Platform class can't glob arguments");
+ return Host::ShellExpandArguments(launch_info);
+ return Error("base lldb_private::Platform class can't expand arguments");
}
Error
break;
}
- case 'G': // Glob args.
+ case 'X': // shell expand args.
{
bool success;
- const bool glob_args = Args::StringToBoolean (option_arg, true, &success);
+ const bool expand_args = Args::StringToBoolean (option_arg, true, &success);
if (success)
- launch_info.SetGlobArguments(glob_args);
+ launch_info.SetShellExpandArguments(expand_args);
else
- error.SetErrorStringWithFormat ("Invalid boolean value for glob-args option: '%s'", option_arg ? option_arg : "<null>");
+ error.SetErrorStringWithFormat ("Invalid boolean value for shell-expand-args option: '%s'", option_arg ? option_arg : "<null>");
break;
}
{ LLDB_OPT_SET_2 , false, "tty", 't', OptionParser::eNoArgument, NULL, NULL, 0, eArgTypeNone, "Start the process in a terminal (not supported on all platforms)."},
{ LLDB_OPT_SET_3 , false, "no-stdio", 'n', OptionParser::eNoArgument, NULL, NULL, 0, eArgTypeNone, "Do not set up for terminal I/O to go to running process."},
-{ LLDB_OPT_SET_4, false, "glob-args", 'G', OptionParser::eRequiredArgument, NULL, NULL, 0, eArgTypeBoolean, "Set whether to glob arguments to the process when launching."},
+{ LLDB_OPT_SET_4, false, "shell-expand-args", 'X', OptionParser::eRequiredArgument, NULL, NULL, 0, eArgTypeBoolean, "Set whether to shell expand arguments to the process when launching."},
{ 0 , false, NULL, 0, 0, NULL, NULL, 0, eArgTypeNone, NULL }
};
}
void
-ProcessLaunchInfo::SetGlobArguments (bool glob)
+ProcessLaunchInfo::SetShellExpandArguments (bool expand)
{
- if (glob)
- m_flags.Set(lldb::eLaunchFlagGlobArguments);
+ if (expand)
+ m_flags.Set(lldb::eLaunchFlagShellExpandArguments);
else
- m_flags.Clear(lldb::eLaunchFlagGlobArguments);
+ m_flags.Clear(lldb::eLaunchFlagShellExpandArguments);
}
void
from lldbtest import *
import lldbutil
-class LaunchWithGlobTestCase(TestBase):
+class LaunchWithShellExpandTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
self.do_test ()
- @expectedFailureFreeBSD("llvm.org/pr22627 process launch w/ glob not working")
+ @expectedFailureFreeBSD("llvm.org/pr22627 process launch w/ shell expansion not working")
@dwarf_test
def test_with_dwarf (self):
self.buildDwarf()
breakpoint = target.BreakpointCreateBySourceRegex ('break here', lldb.SBFileSpec ("main.cpp", False))
self.assertTrue(breakpoint, VALID_BREAKPOINT)
- self.runCmd("process launch -G true -w %s -- fi*.tx?" % (os.getcwd()))
+ self.runCmd("process launch -X true -w %s -- fi*.tx?" % (os.getcwd()))
process = self.process()