itestclihelper is used by itestcli to launch iTest in headless mode.
The Xmx value should probably be updated to the one set in the iTest.ini file.
We recently updated the iTest.ini to use a higher default value for the memory. This should have bene updated with it.
No, it should be updated so that it automatically uses the value in iTest.ini! Otherwise, what's the point of having a .ini file?
Is there a similar file in windows?
There is no equivalent file for windows.
The purpose of this file is to bypass the eclipse launcher to make iTest work on completely headless machines that do not have GTK installed. Although eclipse launcher can start iTest in headless mode, it still requires the GTK libraries to be present. The helper invokes Java directly. Unfortunatley, it is the eclipse launcher that loads the .ini file.
We will investigate if we can synch up the helper with the .ini file automatically. (for future releases)
I only care because of this:
sptest 8058 1 8 08:30 ? 00:36:10 /usr/local/fanfare/itest/jre/bin/java -Xmx256M -Dfile.encoding=UTF-8 -XX:PermSize=64M -XX:MaxPermSize=128M -cp /usr/local/fanfare/itest/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar org.eclipse.equinox.launcher.Main -os linux -ws gtk -arch x86 -nosplash -data /home/sptest/itest/rel3.0/ -configuration @user.home/.itestcliconfig_3.4 --headless --runtime --idleTime 15
Which seems to say that my cron job is running with 256M. But I think I might be OK, because I turn around and call itestcli myself, from within itest. If I change to exec run, though, it might cause a problem if I don't remember to update the file...
I think that the memory heap size value "-Xmx512M" defined in iTest.ini is not being loaded. I changed iTest.ini as below:
-configuration
@user.home/.iTestConfiguration_3.4
-vmargs
-Xmx512M
-Dfile.encoding=UTF-8
-XX:PermSize=64M
-XX:MaxPermSize=128M
And when I run my script using the itestcli, I am seeing the Xmx256M.
ps -ef | grep iTest
dummy 21960 21957 0 08:52:03 pts/46 0:00 /ppreg/iTest_3.4/jre/bin/java -classpath /ppreg/iTest_3.4/itestcli.jar:/ppreg/i
dummy 21957 21956 0 08:52:03 pts/46 0:00 /bin/sh /ppreg/iTest_3.4/itestcli.sh -p fileName=/home/dummy/mobile_stat
dummy 22120 1 0 08:52:20 pts/46 0:04 /ppreg/iTest_3.4/jre/bin/java -Xmx256M -Dfile.encoding=UTF-8 -XX:PermSize=64M -
dummy 22195 3671 0 08:52:28 pts/44 0:00 grep iTest
As PreetS pointed, iTest.ini setting is used when you launch iTest in GUI mode.
When itestcli.sh is used it launches iTest in headless mode using the itestclihelper.sh. You can modify the itestclihelper.sh -Xmx value to 512.
itestcli has to launch iTest to perform tests. On different platforms, we launch iTest differently:
1. On Windows, we launch "iTest.exe --headless otherargs". iTest.exe consults the ".ini" file when starting up.
2. On Linux and Solaris, we launch "itestclihelper.sh" if user requested headless mode (default) and iTest if "--guiserver" option was used on itestcli. "itestclihelper.sh" was created to truly support machines which do not have any display and do not have certain graphics libraries. This is because "iTest" executable on Linux still links with certain GUI libraries and one gets "linker" errors when launching iTest on such machines.
One downside of #2 is that you have to remember to increase the -Xmx and other settings in itest.ini into itestclihelper.sh as well.
No one has followed this question yet.