Re: [easybuild] Running tests in an EasyConfig

2020-12-14 Thread Sam Moors
Dear Jacob:

You can set a different module name with the dictionary key 'modulename' in
exts_list.
If there is no module that can be imported in Python, you can set it to
False.

Cheers,
Sam

On Mon, Dec 14, 2020 at 12:28 PM Jakob Schiøtz  wrote:

>
> > On 14 Dec 2020, at 11.16, Kenneth Hoste  wrote:
> >
> > Hi Jakob,
> >
> > On 14/12/2020 11:07, Jakob Schiøtz wrote:
> >>> On 14 Dec 2020, at 09.48, Kenneth Hoste 
> wrote:
> >>>
> >>> Dear Jakob,
> >>>
> >>> On 14/12/2020 09:28, Jakob Schiøtz wrote:
>  Hi EasyBuilders,
>  I am trying to run the test suite of a Python package (ASE), that I
> install as a PythonBundle.  However, the test suite seems to be run
> *before* the package is installed, at least the binary is not yet there.  I
> guess it makes sense, many packages have a "make", "make test", "make
> install" sequence, but when pip-installing I would like to run the test
> suite on the final result.
>  I added 'runtest': 'ase test' to the dictionary for the specific
> package, as adding runtest = 'ase test' to the global PythonBundle resulted
> in the test being run before any of the "extensions" were installed, i.e.
> before anything was really done.
>  Ideally, I would like to run the test at the very end after
> installing all the packages, but running it after the main package is
> installed is also fine.
> >>>
> >>> I recommend just including "ase test" as a sanity check command, like
> this:
> >>>
> >>> sanity_check_commands = ["ase test"]
> >>>
> >>> We usually only include short test commands in the sanity check step
> though, but it's not a very strict rule...
> >> Thank you.  I guess I'll skip it for ASE, where the test takes a few
> minutes, but include it for gpaw where more could go wrong during
> installation, and where there is an utrashort test that just checks that a
> small calculation can run (like a five-second test).
> >
> > A couple of minutes is still OK-ish, as long as it doesn't require a lot
> of resources (cores, memory, etc.)
>
> There is actually a bug in the test suite causing it to fail on the Intel
> tool chain (a test requires bitwise identical results, this has been fixed
> in the development branch).
>
> Only slightly related: How do you handle if a module in a PythonBundle is
> not importable (because it is an plugin to another module), or where it is
> importable under another name than expected by EasyBuild.
>
> Best regards
>
> Jakob
>
>
> >
> >
> > regards,
> >
> > Kenneth
> >
> >> Best regards
> >> Jakob
> >>>
> >>>
> >>> regards,
> >>>
> >>> Kenneth
> >>>
>  Best regards
>  Jakob
>  --
>  Jakob Schiøtz, professor, Ph.D.
>  Department of Physics
>  Technical University of Denmark
>  DK-2800 Kongens Lyngby, Denmark
>  http://www.fysik.dtu.dk/~schiotz/
>
>


Re: [easybuild] Running tests in an EasyConfig

2020-12-14 Thread Jakob Schiøtz

> On 14 Dec 2020, at 11.16, Kenneth Hoste  wrote:
> 
> Hi Jakob,
> 
> On 14/12/2020 11:07, Jakob Schiøtz wrote:
>>> On 14 Dec 2020, at 09.48, Kenneth Hoste  wrote:
>>> 
>>> Dear Jakob,
>>> 
>>> On 14/12/2020 09:28, Jakob Schiøtz wrote:
 Hi EasyBuilders,
 I am trying to run the test suite of a Python package (ASE), that I 
 install as a PythonBundle.  However, the test suite seems to be run 
 *before* the package is installed, at least the binary is not yet there.  
 I guess it makes sense, many packages have a "make", "make test", "make 
 install" sequence, but when pip-installing I would like to run the test 
 suite on the final result.
 I added 'runtest': 'ase test' to the dictionary for the specific package, 
 as adding runtest = 'ase test' to the global PythonBundle resulted in the 
 test being run before any of the "extensions" were installed, i.e. before 
 anything was really done.
 Ideally, I would like to run the test at the very end after installing all 
 the packages, but running it after the main package is installed is also 
 fine.
>>> 
>>> I recommend just including "ase test" as a sanity check command, like this:
>>> 
>>> sanity_check_commands = ["ase test"]
>>> 
>>> We usually only include short test commands in the sanity check step 
>>> though, but it's not a very strict rule...
>> Thank you.  I guess I'll skip it for ASE, where the test takes a few 
>> minutes, but include it for gpaw where more could go wrong during 
>> installation, and where there is an utrashort test that just checks that a 
>> small calculation can run (like a five-second test).
> 
> A couple of minutes is still OK-ish, as long as it doesn't require a lot of 
> resources (cores, memory, etc.)

There is actually a bug in the test suite causing it to fail on the Intel tool 
chain (a test requires bitwise identical results, this has been fixed in the 
development branch).

Only slightly related: How do you handle if a module in a PythonBundle is not 
importable (because it is an plugin to another module), or where it is 
importable under another name than expected by EasyBuild.

Best regards

Jakob


> 
> 
> regards,
> 
> Kenneth
> 
>> Best regards
>> Jakob
>>> 
>>> 
>>> regards,
>>> 
>>> Kenneth
>>> 
 Best regards
 Jakob
 --
 Jakob Schiøtz, professor, Ph.D.
 Department of Physics
 Technical University of Denmark
 DK-2800 Kongens Lyngby, Denmark
 http://www.fysik.dtu.dk/~schiotz/



Re: [easybuild] Running tests in an EasyConfig

2020-12-14 Thread Kenneth Hoste

Hi Jakob,

On 14/12/2020 11:07, Jakob Schiøtz wrote:





On 14 Dec 2020, at 09.48, Kenneth Hoste  wrote:

Dear Jakob,

On 14/12/2020 09:28, Jakob Schiøtz wrote:

Hi EasyBuilders,
I am trying to run the test suite of a Python package (ASE), that I install as a PythonBundle.  However, the 
test suite seems to be run *before* the package is installed, at least the binary is not yet there.  I guess 
it makes sense, many packages have a "make", "make test", "make install" 
sequence, but when pip-installing I would like to run the test suite on the final result.
I added 'runtest': 'ase test' to the dictionary for the specific package, as adding 
runtest = 'ase test' to the global PythonBundle resulted in the test being run before any 
of the "extensions" were installed, i.e. before anything was really done.
Ideally, I would like to run the test at the very end after installing all the 
packages, but running it after the main package is installed is also fine.


I recommend just including "ase test" as a sanity check command, like this:

sanity_check_commands = ["ase test"]

We usually only include short test commands in the sanity check step though, 
but it's not a very strict rule...


Thank you.  I guess I'll skip it for ASE, where the test takes a few minutes, 
but include it for gpaw where more could go wrong during installation, and 
where there is an utrashort test that just checks that a small calculation can 
run (like a five-second test).


A couple of minutes is still OK-ish, as long as it doesn't require a lot 
of resources (cores, memory, etc.)



regards,

Kenneth



Best regards

Jakob





regards,

Kenneth


Best regards
Jakob
--
Jakob Schiøtz, professor, Ph.D.
Department of Physics
Technical University of Denmark
DK-2800 Kongens Lyngby, Denmark
http://www.fysik.dtu.dk/~schiotz/




Re: [easybuild] Running tests in an EasyConfig

2020-12-14 Thread Jakob Schiøtz



> On 14 Dec 2020, at 09.48, Kenneth Hoste  wrote:
> 
> Dear Jakob,
> 
> On 14/12/2020 09:28, Jakob Schiøtz wrote:
>> Hi EasyBuilders,
>> I am trying to run the test suite of a Python package (ASE), that I install 
>> as a PythonBundle.  However, the test suite seems to be run *before* the 
>> package is installed, at least the binary is not yet there.  I guess it 
>> makes sense, many packages have a "make", "make test", "make install" 
>> sequence, but when pip-installing I would like to run the test suite on the 
>> final result.
>> I added 'runtest': 'ase test' to the dictionary for the specific package, as 
>> adding runtest = 'ase test' to the global PythonBundle resulted in the test 
>> being run before any of the "extensions" were installed, i.e. before 
>> anything was really done.
>> Ideally, I would like to run the test at the very end after installing all 
>> the packages, but running it after the main package is installed is also 
>> fine.
> 
> I recommend just including "ase test" as a sanity check command, like this:
> 
> sanity_check_commands = ["ase test"]
> 
> We usually only include short test commands in the sanity check step though, 
> but it's not a very strict rule...

Thank you.  I guess I'll skip it for ASE, where the test takes a few minutes, 
but include it for gpaw where more could go wrong during installation, and 
where there is an utrashort test that just checks that a small calculation can 
run (like a five-second test).

Best regards

Jakob


> 
> 
> regards,
> 
> Kenneth
> 
>> Best regards
>> Jakob
>> --
>> Jakob Schiøtz, professor, Ph.D.
>> Department of Physics
>> Technical University of Denmark
>> DK-2800 Kongens Lyngby, Denmark
>> http://www.fysik.dtu.dk/~schiotz/



Re: [easybuild] Running tests in an EasyConfig

2020-12-14 Thread Kenneth Hoste

Dear Jakob,

On 14/12/2020 09:28, Jakob Schiøtz wrote:

Hi EasyBuilders,

I am trying to run the test suite of a Python package (ASE), that I install as a PythonBundle.  However, the 
test suite seems to be run *before* the package is installed, at least the binary is not yet there.  I guess 
it makes sense, many packages have a "make", "make test", "make install" 
sequence, but when pip-installing I would like to run the test suite on the final result.

I added 'runtest': 'ase test' to the dictionary for the specific package, as adding 
runtest = 'ase test' to the global PythonBundle resulted in the test being run before any 
of the "extensions" were installed, i.e. before anything was really done.

Ideally, I would like to run the test at the very end after installing all the 
packages, but running it after the main package is installed is also fine.


I recommend just including "ase test" as a sanity check command, like this:

sanity_check_commands = ["ase test"]

We usually only include short test commands in the sanity check step 
though, but it's not a very strict rule...



regards,

Kenneth



Best regards

Jakob


--
Jakob Schiøtz, professor, Ph.D.
Department of Physics
Technical University of Denmark
DK-2800 Kongens Lyngby, Denmark
http://www.fysik.dtu.dk/~schiotz/