RFR  TEST_BUG: java/lang/Runtime/exec/ExecWithInput.java hardcodes path to cat
roger.riggs at oracle.com
Wed Feb 26 22:19:35 UTC 2014
A few comments on UnixCommands:
- The trailing "_" on the method names looks very odd, they could all
use some suffix "Pgm" "X", etc.
- I'm not sure the specific command methods do you any good
(over a method with a string argument). since they immediately
revert to the string command name.
- The final "0" in findCommand0 is using the convention for a native
method but it is not native.
- Use the File methods for concatenation rather than string concatenation.
i.e. new File (parent, child).
On 2/26/2014 4:30 PM, Ivan Gerasimov wrote:
> On 24.02.2014 23:38, Martin Buchholz wrote:
>> Thanks for working on these ancient Process tests.
>> I would prefer to see them using "feature tests".
>> You wanna do "cat /dev/zero"? Then look for cat in /bin and /usr/bin
>> and check for /dev/zero as well, e.g. using File.isExecutable
> OK. Here's another iteration.
> I introduced a utility class UnixCommands, which encapsulates
> searching for the command under several fixed directories.
> I didn't touch /dev/null though. I think we can assume it exists in
> every Unix system. Many other tests depend on it anyways.
> Would you please have a chance to review the updated wevrev?
> Sincerely yours,
>> Doing OS-specific things like:
>> + static final boolean isLinux =
>> + System.getProperty("os.name <http://os.name>",
>> should be a last resort.
>> On Mon, Feb 24, 2014 at 9:26 AM, Ivan Gerasimov
>> <ivan.gerasimov at oracle.com <mailto:ivan.gerasimov at oracle.com>> wrote:
>> We've got one quite old report about been unable to run the test
>> under Android.
>> That was due to hard-coded path to the cat utility as /bin/cat.
>> When investigating, I found two other tests under the same
>> directory that use /usr/bin/cat and /usr/bin/echo.
>> These two test seem to (almost) never run because of the unusual
>> Here's the first version of the webrev, with the fix to only three
>> tests mentioned above:
>> java/lang/Runtime/exec/ directory has also got several other
>> tests, which run shell commands.
>> Some of them have absolute path and some of them don't.
>> So I have a general question: Why would we ever need the absolute
>> path for the commands?
>> Why wouldn't we rely on the PATH env variable?
>> Sincerely yours,
More information about the core-libs-dev