[GRASSLIST:712] Re: QGIS/GRASS for Windows 060412

Sören Gebbert soerengebbert at gmx.de
Thu Apr 13 19:40:12 EDT 2006


Hi Radim,

On Wednesday 12 April 2006 16:08, Radim Blazek wrote:
> New build of QGIS/GRASS for Windows is available here:
> http://mpa.itc.it/radim/wingrass/qgis-0.8.0-preview-win32-060412.zip
> 
> Fixed GRASS scripts. I was not able to get GRASS scripts working
> if run from QProcess. It works if they are run from sh.exe
> but if run from QProcess g.parser fails (without error)
> to re-run script with execlp(). Because of this I emulate g.parser in
> the plugin and scripts are run directly with variables set and
> @ARGS_PARSED@ parameter.
> 
> Sören, can you try to run your testsuite?

Very nice job!!!
The testcript is basically working .... no erros occur and most of the produced data is valid (md5 sum's created on linux machines),
but a strange behaviour occurs.
The main script does not wait for his childs!!

The test suite uses several scripts to performe the tests.
The whole test suite is controlled by one script, this main script calls the other scripts.

Every script which is called by the main script, uses g.parser to parse the
arguments.
So if a script is executed, g.parser will be executed and will overwrite (exec) the
current child process of the main script.
On linux g.parser uses the same PID as the the original child process ... thats good, the
main sript (parent) waits for this process.

On windows (mingw sh in qgis), g.parser creates a different PID, when it is overwriting the child ... thats bad,
the parent main script dont wait for this process, because its not a child of him! The main script is finished
bevor all the tests are done. This should not happen, because it creates the final summary logfiles and clean up the tmp files.

Any idea to avoid this, except that i have to rewrite most of the 
test suite scripts (well, thats not a big deal, but i like the way it works for now)?

Best regards
Soeren

> 
> Radim
> 
> 




More information about the grass-user mailing list