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:
parent
d8a515a683
commit
8b959ec696
2
TODO
2
TODO
@ -1,5 +1,3 @@
|
||||
* Virer cache compile
|
||||
|
||||
# qp_module
|
||||
|
||||
* Mettre les fichiers de test dans le directory source
|
||||
|
68
scripts/qp_test
Executable file
68
scripts/qp_test
Executable 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)
|
||||
|
||||
|
@ -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")
|
||||
|
@ -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
|
Loading…
Reference in New Issue
Block a user