Hi Mohammed,
added the following test
/**
* Call a script to dump the environment variables of the subprocess
* after adding a custom environment variable.
*
* @throws Exception the test failed
*/
public void testAddEnvironmentVariables() throws Exception {
Map myEnvVars = new HashMap();
myEnvVars.putAll(EnvironmentUtils.getProcEnvironment());
myEnvVars.put("NEW_VAR","NEW_VAL");
exec.execute(new CommandLine(environmentSript), myEnvVars);
String environment = baos.toString().trim();
assertTrue(environment.contains("NEW_VAR"));
}
and it works
Cheers,
Siegfried Goeschl
On 9/6/10 8:40 AM, Mohammed Sanaulla wrote:
On 6 September 2010 02:02, Siegfried Goeschl
<[email protected] <mailto:[email protected]>> wrote:
Hi Mohamed,
can you have a look at DefaultExecutorTest#testExecuteWithEnv() to
check what's missing or wrong -
http://commons.apache.org/exec/xref-test/org/apache/commons/exec/DefaultExecutorTest.html
I see that the existing Environment variables from the current Process
arent being copied instead only a new variable is being added (lines-
145,146)
I did the following in my Code:
Map myEnvVars = new HashMap();
myEnvVars.putAll(EnvironmentUtils.getProcEnvironment());
myEnvVars.put("NEW_VAR","NEW_VAL");
Regards,
Mohamed Sanaulla.
On 9/5/10 10:09 PM, Mohammed Sanaulla wrote:
I was able to execute the command. I got the environment
variable map from
the EnvironmentUtils and then added a new entry for TERM and
then passed
this Map along with execute() method of the DefaultExecutor.
-
Mohamed Sanaulla
On 6 September 2010 00:43, Mohammed
Sanaulla<[email protected] <mailto:[email protected]>>
wrote:
Hi all,
I have recently started to use Exec. I was trying to execute
"proz" command
(Command for Prozilla) on Linux using the CommandLine and
DefaultExecutor as
an asynchronous process. When ever I try to run the program
I get the
following error: Error opening terminal: unknown.
And the code terminates with Exit Value=1.
I did a bit of research to find out that- its not able to
determine the
type of terminal. So there were solutions to set the value
of $TERM with the
value obtained from "echo $TERM" (which in my case is
xterm). I had a look
at the EnvironmentUtils class and tried to use it to set the
value of $TERM
before executing the command. I used the following to set it:
Map environment = EnvironmentUtils.getProcEnvironment();
EnvironmentUtils.addVariableToEnvironment(EnvironmentUtils.getProcEnvironment(),"TERM=xterm");
But am not able to set the env variable. Any idea what's
going wrong in
both the places (executing the command and setting the env
variable)
Regards,
Mohamed Sanaulla
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
<mailto:[email protected]>
For additional commands, e-mail: [email protected]
<mailto:[email protected]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]