From 48c8616c29567d6c20eb24e56bc6f1b3c14515a1 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 7 Apr 2014 17:36:19 +0200 Subject: [PATCH] Ezfio_files tested --- scripts/create_test_ref.sh | 2 +- scripts/create_tests_Makefile.sh | 36 +- src/Electrons/tests/Makefile | 17 +- src/Ezfio_files/README.rst | 3 + src/Ezfio_files/ezfio.irp.f | 32 +- src/Ezfio_files/tests/Makefile | 32 ++ src/Ezfio_files/tests/test_ezfio.irp.f | 21 + src/Ezfio_files/tests/test_ezfio.ref | 635 +++++++++++++++++++++++++ 8 files changed, 745 insertions(+), 33 deletions(-) create mode 100644 src/Ezfio_files/tests/Makefile create mode 100644 src/Ezfio_files/tests/test_ezfio.irp.f create mode 100644 src/Ezfio_files/tests/test_ezfio.ref diff --git a/scripts/create_test_ref.sh b/scripts/create_test_ref.sh index d46ca11b..1c7e803c 100755 --- a/scripts/create_test_ref.sh +++ b/scripts/create_test_ref.sh @@ -24,7 +24,7 @@ fi if [[ -z ${MAKE} ]] then - MAKE="make -j 4" + MAKE="make -j 32" fi echo "Unarchiving EZFIO input directories" diff --git a/scripts/create_tests_Makefile.sh b/scripts/create_tests_Makefile.sh index d6d603ad..f42932da 100755 --- a/scripts/create_tests_Makefile.sh +++ b/scripts/create_tests_Makefile.sh @@ -1,16 +1,14 @@ #!/bin/bash -# +# # usage: -# create_tests_Makefile.sh +# create_tests_Makefile.sh # Creates the Makefile of the tests directory. This command is supposed to be # run in a tests directory. # Mon Apr 7 11:50:30 CEST 2014 -MODULE=$(basename $PWD) - -if [[ $MODULE == "tests" ]] +if [[ $(basename $PWD) != "tests" ]] then - echo "Error: This script should not be run in the tests directory." + echo "Error: This script should be run in the tests directory." exit 1 fi @@ -21,29 +19,33 @@ DEBUG = 0 IRPF90+= -I tests -REF_FILES=$(subst %.irp.f, %.ref, $(wildcard *.irp.f)) +REF_FILES=\$(subst %.irp.f, %.ref, \$(wildcard *.irp.f)) .PHONY: clean executables serial_tests parallel_tests all: clean executables serial_tests parallel_tests -parallel_tests: $(REF_FILES) +parallel_tests: \$(REF_FILES) @echo ; echo " ---- Running parallel tests ----" ; echo - @OMP_NUM_THREADS=10 ${QPACKAGE_ROOT}/scripts/run_tests.py + @OMP_NUM_THREADS=10 \${QPACKAGE_ROOT}/scripts/run_tests.py -serial_tests: $(REF_FILES) +serial_tests: \$(REF_FILES) @echo ; echo " ---- Running serial tests ----" ; echo - @OMP_NUM_THREADS=1 ${QPACKAGE_ROOT}/scripts/run_tests.py + @OMP_NUM_THREADS=1 \${QPACKAGE_ROOT}/scripts/run_tests.py -executables: $(wildcard *.irp.f) - $(MAKE) -C .. +executables: \$(wildcard *.irp.f) veryclean + \$(MAKE) -C .. -%.ref: $(wildcard $(QPACKAGE_ROOT)/data/inputs/*.md5) executables - $(QPACKAGE_ROOT)/scripts/create_test_ref.sh $* +%.ref: \$(wildcard \$(QPACKAGE_ROOT)/data/inputs/*.md5) executables + \$(QPACKAGE_ROOT)/scripts/create_test_ref.sh \$* clean: - $(MAKE) -C .. clean - + \$(MAKE) -C .. clean + +veryclean: + \$(MAKE) -C .. veryclean + + EOF diff --git a/src/Electrons/tests/Makefile b/src/Electrons/tests/Makefile index 90432167..48e108a3 100644 --- a/src/Electrons/tests/Makefile +++ b/src/Electrons/tests/Makefile @@ -1,4 +1,4 @@ -OPENMP =1 +OPENMP =1 PROFILE =0 DEBUG = 0 @@ -10,22 +10,23 @@ REF_FILES=$(subst %.irp.f, %.ref, $(wildcard *.irp.f)) all: clean executables serial_tests parallel_tests -parallel_tests: $(REF_FILES) +parallel_tests: $(REF_FILES) @echo ; echo " ---- Running parallel tests ----" ; echo - @OMP_NUM_THREADS=10 ${QPACKAGE_ROOT}/scripts/run_tests.py + @OMP_NUM_THREADS=10 ${QPACKAGE_ROOT}/scripts/run_tests.py serial_tests: $(REF_FILES) @echo ; echo " ---- Running serial tests ----" ; echo - @OMP_NUM_THREADS=1 ${QPACKAGE_ROOT}/scripts/run_tests.py + @OMP_NUM_THREADS=1 ${QPACKAGE_ROOT}/scripts/run_tests.py -executables: $(wildcard *.irp.f) - $(MAKE) -C .. +executables: $(wildcard *.irp.f) veryclean + $(MAKE) -C .. %.ref: $(wildcard $(QPACKAGE_ROOT)/data/inputs/*.md5) executables $(QPACKAGE_ROOT)/scripts/create_test_ref.sh $* clean: - $(MAKE) -C .. clean - + $(MAKE) -C .. clean +veryclean: + $(MAKE) -C .. veryclean diff --git a/src/Ezfio_files/README.rst b/src/Ezfio_files/README.rst index fa289b43..2bc2eebf 100644 --- a/src/Ezfio_files/README.rst +++ b/src/Ezfio_files/README.rst @@ -2,3 +2,6 @@ Ezfio_files Module ================== +This modules essentially contains the name of the EZFIO directory in the +``ezfio_filename`` variable. This is read as the first argument of the +command-line, or as the ``QPACKAGE_INPUT`` environment variable. diff --git a/src/Ezfio_files/ezfio.irp.f b/src/Ezfio_files/ezfio.irp.f index 90c71a5b..79e71590 100644 --- a/src/Ezfio_files/ezfio.irp.f +++ b/src/Ezfio_files/ezfio.irp.f @@ -1,15 +1,33 @@ BEGIN_PROVIDER [ character*(128), ezfio_filename ] implicit none BEGIN_DOC -! Name of EZFIO file + ! Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment + ! variable if it is set, or as the 1st argument of the command line. END_DOC - integer :: iargc - call getarg(0,ezfio_filename) - if (iargc() /= 1) then - print *, ezfio_filename, ' ' + + ! Get the QPACKAGE_INPUT environment variable + call getenv('QPACKAGE_INPUT',ezfio_filename) + if (ezfio_filename == '') then + ! Get from the command line + integer :: iargc + call getarg(0,ezfio_filename) + if (iargc() /= 1) then + print *, 'Missing EZFIO file name in the command line:' + print *, trim(ezfio_filename)//' ' + stop 1 + endif + call getarg(1,ezfio_filename) + endif + + ! Check that file exists + logical :: exists + inquire(file=trim(ezfio_filename)//'/ezfio/.version',exist=exists) + if (.not.exists) then + print *, 'Error: file '//trim(ezfio_filename)//' does not exist' stop 1 endif - call getarg(1,ezfio_filename) + call ezfio_set_file(ezfio_filename) + END_PROVIDER - + diff --git a/src/Ezfio_files/tests/Makefile b/src/Ezfio_files/tests/Makefile new file mode 100644 index 00000000..48e108a3 --- /dev/null +++ b/src/Ezfio_files/tests/Makefile @@ -0,0 +1,32 @@ +OPENMP =1 +PROFILE =0 +DEBUG = 0 + +IRPF90+= -I tests + +REF_FILES=$(subst %.irp.f, %.ref, $(wildcard *.irp.f)) + +.PHONY: clean executables serial_tests parallel_tests + +all: clean executables serial_tests parallel_tests + +parallel_tests: $(REF_FILES) + @echo ; echo " ---- Running parallel tests ----" ; echo + @OMP_NUM_THREADS=10 ${QPACKAGE_ROOT}/scripts/run_tests.py + +serial_tests: $(REF_FILES) + @echo ; echo " ---- Running serial tests ----" ; echo + @OMP_NUM_THREADS=1 ${QPACKAGE_ROOT}/scripts/run_tests.py + +executables: $(wildcard *.irp.f) veryclean + $(MAKE) -C .. + +%.ref: $(wildcard $(QPACKAGE_ROOT)/data/inputs/*.md5) executables + $(QPACKAGE_ROOT)/scripts/create_test_ref.sh $* + +clean: + $(MAKE) -C .. clean + +veryclean: + $(MAKE) -C .. veryclean + diff --git a/src/Ezfio_files/tests/test_ezfio.irp.f b/src/Ezfio_files/tests/test_ezfio.irp.f new file mode 100644 index 00000000..36f77a61 --- /dev/null +++ b/src/Ezfio_files/tests/test_ezfio.irp.f @@ -0,0 +1,21 @@ +program test_number_electrons + implicit none + integer :: i + i = len(ezfio_filename) + do while (ezfio_filename(i:i) == ' ') + i -= 1 + if (i == 0) then + stop 1 + endif + enddo + i -= 1 + do while (ezfio_filename(i:i) /= '/') + i -= 1 + if (i == 0) then + stop 1 + endif + enddo + i += 1 + print *, '"'//trim(ezfio_filename(i:))//'"' + +end diff --git a/src/Ezfio_files/tests/test_ezfio.ref b/src/Ezfio_files/tests/test_ezfio.ref new file mode 100644 index 00000000..b0d5297b --- /dev/null +++ b/src/Ezfio_files/tests/test_ezfio.ref @@ -0,0 +1,635 @@ +data = { + 'AlCl.ezfio' : { + "AlCl.ezfio" + }, + 'Al.ezfio' : { + "Al.ezfio" + }, + 'Al+.ezfio' : { + "Al+.ezfio" + }, + 'AlH2.ezfio' : { + "AlH2.ezfio" + }, + 'AlH3.ezfio' : { + "AlH3.ezfio" + }, + 'AlH.ezfio' : { + "AlH.ezfio" + }, + 'BCl.ezfio' : { + "BCl.ezfio" + }, + 'BeCl.ezfio' : { + "BeCl.ezfio" + }, + 'Be.ezfio' : { + "Be.ezfio" + }, + 'Be+.ezfio' : { + "Be+.ezfio" + }, + 'BeF.ezfio' : { + "BeF.ezfio" + }, + 'BeH2.ezfio' : { + "BeH2.ezfio" + }, + 'BeH.ezfio' : { + "BeH.ezfio" + }, + 'BeO.ezfio' : { + "BeO.ezfio" + }, + 'BeOH.ezfio' : { + "BeOH.ezfio" + }, + 'BeS.ezfio' : { + "BeS.ezfio" + }, + 'B.ezfio' : { + "B.ezfio" + }, + 'B+.ezfio' : { + "B+.ezfio" + }, + 'BH2.ezfio' : { + "BH2.ezfio" + }, + 'BH3.ezfio' : { + "BH3.ezfio" + }, + 'BH.ezfio' : { + "BH.ezfio" + }, + 'BO.ezfio' : { + "BO.ezfio" + }, + 'BS.ezfio' : { + "BS.ezfio" + }, + 'C2.ezfio' : { + "C2.ezfio" + }, + 'C2H2.ezfio' : { + "C2H2.ezfio" + }, + 'C2H2+.ezfio' : { + "C2H2+.ezfio" + }, + 'C2H3.ezfio' : { + "C2H3.ezfio" + }, + 'C2H3+.ezfio' : { + "C2H3+.ezfio" + }, + 'C2H4.ezfio' : { + "C2H4.ezfio" + }, + 'C2H4+.ezfio' : { + "C2H4+.ezfio" + }, + 'C2H5.ezfio' : { + "C2H5.ezfio" + }, + 'C2H6.ezfio' : { + "C2H6.ezfio" + }, + 'C2H.ezfio' : { + "C2H.ezfio" + }, + 'CCl.ezfio' : { + "CCl.ezfio" + }, + 'C-.ezfio' : { + "C-.ezfio" + }, + 'C.ezfio' : { + "C.ezfio" + }, + 'C+.ezfio' : { + "C+.ezfio" + }, + 'CF.ezfio' : { + "CF.ezfio" + }, + 'CH2_1A1.ezfio' : { + "CH2_1A1.ezfio" + }, + 'CH2_3B1.ezfio' : { + "CH2_3B1.ezfio" + }, + 'CH2-.ezfio' : { + "CH2-.ezfio" + }, + 'CH3-.ezfio' : { + "CH3-.ezfio" + }, + 'CH3.ezfio' : { + "CH3.ezfio" + }, + 'CH4.ezfio' : { + "CH4.ezfio" + }, + 'CH4+.ezfio' : { + "CH4+.ezfio" + }, + 'CH-.ezfio' : { + "CH-.ezfio" + }, + 'CH.ezfio' : { + "CH.ezfio" + }, + 'Cl2-.ezfio' : { + "Cl2-.ezfio" + }, + 'Cl2.ezfio' : { + "Cl2.ezfio" + }, + 'Cl2+.ezfio' : { + "Cl2+.ezfio" + }, + 'Cl-.ezfio' : { + "Cl-.ezfio" + }, + 'Cl.ezfio' : { + "Cl.ezfio" + }, + 'Cl+.ezfio' : { + "Cl+.ezfio" + }, + 'ClH2+.ezfio' : { + "ClH2+.ezfio" + }, + 'ClH.ezfio' : { + "ClH.ezfio" + }, + 'ClH+.ezfio' : { + "ClH+.ezfio" + }, + 'ClS.ezfio' : { + "ClS.ezfio" + }, + 'ClSiH3.ezfio' : { + "ClSiH3.ezfio" + }, + 'CN-.ezfio' : { + "CN-.ezfio" + }, + 'CN.ezfio' : { + "CN.ezfio" + }, + 'CO2.ezfio' : { + "CO2.ezfio" + }, + 'CO.ezfio' : { + "CO.ezfio" + }, + 'CO+.ezfio' : { + "CO+.ezfio" + }, + 'COS.ezfio' : { + "COS.ezfio" + }, + 'CP.ezfio' : { + "CP.ezfio" + }, + 'CS2.ezfio' : { + "CS2.ezfio" + }, + 'CS.ezfio' : { + "CS.ezfio" + }, + 'CS+.ezfio' : { + "CS+.ezfio" + }, + 'CSi.ezfio' : { + "CSi.ezfio" + }, + 'F2.ezfio' : { + "F2.ezfio" + }, + 'FAl.ezfio' : { + "FAl.ezfio" + }, + 'FCl.ezfio' : { + "FCl.ezfio" + }, + 'FCl+.ezfio' : { + "FCl+.ezfio" + }, + 'F-.ezfio' : { + "F-.ezfio" + }, + 'F.ezfio' : { + "F.ezfio" + }, + 'F+.ezfio' : { + "F+.ezfio" + }, + 'FH.ezfio' : { + "FH.ezfio" + }, + 'FH+.ezfio' : { + "FH+.ezfio" + }, + 'FMg.ezfio' : { + "FMg.ezfio" + }, + 'FNa.ezfio' : { + "FNa.ezfio" + }, + 'FP.ezfio' : { + "FP.ezfio" + }, + 'FS.ezfio' : { + "FS.ezfio" + }, + 'FSi.ezfio' : { + "FSi.ezfio" + }, + 'FSiH3.ezfio' : { + "FSiH3.ezfio" + }, + 'H2CNH.ezfio' : { + "H2CNH.ezfio" + }, + 'H2CO.ezfio' : { + "H2CO.ezfio" + }, + 'H2CPH.ezfio' : { + "H2CPH.ezfio" + }, + 'H2CS.ezfio' : { + "H2CS.ezfio" + }, + 'H2.ezfio' : { + "H2.ezfio" + }, + 'H2NNH2.ezfio' : { + "H2NNH2.ezfio" + }, + 'H2PPH2.ezfio' : { + "H2PPH2.ezfio" + }, + 'H3CCl.ezfio' : { + "H3CCl.ezfio" + }, + 'H3CF.ezfio' : { + "H3CF.ezfio" + }, + 'H3CNH2.ezfio' : { + "H3CNH2.ezfio" + }, + 'H3COH.ezfio' : { + "H3COH.ezfio" + }, + 'H3CSH.ezfio' : { + "H3CSH.ezfio" + }, + 'H3SiSiH3.ezfio' : { + "H3SiSiH3.ezfio" + }, + 'HBO.ezfio' : { + "HBO.ezfio" + }, + 'HBS.ezfio' : { + "HBS.ezfio" + }, + 'HCF.ezfio' : { + "HCF.ezfio" + }, + 'HCN.ezfio' : { + "HCN.ezfio" + }, + 'HCO.ezfio' : { + "HCO.ezfio" + }, + 'HCP.ezfio' : { + "HCP.ezfio" + }, + 'H.ezfio' : { + "H.ezfio" + }, + 'HNO.ezfio' : { + "HNO.ezfio" + }, + 'HOCl.ezfio' : { + "HOCl.ezfio" + }, + 'HOF.ezfio' : { + "HOF.ezfio" + }, + 'HOMg.ezfio' : { + "HOMg.ezfio" + }, + 'HONa.ezfio' : { + "HONa.ezfio" + }, + 'HOO.ezfio' : { + "HOO.ezfio" + }, + 'HOOH.ezfio' : { + "HOOH.ezfio" + }, + 'HSSH.ezfio' : { + "HSSH.ezfio" + }, + 'Li2.ezfio' : { + "Li2.ezfio" + }, + 'LiCl.ezfio' : { + "LiCl.ezfio" + }, + 'Li.ezfio' : { + "Li.ezfio" + }, + 'Li+.ezfio' : { + "Li+.ezfio" + }, + 'LiF.ezfio' : { + "LiF.ezfio" + }, + 'LiH.ezfio' : { + "LiH.ezfio" + }, + 'LiN.ezfio' : { + "LiN.ezfio" + }, + 'LiO.ezfio' : { + "LiO.ezfio" + }, + 'LiOH.ezfio' : { + "LiOH.ezfio" + }, + 'MgCl.ezfio' : { + "MgCl.ezfio" + }, + 'Mg.ezfio' : { + "Mg.ezfio" + }, + 'Mg+.ezfio' : { + "Mg+.ezfio" + }, + 'MgH.ezfio' : { + "MgH.ezfio" + }, + 'MgS.ezfio' : { + "MgS.ezfio" + }, + 'N2.ezfio' : { + "N2.ezfio" + }, + 'N2+.ezfio' : { + "N2+.ezfio" + }, + 'Na2.ezfio' : { + "Na2.ezfio" + }, + 'NaCl.ezfio' : { + "NaCl.ezfio" + }, + 'Na.ezfio' : { + "Na.ezfio" + }, + 'Na+.ezfio' : { + "Na+.ezfio" + }, + 'NaH.ezfio' : { + "NaH.ezfio" + }, + 'N.ezfio' : { + "N.ezfio" + }, + 'N+.ezfio' : { + "N+.ezfio" + }, + 'NF.ezfio' : { + "NF.ezfio" + }, + 'NH2-.ezfio' : { + "NH2-.ezfio" + }, + 'NH2.ezfio' : { + "NH2.ezfio" + }, + 'NH3.ezfio' : { + "NH3.ezfio" + }, + 'NH3+.ezfio' : { + "NH3+.ezfio" + }, + 'NH4+.ezfio' : { + "NH4+.ezfio" + }, + 'NH-.ezfio' : { + "NH-.ezfio" + }, + 'NH.ezfio' : { + "NH.ezfio" + }, + 'NO-.ezfio' : { + "NO-.ezfio" + }, + 'NO.ezfio' : { + "NO.ezfio" + }, + 'NP.ezfio' : { + "NP.ezfio" + }, + 'NS.ezfio' : { + "NS.ezfio" + }, + 'NSi.ezfio' : { + "NSi.ezfio" + }, + 'O2Cl.ezfio' : { + "O2Cl.ezfio" + }, + 'O2-.ezfio' : { + "O2-.ezfio" + }, + 'O2.ezfio' : { + "O2.ezfio" + }, + 'O2+.ezfio' : { + "O2+.ezfio" + }, + 'O2S.ezfio' : { + "O2S.ezfio" + }, + 'O2Si.ezfio' : { + "O2Si.ezfio" + }, + 'O3.ezfio' : { + "O3.ezfio" + }, + 'OCl.ezfio' : { + "OCl.ezfio" + }, + 'O-.ezfio' : { + "O-.ezfio" + }, + 'O.ezfio' : { + "O.ezfio" + }, + 'O+.ezfio' : { + "O+.ezfio" + }, + 'OH2.ezfio' : { + "OH2.ezfio" + }, + 'OH2+.ezfio' : { + "OH2+.ezfio" + }, + 'OH3+.ezfio' : { + "OH3+.ezfio" + }, + 'OH-.ezfio' : { + "OH-.ezfio" + }, + 'OH.ezfio' : { + "OH.ezfio" + }, + 'OH+.ezfio' : { + "OH+.ezfio" + }, + 'OMg.ezfio' : { + "OMg.ezfio" + }, + 'ONa.ezfio' : { + "ONa.ezfio" + }, + 'OP-.ezfio' : { + "OP-.ezfio" + }, + 'OP.ezfio' : { + "OP.ezfio" + }, + 'OPH.ezfio' : { + "OPH.ezfio" + }, + 'OS.ezfio' : { + "OS.ezfio" + }, + 'OSi.ezfio' : { + "OSi.ezfio" + }, + 'P2.ezfio' : { + "P2.ezfio" + }, + 'P2+.ezfio' : { + "P2+.ezfio" + }, + 'PCl.ezfio' : { + "PCl.ezfio" + }, + 'P-.ezfio' : { + "P-.ezfio" + }, + 'P.ezfio' : { + "P.ezfio" + }, + 'PH2-.ezfio' : { + "PH2-.ezfio" + }, + 'PH2.ezfio' : { + "PH2.ezfio" + }, + 'PH2+.ezfio' : { + "PH2+.ezfio" + }, + 'PH3.ezfio' : { + "PH3.ezfio" + }, + 'PH3+.ezfio' : { + "PH3+.ezfio" + }, + 'PH4+.ezfio' : { + "PH4+.ezfio" + }, + 'PH-.ezfio' : { + "PH-.ezfio" + }, + 'PH.ezfio' : { + "PH.ezfio" + }, + 'PS.ezfio' : { + "PS.ezfio" + }, + 'S2-.ezfio' : { + "S2-.ezfio" + }, + 'S2.ezfio' : { + "S2.ezfio" + }, + 'S-.ezfio' : { + "S-.ezfio" + }, + 'S.ezfio' : { + "S.ezfio" + }, + 'S+.ezfio' : { + "S+.ezfio" + }, + 'SH2.ezfio' : { + "SH2.ezfio" + }, + 'SH2+.ezfio' : { + "SH2+.ezfio" + }, + 'SH3+.ezfio' : { + "SH3+.ezfio" + }, + 'SH-.ezfio' : { + "SH-.ezfio" + }, + 'SH.ezfio' : { + "SH.ezfio" + }, + 'SH+.ezfio' : { + "SH+.ezfio" + }, + 'Si2.ezfio' : { + "Si2.ezfio" + }, + 'SiCl.ezfio' : { + "SiCl.ezfio" + }, + 'Si-.ezfio' : { + "Si-.ezfio" + }, + 'Si.ezfio' : { + "Si.ezfio" + }, + 'SiH2_1A1.ezfio' : { + "SiH2_1A1.ezfio" + }, + 'SiH2_3B1.ezfio' : { + "SiH2_3B1.ezfio" + }, + 'SiH2-.ezfio' : { + "SiH2-.ezfio" + }, + 'SiH3-.ezfio' : { + "SiH3-.ezfio" + }, + 'SiH3.ezfio' : { + "SiH3.ezfio" + }, + 'SiH4.ezfio' : { + "SiH4.ezfio" + }, + 'SiH4+.ezfio' : { + "SiH4+.ezfio" + }, + 'SiH-.ezfio' : { + "SiH-.ezfio" + }, + 'SiH.ezfio' : { + "SiH.ezfio" + }, + 'SiS.ezfio' : { + "SiS.ezfio" + }, +}