10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-09-27 03:51:01 +02:00

Moved bats files and added qp_test. Need to change travis

This commit is contained in:
Anthony Scemama 2018-12-21 16:34:04 +01:00
parent d8a515a683
commit 8b959ec696
5 changed files with 71 additions and 3 deletions

2
TODO
View File

@ -1,5 +1,3 @@
* Virer cache compile
# qp_module
* Mettre les fichiers de test dans le directory source

68
scripts/qp_test Executable file
View File

@ -0,0 +1,68 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Runs all the possible tests using bats.
Usage:
qp_test [-av]
Options:
-v verbose output
-a test all installed modules. Default is to test the current directory.
"""
import os
import subprocess
try:
from docopt import docopt
from qp_path import QP_SRC, QP_PLUGINS, QP_ROOT, QP_TESTS
except ImportError:
print "Please check if you have sourced the ${QP_ROOT}/quantum_package.rc"
print "(`source ${QP_ROOT}/quantum_package.rc`)"
print sys.exit(1)
def main(arguments):
# Fetch all *.bats files
l_bats = []
def append_bats(dirname, filenames):
for f in filenames:
if f.endswith(".bats"):
l_bats.append( os.path.join(dirname,f) )
if arguments["-a"]:
for (dirname, _, filenames) in os.walk(QP_SRC, followlinks=False) :
append_bats(dirname, filenames)
else:
for (dirname, _, filenames) in os.walk(os.getcwd(), followlinks=False) :
append_bats(dirname, filenames)
print l_bats
# Execute tests
os.chdir(QP_TESTS)
for bats_file in l_bats:
print ""
print "-~-~-~-~-~-~"
print ""
print "Running tests for %s"%(bats_file)
print ""
if arguments["-v"]:
p1 = subprocess.Popen(["python2", "bats_to_sh.py", bats_file], \
stdout=subprocess.PIPE)
p2 = subprocess.Popen(["bash"], stdin=p1.stdout)
_, _ = os.waitpid(p2.pid,0)
_, _ = os.waitpid(p1.pid,0)
else:
subprocess.check_call(["bats", bats_file])
if __name__ == '__main__':
arguments = docopt(__doc__)
main(arguments)

View File

@ -14,3 +14,4 @@ else:
QP_PLUGINS = os.path.join(QP_ROOT, "plugins")
QP_EZFIO = os.environ["QP_EZFIO"]
QP_OCAML = os.path.join(QP_ROOT, "ocaml")
QP_TESTS = os.path.join(QP_ROOT, "tests")

View File

@ -4,6 +4,7 @@ source $QP_ROOT/tests/bats/common.bats.sh
function run_init() {
cp "${QP_ROOT}/tests/input/$1" .
rm -rf -- $3
qp_create_ezfio_from_xyz $1 -o $3 $2
qp_edit -c $3
}
@ -14,7 +15,7 @@ function run_HF() {
test_exe scf || skip
qp_edit -c $1
ezfio set_file $1
ezfio set hartree_fock thresh_scf 1.e-10
ezfio set scf_utils thresh_scf 1.e-10
qp_run scf $1
energy="$(ezfio get hartree_fock energy)"
eq $energy $2 $thresh