Page 1 of 1

make test_* abinit already in path

Posted: Sat Nov 28, 2015 12:40 am
by zeroth
Problem,
You have abinit in your path PATH=$HOME/bin:./
and abinit in $HOME/bin. Note that the current directory path is after bin.
Running

Code: Select all

make test_*

will do these things:

Code: Select all

cp $(top_builddir)/src/98_main/abinit $(top_srcdir)/tests/built-in/Input/abinit && cd $(top_srcdir)/tests/built-in/Input && abinit < testin_fast.files >& testin_fast.stdout && cat testin_fast_tmp_STATUS && rm abinit
...

which will execute abinit from path, and not the one recently copied.

Solution, prepend a

Code: Select all

./
to the abinit call like this

Code: Select all

cp $(top_builddir)/src/98_main/abinit $(top_srcdir)/tests/built-in/Input/abinit && cd $(top_srcdir)/tests/built-in/Input && ./abinit < testin_fast.files >& testin_fast.stdout && cat testin_fast_tmp_STATUS && rm abinit

Re: make test_* abinit already in path  [SOLVED]

Posted: Mon Nov 30, 2015 8:02 am
by Jordan
1) It is usually not recommanded to have "." in the path since you may have conflict with other search directories.
2) You use the old fashion test farm which is not upgraded anymore but migrated to the new test farm. So if you want to avoid the problem you mentioned, use the new test farm.
Let assume you have ~abinit and you compile abinit in ~abinit/build then go for intance to ~abinit/build/tests and run

Code: Select all

../../tests/runtests.py

or more generally

Code: Select all

~abinit/tests/runtests.py

You can specify keyword with -k or familly test like fast tutorials ....
Don't hesitate to read the help description with '-h'

Jordan

Re: make test_* abinit already in path

Posted: Mon Nov 30, 2015 9:06 am
by zeroth
Jordan wrote:1) It is usually not recommanded to have "." in the path since you may have conflict with other search directories.

I agree, it was however the only way I could successfully run the tests. ;)
Jordan wrote:2) You use the old fashion test farm which is not upgraded anymore but migrated to the new test farm. So if you want to avoid the problem you mentioned, use the new test farm.
Let assume you have ~abinit and you compile abinit in ~abinit/build then go for intance to ~abinit/build/tests and run

Code: Select all

../../tests/runtests.py

or more generally

Code: Select all

~abinit/tests/runtests.py

You can specify keyword with -k or familly test like fast tutorials ....
Don't hesitate to read the help description with '-h'

Ok, I have changed to the new test farm.

There however, are a few errors:

Code: Select all

[atompaw][t02][np=1]Test was not expected to fail but subrocesses returned 14

--- !ERROR
message: |
    Fortran open returned iostat 2 while opening: ....compile/abinit-7.10.5/tests/Psps_for_tests/C.LDA-PW-paw.abinit
    , IOMSG: Cannot open file '....compile/abinit-7.10.5/tests/Psps_for_tests/C.LDA-PW-paw.abinit': No such file or directory
src_file: inpspheads.F90
src_line: 118
...

#0  0x2AF89FFC8C07
#1  0x2323374 in __m_errors_MOD_msg_hndl at m_errors.F90:910
#2  0x18E6524 in inpspheads_ at inpspheads.F90:118
#3  0x17AA7B9 in __m_ab7_invars_MOD_ab7_invars_load at m_ab7_invars_f90.F90:679
#4  0x4193AF in abinit at abinit.F90:310

Command  mpirun -np 1   < ....compile/abinit-7.10.5/build-tmp/tests/Test_suite/atompaw_t03-t04/t03.stdin > ...compile/abinit-7.10.5/build-tmp/tests/Test_suite/atompaw_t03-t04/t03.stdout 2> ....compile/abinit-7.10.5/build-tmp/tests/Test_suite/atompaw_t03-t04/t03.stderr
 returned exit_code: 1

fails as C.LDA-PW-paw.abinit does not exist in the specified pseudo folder, perhaps it is missing in the distribution?

Same thing for t04 with pseudo: Ni.GGA-PBE-paw.abinit

Thanks.

Re: make test_* abinit already in path

Posted: Tue Dec 01, 2015 8:27 am
by Jordan
I don't know if it is normal or not but you can download some - maybe different - other paw atomic data here

Cheers

Re: make test_* abinit already in path

Posted: Tue Dec 01, 2015 8:45 am
by zeroth
While I know that you can download PAWs, I think the intent was to ship it with build system, otherwise a test does not make sense (taking a wrong pseudo will give "erroneous" results)

Re: make test_* abinit already in path

Posted: Wed Dec 02, 2015 9:44 am
by torrent
Hi,

You cannot launch the atompaw#02 automatic test alone.
It has to be chained with the test atompaw#01 because the latter is suppposed to generate the pseudopotential file.

So, instead, launch:
~abinit/tests/runtests.py atompaw[01:02}

(see "test_chain = t01.in, t02.in" in atompaw/Input/t01.in and atompaw/Input/t02.in)

Marc

Re: make test_* abinit already in path

Posted: Wed Dec 02, 2015 9:57 am
by zeroth
Thanks Marc,

I called it like this:

Code: Select all

../../tests/runtests.py --loglevel=INFO -v -v -n 2 --pedantic atompaw etsf_io libxc wannier90

that should enable all tests right?
And call them in correct order?
If not I think the test API is slightly confusing :)

My assumption was that it runs them all sequentially, and those that can be runned with MPI procs will use -n 2.

Re: make test_* abinit already in path

Posted: Sun Dec 06, 2015 2:09 pm
by torrent
Hi,

I tried to reproduce your problem:
- official abinit v7.10.5
- ../../tests/runtests.py --loglevel=INFO -v -v -n 2 --pedantic atompaw

...and everything went fine.
(except some errors in logging due to my python version)

Re: make test_* abinit already in path

Posted: Sun Dec 06, 2015 9:06 pm
by zeroth
Ok, weird.
Well, until I figure out why, I will close this issue.

Thanks for help.