| Summary: | [testing] RSEShellSubsystemTestSuite fails 3x on Windows | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] Target Management | Reporter: | Martin Oberhuber <mober.at+eclipse> | ||||
| Component: | RSE | Assignee: | Martin Oberhuber <mober.at+eclipse> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Martin Oberhuber <mober.at+eclipse> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | 3.2 | ||||||
| Target Milestone: | 3.2 RC4 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Martin Oberhuber
Created attachment 170557 [details]
patch
There were 3 distinct problems with the test:
1. On Windows, IShellService.launchShell() fails when given an empty
environment, because it requires at least the PATH to cmd.exe to be set
up for the command launching to work. A "null" environment doesn't work
either, since that provokes an NPE on the UNIX side. What's needed is
passing in the result of IShellService#getHostEnvironment().
This isn't very comfortable for API users, and we could make an enhancement
request to improve this - but for now I have fixed the test.
2. On Windows, IRemoteCmdSubSystem#runCommand() failse when given 2 distinct
commands separated by "\r\n" - they are interpreted as one command. What's
needed is concatenating commands with
IRemoteCmdSubSystemConfiguration#getCommandSeparator() instead.
I have fixed the test.
3. There was a race condition on IRemoteCmdSubSystem#cancelShell() :
this command is not synchronous, yet the test checked for inactive shell
immediately after issuing the command.
I have fixed the test.
Released for RC4. |