Hi Juanjo,

On 6 December 2011 17:27, Juan Jose Garcia-Ripoll <juanjose.garciaripoll@googlemail.com> wrote:
On Tue, Dec 6, 2011 at 10:16 AM, Dima Pasechnik <dimpase+ecl@gmail.com> wrote:
Sage (www.sagemath.org) project perhaps might help with testing infrastructure.
(I"m not speaking for Sage here, although I think this will be welcome).
ECL is released as a part of Sage, and this happens on a regular basis (not on all platforms ECL supports though, but at least on a handful on different Linuxes and MacOSXs).
Juanjo, if you are interested in this, just post on sage-devel.

Hi Dima, they already provided me access to several machines, but it is quite complicated to use. I would like to have an automated infrastructure that works without me worrying too much but:

- Many machines sit behind firewalls (Sage, for instance). Controlling this is a mess, specially if you want to push files in and pop them out. Right now I have a script with 3 levels of indirections to get to some machines.

Sage has a buildbot. So the question is to put the tests you need in the Sage's ECL spkg, and extract the results of the
buildbot. This will give you results of tests of ECL released with Sage, on the corresponding list of platforms.

- Some of those which I use are clusters with frequent outages. Again, the control software must be capable of recognizing this. Also, using a cluster typically means delayed collection of data and this is sometimes not too reliable (the jobs did not run, you do not know why...)

- Some platforms are run in virtualbox images. Starting them up, shutting them down, controlling that they do not run amok...

- We need to test in windows and this has to be automated. Running the tests for cygwin or mingw means a lot of time which I cannot spend in front of the computer. But automating the Windows builds is a nightmare by itself because of different scripts, lack of an agnostic ssh (*)

So the situation is that I have about 8 different computers + virtual computers, some of which may be access directly, some not, some are always on, some not, etc, etc... I am trying to rationalize this once and for all, but it is hard.


(*) If you use cygwin's ssh, the environment it creates interferes with that of mingw and msvc, for instance. Cleaning up this mess is complicated. The only other free ssh which is out there has to be started by hand from a user account...

By the way, could you point us the changes you made to ECL to prevent it from suffering the constant fork() failures?
It seems that we will need to implement a similar thing in cpython, as presently building python extensions on cygwin (which in Sage uses Cython, i.e. compiles from Cython to C to dlls, a similar to the ECL route) suffers from the same problem.


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)