n2p2: Add new package (#21709)

* n2p2: Add new package

* remove ,

* Resurrection of , and changed " to single

* changed example.command to example.co

* n2p2: Added v2.1.1

* n2p2: Changed the type of depends_on.
This commit is contained in:
kuramoto-fj 2021-02-25 01:35:27 +09:00 committed by GitHub
parent e53595c0dc
commit d65002a676
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 768 additions and 0 deletions

View File

@ -0,0 +1,18 @@
--- a/src/interface/makefile
+++ b/src/interface/makefile
@@ -45,10 +45,11 @@ lammps-nnp:
tar -xzf $(LAMMPS_VERSION).tar.gz && mv lammps-$(LAMMPS_VERSION) lammps-nnp
ln -s $(PROJECT_DIR)/../../ lammps-nnp/lib/nnp
cp -r ./LAMMPS/src/USER-NNP lammps-nnp/src/
- sed -i "s/^CC .*$$/CC = $(PROJECT_MPICC)/" lammps-nnp/src/MAKE/Makefile.mpi
- sed -i "s/^CCFLAGS .*$$/CCFLAGS = $(PROJECT_CFLAGS) $(PROJECT_CFLAGS_MPI)/" lammps-nnp/src/MAKE/Makefile.mpi
- sed -i "s/^LINK .*$$/LINK = $(PROJECT_MPICC)/" lammps-nnp/src/MAKE/Makefile.mpi
- sed -i "s/^LINKFLAGS .*$$/LINKFLAGS = $(PROJECT_CFLAGS) $(PROJECT_CFLAGS_MPI)/" lammps-nnp/src/MAKE/Makefile.mpi
+ sed -i "s/final(/final2(/g" lammps-nnp/src/hashlittle.cpp
+ sed -i "s|^CC .*$$|CC = $(PROJECT_MPICC)|" lammps-nnp/src/MAKE/Makefile.mpi
+ sed -i "s|^CCFLAGS .*$$|CCFLAGS = $(PROJECT_CFLAGS) $(PROJECT_CFLAGS_MPI)|" lammps-nnp/src/MAKE/Makefile.mpi
+ sed -i "s|^LINK .*$$|LINK = $(PROJECT_MPICC)|" lammps-nnp/src/MAKE/Makefile.mpi
+ sed -i "s|^LINKFLAGS .*$$|LINKFLAGS = $(PROJECT_CFLAGS) $(PROJECT_CFLAGS_MPI)|" lammps-nnp/src/MAKE/Makefile.mpi
if [ "$(MODE)" = "test" ]; then \
sed -i "/^CCFLAGS =/ s/$$/ $(PROJECT_DEBUG) $(PROJECT_TEST)/" lammps-nnp/src/MAKE/Makefile.mpi; \
sed -i "/^LINKFLAGS =/ s/$$/ $(PROJECT_DEBUG) $(PROJECT_TEST)/" lammps-nnp/src/MAKE/Makefile.mpi; \

View File

@ -0,0 +1,17 @@
--- a/src/interface/makefile
+++ b/src/interface/makefile
@@ -46,10 +46,10 @@ lammps-nnp:
tar -xzf $(LAMMPS_VERSION).tar.gz && mv lammps-$(LAMMPS_VERSION) lammps-nnp
ln -s $(PROJECT_DIR)/../../ lammps-nnp/lib/nnp
cp -r ./LAMMPS/src/USER-NNP lammps-nnp/src/
- @sed -i.bak "s/^CC .*$$/CC = $(PROJECT_MPICC)/" lammps-nnp/src/MAKE/Makefile.mpi
- @sed -i.bak "s/^CCFLAGS .*$$/CCFLAGS = $(PROJECT_CFLAGS) $(PROJECT_CFLAGS_MPI)/" lammps-nnp/src/MAKE/Makefile.mpi
- @sed -i.bak "s/^LINK .*$$/LINK = $(PROJECT_MPICC)/" lammps-nnp/src/MAKE/Makefile.mpi
- @sed -i.bak "s/^LINKFLAGS .*$$/LINKFLAGS = $(PROJECT_CFLAGS) $(PROJECT_CFLAGS_MPI)/" lammps-nnp/src/MAKE/Makefile.mpi
+ @sed -i.bak "s|^CC .*$$|CC = $(PROJECT_MPICC)|" lammps-nnp/src/MAKE/Makefile.mpi
+ @sed -i.bak "s|^CCFLAGS .*$$|CCFLAGS = $(PROJECT_CFLAGS) $(PROJECT_CFLAGS_MPI)|" lammps-nnp/src/MAKE/Makefile.mpi
+ @sed -i.bak "s|^LINK .*$$|LINK = $(PROJECT_MPICC)|" lammps-nnp/src/MAKE/Makefile.mpi
+ @sed -i.bak "s|^LINKFLAGS .*$$|LINKFLAGS = $(PROJECT_CFLAGS) $(PROJECT_CFLAGS_MPI)|" lammps-nnp/src/MAKE/Makefile.mpi
if [ "$(MODE)" = "test" ]; then \
sed -i.bak "/^CCFLAGS =/ s/$$/ $(LAMMPS_DEBUG) $(PROJECT_TEST)/" lammps-nnp/src/MAKE/Makefile.mpi; \
sed -i.bak "/^LINKFLAGS =/ s/$$/ $(LAMMPS_DEBUG) $(PROJECT_TEST)/" lammps-nnp/src/MAKE/Makefile.mpi; \

View File

@ -0,0 +1,30 @@
--- a/src/libnnp/makefile
+++ b/src/libnnp/makefile
@@ -72,11 +72,11 @@ headers: version
version:
@$(eval GIT_VERSION = $(shell git describe --tags --always))
- @sed -i.bak -E "s/(NNP_GIT_VERSION) .*/\1 \"$(GIT_VERSION)\"/" version.h
+ @sed -i.bak -E "s|(NNP_GIT_VERSION) .*|\1 \"$(GIT_VERSION)\"|" version.h
@$(eval GIT_REV = $(shell git rev-parse HEAD))
- @sed -i.bak -E "s/(NNP_GIT_REV) .*/\1 \"$(GIT_REV)\"/" version.h
+ @sed -i.bak -E "s|(NNP_GIT_REV) .*|\1 \"$(GIT_REV)\"|" version.h
@$(eval GIT_BRANCH = $(shell git rev-parse --abbrev-ref HEAD))
- @sed -i.bak -E "s/(NNP_GIT_BRANCH) .*/\1 \"$(GIT_BRANCH)\"/" version.h
+ @sed -i.bak -E "s|(NNP_GIT_BRANCH) .*|\1 \"$(GIT_BRANCH)\"|" version.h
@rm version.h.bak
$(LIB).so: CFLAGS+= -fPIC
@@ -97,9 +97,9 @@ clean: clean-version clean-headers
$(RM) $(PROJECT_LIB)/$(LIB).so $(PROJECT_LIB)/$(LIB).a
clean-version:
- @sed -i.bak -E "s/(NNP_GIT_VERSION) .*/\1 \"\"/" version.h
- @sed -i.bak -E "s/(NNP_GIT_REV) .*/\1 \"\"/" version.h
- @sed -i.bak -E "s/(NNP_GIT_BRANCH) .*/\1 \"\"/" version.h
+ @sed -i.bak -E "s|(NNP_GIT_VERSION) .*|\1 \"\"|" version.h
+ @sed -i.bak -E "s|(NNP_GIT_REV) .*|\1 \"\"|" version.h
+ @sed -i.bak -E "s|(NNP_GIT_BRANCH) .*|\1 \"\"|" version.h
@rm version.h.bak
clean-headers:

View File

@ -0,0 +1,10 @@
--- a/test/cpp/nnp_test.h
+++ b/test/cpp/nnp_test.h
@@ -7,6 +7,7 @@
#include <boost/process.hpp>
#include <boost/filesystem.hpp>
#include <iostream>
+#include <boost/asio.hpp>
#include "fileHelpers.h"
namespace bdata = boost::unit_test::data;

View File

@ -0,0 +1,138 @@
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class N2p2(MakefilePackage):
"""N2p2 (The neural network potential package) provides ready-to-use
software for high-dimensional neural network potentials
in computational physics and chemistry."""
homepage = "https://github.com/CompPhysVienna/n2p2"
url = "https://github.com/CompPhysVienna/n2p2/archive/v2.1.0.tar.gz"
version(
"2.1.1",
sha256="90fbc0756132984d0d7e6d92d2f53358c120e75f148910d90c027158163251b9",
)
version(
"2.1.0",
sha256="283c00e9a5b964f4c84a70c5f1cef7167e9b881080b50a221da08799e5ede400",
)
variant("doc", default=False, description="build documentation with Doxygen")
patch("interface-makefile.patch", when="@2.1.0")
patch("interface-makefile211.patch", when="@2.1.1")
patch("libnnp-makefile.patch")
patch("nnp_test.h.patch")
depends_on("mpi")
depends_on("blas")
depends_on("gsl", type=("build", "run", "link"))
depends_on("eigen", type=("build", "run", "link"))
depends_on("doxygen", type="build", when="+doc")
depends_on("texlive", type="build", when="+doc")
depends_on("py-cython", type=("build", "run"))
depends_on("py-breathe", type="build", when="+doc")
depends_on("py-sphinx", type="build", when="+doc")
depends_on("py-sphinx-rtd-theme", type="build", when="+doc")
depends_on("boost", type="link")
depends_on("lcov", type=("build", "run"))
depends_on("py-pytest", type=("build", "run"))
depends_on("py-pytest-cov", type="run")
depends_on("py-coverage@4.5.4", type="run")
depends_on("py-packaging", type="run")
depends_on("python", type=("build", "run"))
test_requires_compiler = True
def edit(self, spec, prefix):
makefile = FileFilter(join_path("src", "makefile.gnu"))
blas_libs = self.spec["blas"].libs
makefile.filter("PROJECT_CC=.*", "PROJECT_CC={0}".format(spack_cxx))
makefile.filter(
"PROJECT_MPICC=.*", "PROJECT_MPICC={0}".format(self.spec["mpi"].mpicxx)
)
makefile.filter(
"PROJECT_CFLAGS=.*", "PROJECT_CFLAGS={0}".format(self.compiler.cxx11_flag)
)
makefile.filter(
"PROJECT_LDFLAGS_BLAS.*",
"PROJECT_LDFLAGS_BLAS={0} -lgsl -lgslcblas".format(blas_libs.ld_flags),
)
def build(self, spec, prefix):
with working_dir("src"):
make()
make("lammps-nnp")
make("pynnp")
if "+doc" in self.spec:
make("doc")
def install(self, spec, prefix):
install_tree("bin", prefix.bin)
if "+doc" in self.spec:
install_tree("doc", prefix.doc)
install_tree("examples", prefix.examples)
install_tree("include", prefix.include)
install_tree("lib", prefix.lib)
install_tree("tools", prefix.tools)
@run_after("install")
def setup_build_tests(self):
"""Copy the build test files after the package is installed to an
install test subdirectory for use during `spack test run`."""
self.cache_extra_test_sources(".")
def test(self):
with working_dir(join_path(self.install_test_root, "test"), create=False):
make("clean")
with working_dir(join_path(self.install_test_root, "src"), create=False):
make("clean")
make(
"MODE=test",
"PROJECT_GSL={0}".format(self.spec["gsl"].prefix.include),
"PROJECT_EIGEN={0}".format(self.spec["eigen"].prefix.include.eigen3),
)
make(
"MODE=test",
"lammps-nnp",
"PROJECT_GSL={0}".format(self.spec["gsl"].prefix.include),
"PROJECT_EIGEN={0}".format(self.spec["eigen"].prefix.include.eigen3),
)
make("pynnp", "MODE=test")
with working_dir(join_path(self.install_test_root, "test"), create=False):
if self.spec.satisfies("%fj"):
f = FileFilter(join_path("cpp", "nnp_test.h"))
f.filter(
"(example.co",
'("{0} -n 1 " + example.co'.format(
self.spec["mpi"].prefix.bin.mpirun
),
string=True,
)
f = FileFilter(join_path("cpp", "makefile"))
f.filter(
"log_level=.*", "log_level=$(LOG_LEVEL) 2>&1 | tee -a ../output_cpp.txt"
)
f = FileFilter(join_path("python", "makefile"))
f.filter("term\\s-v.*", "term -v | tee -a ../output_python.txt")
make("cpp", parallel=False)
make("python", parallel=False)
test_dir = self.test_suite.current_test_data_dir
expected_file = join_path(
test_dir, "expected-result-{0}.txt".format(self.version)
)
check_n2p2 = Executable(join_path(test_dir, "result-check.sh"))
check_n2p2("./output_cpp.txt", "./output_python.txt", expected_file)

View File

@ -0,0 +1,271 @@
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
test_Atom.py::Test___cinit__::test_skeleton_initialization PASSED [ 0%]
test_Atom.py::Test___cinit__::test_empty_initialization PASSED [ 0%]
test_Atom.py::Test_hasNeighborList::test_correct_type PASSED [ 1%]
test_Atom.py::Test_hasNeighborList::test_set_and_get PASSED [ 1%]
test_Atom.py::Test_hasSymmetryFunctions::test_correct_type PASSED [ 1%]
test_Atom.py::Test_hasSymmetryFunctions::test_set_and_get PASSED [ 2%]
test_Atom.py::Test_hasSymmetryFunctionDerivatives::test_correct_type PASSED [ 2%]
test_Atom.py::Test_hasSymmetryFunctionDerivatives::test_set_and_get PASSED [ 3%]
test_Atom.py::Test_index::test_correct_type PASSED [ 3%]
test_Atom.py::Test_index::test_set_and_get PASSED [ 3%]
test_Atom.py::Test_indexStructure::test_correct_type PASSED [ 4%]
test_Atom.py::Test_indexStructure::test_set_and_get PASSED [ 4%]
test_Atom.py::Test_tag::test_correct_type PASSED [ 5%]
test_Atom.py::Test_tag::test_set_and_get PASSED [ 5%]
test_Atom.py::Test_element::test_correct_type PASSED [ 5%]
test_Atom.py::Test_element::test_set_and_get PASSED [ 6%]
test_Atom.py::Test_numNeighbors::test_correct_type PASSED [ 6%]
test_Atom.py::Test_numNeighbors::test_set_and_get PASSED [ 7%]
test_Atom.py::Test_numNeighborsUnique::test_correct_type PASSED [ 7%]
test_Atom.py::Test_numNeighborsUnique::test_set_and_get PASSED [ 7%]
test_Atom.py::Test_numSymmetryFunctions::test_correct_type PASSED [ 8%]
test_Atom.py::Test_numSymmetryFunctions::test_set_and_get PASSED [ 8%]
test_Atom.py::Test_energy::test_correct_type PASSED [ 9%]
test_Atom.py::Test_energy::test_set_and_get PASSED [ 9%]
test_Atom.py::Test_charge::test_correct_type PASSED [ 9%]
test_Atom.py::Test_charge::test_set_and_get PASSED [ 10%]
test_Atom.py::Test_r::test_correct_type PASSED [ 10%]
test_Atom.py::Test_r::test_set_and_get PASSED [ 10%]
test_Atom.py::Test_f::test_correct_type PASSED [ 11%]
test_Atom.py::Test_f::test_set_and_get PASSED [ 11%]
test_Atom.py::Test_fRef::test_correct_type PASSED [ 12%]
test_Atom.py::Test_fRef::test_set_and_get PASSED [ 12%]
test_Atom.py::Test_neighborsUnique::test_correct_type PASSED [ 12%]
test_Atom.py::Test_numNeighborsPerElement::test_correct_type PASSED [ 13%]
test_Atom.py::Test_G::test_correct_type PASSED [ 13%]
test_Atom.py::Test_dEdG::test_correct_type PASSED [ 14%]
test_Atom.py::Test_dGdr::test_correct_type PASSED [ 14%]
test_Atom.py::Test_neighbors::test_correct_type PASSED [ 14%]
test_Atom.py::Test_info::test_return_list PASSED [ 15%]
test_CutoffFunction.py::Test___cinit__::test_skeleton_initialization PASSED [ 15%]
test_CutoffFunction.py::Test___cinit__::test_empty_initialization PASSED [ 16%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[0] PASSED [ 16%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[1] PASSED [ 16%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[2] PASSED [ 17%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[3] PASSED [ 17%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[4] PASSED [ 18%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[5] PASSED [ 18%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[6] PASSED [ 18%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[7] PASSED [ 19%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[8] PASSED [ 19%]
test_CutoffFunction.py::Test_setCutoffType::test_set_unknown_type PASSED [ 20%]
test_CutoffFunction.py::Test_setCutoffRadius::test_set_float_value PASSED [ 20%]
test_CutoffFunction.py::Test_setCutoffRadius::test_set_wrong_argument PASSED [ 20%]
test_CutoffFunction.py::Test_setCutoffParameter::test_set_float_value PASSED [ 21%]
test_CutoffFunction.py::Test_setCutoffParameter::test_set_wrong_float_value PASSED [ 21%]
test_CutoffFunction.py::Test_setCutoffParameter::test_set_wrong_argument PASSED [ 21%]
test_CutoffFunction.py::Test_f::test_boundaries[0] PASSED [ 22%]
test_CutoffFunction.py::Test_f::test_boundaries[1] PASSED [ 22%]
test_CutoffFunction.py::Test_f::test_boundaries[2] PASSED [ 23%]
test_CutoffFunction.py::Test_f::test_boundaries[3] PASSED [ 23%]
test_CutoffFunction.py::Test_f::test_boundaries[4] PASSED [ 23%]
test_CutoffFunction.py::Test_f::test_boundaries[5] PASSED [ 24%]
test_CutoffFunction.py::Test_f::test_boundaries[6] PASSED [ 24%]
test_CutoffFunction.py::Test_f::test_boundaries[7] PASSED [ 25%]
test_CutoffFunction.py::Test_f::test_boundaries[8] PASSED [ 25%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[0-1.0] PASSED [ 25%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[1-0.1464466094067261] PASSED [ 26%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[2-0.00768915371206977] PASSED [ 26%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[3-0.01740635089776903] PASSED [ 27%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[4-0.27645304662956416] PASSED [ 27%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[5-0.1562499999999999] PASSED [ 27%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[6-0.10351562500000003] PASSED [ 28%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[7-0.07055664062499914] PASSED [ 28%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[8-0.04892730712890944] PASSED [ 29%]
test_CutoffFunction.py::Test_f::test_nonfloat_argument PASSED [ 29%]
test_CutoffFunction.py::Test_df::test_boundaries[0] PASSED [ 29%]
test_CutoffFunction.py::Test_df::test_boundaries[1] PASSED [ 30%]
test_CutoffFunction.py::Test_df::test_boundaries[2] PASSED [ 30%]
test_CutoffFunction.py::Test_df::test_boundaries[3] PASSED [ 30%]
test_CutoffFunction.py::Test_df::test_boundaries[4] PASSED [ 31%]
test_CutoffFunction.py::Test_df::test_boundaries[5] PASSED [ 31%]
test_CutoffFunction.py::Test_df::test_boundaries[6] PASSED [ 32%]
test_CutoffFunction.py::Test_df::test_boundaries[7] PASSED [ 32%]
test_CutoffFunction.py::Test_df::test_boundaries[8] PASSED [ 32%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[0-0.0] PASSED [ 33%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[1--0.46280030605816297] PASSED [ 33%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[2--0.0374393678577051] PASSED [ 34%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[3--0.08475351107871792] PASSED [ 34%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[4--0.9027038257291898] PASSED [ 34%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[5--0.4687499999999999] PASSED [ 35%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[6--0.43945312499999917] PASSED [ 35%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[7--0.38452148437500033] PASSED [ 36%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[8--0.32444000244141674] PASSED [ 36%]
test_CutoffFunction.py::Test_df::test_nonfloat_argument PASSED [ 36%]
test_CutoffFunction.py::Test_fdf::test_boundaries[0] PASSED [ 37%]
test_CutoffFunction.py::Test_fdf::test_boundaries[1] PASSED [ 37%]
test_CutoffFunction.py::Test_fdf::test_boundaries[2] PASSED [ 38%]
test_CutoffFunction.py::Test_fdf::test_boundaries[3] PASSED [ 38%]
test_CutoffFunction.py::Test_fdf::test_boundaries[4] PASSED [ 38%]
test_CutoffFunction.py::Test_fdf::test_boundaries[5] PASSED [ 39%]
test_CutoffFunction.py::Test_fdf::test_boundaries[6] PASSED [ 39%]
test_CutoffFunction.py::Test_fdf::test_boundaries[7] PASSED [ 40%]
test_CutoffFunction.py::Test_fdf::test_boundaries[8] PASSED [ 40%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[0-1.0-0.0] PASSED [ 40%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[1-0.1464466094067261--0.46280030605816297] PASSED [ 41%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[2-0.00768915371206977--0.0374393678577051] PASSED [ 41%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[3-0.01740635089776903--0.08475351107871792] PASSED [ 41%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[4-0.27645304662956416--0.9027038257291898] PASSED [ 42%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[5-0.1562499999999999--0.4687499999999999] PASSED [ 42%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[6-0.10351562500000003--0.43945312499999917] PASSED [ 43%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[7-0.07055664062499914--0.38452148437500033] PASSED [ 43%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[8-0.04892730712890944--0.32444000244141674] PASSED [ 43%]
test_CutoffFunction.py::Test_fdf::test_nonfloat_argument PASSED [ 44%]
test_ElementMap.py::Test___cinit__::test_skeleton_initialization PASSED [ 44%]
test_ElementMap.py::Test___cinit__::test_empty_initialization PASSED [ 45%]
test_ElementMap.py::Test_registerElements::test_nonstring_argument PASSED [ 45%]
test_ElementMap.py::Test_registerElements::test_correct_elements_registered PASSED [ 45%]
test_ElementMap.py::Test___getitem__::test_correct_element_index PASSED [ 46%]
test_ElementMap.py::Test___getitem__::test_correct_element_symbol PASSED [ 46%]
test_ElementMap.py::Test___getitem__::test_out_of_bounds_index PASSED [ 47%]
test_ElementMap.py::Test___getitem__::test_unknown_symbol PASSED [ 47%]
test_ElementMap.py::Test___getitem__::test_wrong_argument_type PASSED [ 47%]
test_ElementMap.py::Test_size::test_correct_empty_size_returned PASSED [ 48%]
test_ElementMap.py::Test_size::test_correct_size_returned PASSED [ 48%]
test_ElementMap.py::Test_index::test_correct_element_index PASSED [ 49%]
test_ElementMap.py::Test_index::test_wrong_argument_type PASSED [ 49%]
test_ElementMap.py::Test_symbol::test_correct_element_index PASSED [ 49%]
test_ElementMap.py::Test_symbol::test_wrong_argument_type PASSED [ 50%]
test_ElementMap.py::Test_deregisterElements::test_empty_map PASSED [ 50%]
test_ElementMap.py::Test_symbolFromAtomicNumber::test_some_elements PASSED [ 50%]
test_ElementMap.py::Test_info::test_return_list PASSED [ 51%]
test_Log.py::Test___cinit__::test_skeleton_initialization PASSED [ 51%]
test_Log.py::Test___cinit__::test_empty_initialization PASSED [ 52%]
test_Log.py::Test_addLogEntry::test_add_string_entry PASSED [ 52%]
test_Log.py::Test_addLogEntry::test_add_nonstring_entry PASSED [ 52%]
test_Log.py::Test_getLog::test_read_two_entries PASSED [ 53%]
test_Log.py::Test_writeToStdout::test_correct_type PASSED [ 53%]
test_Log.py::Test_writeToStdout::test_set_and_get PASSED [ 54%]
test_Neighbor.py::Test___cinit__::test_skeleton_initialization PASSED [ 54%]
test_Neighbor.py::Test___cinit__::test_empty_initialization PASSED [ 54%]
test_Neighbor.py::Test_index::test_correct_type PASSED [ 55%]
test_Neighbor.py::Test_index::test_set_and_get PASSED [ 55%]
test_Neighbor.py::Test_tag::test_correct_type PASSED [ 56%]
test_Neighbor.py::Test_tag::test_set_and_get PASSED [ 56%]
test_Neighbor.py::Test_element::test_correct_type PASSED [ 56%]
test_Neighbor.py::Test_element::test_set_and_get PASSED [ 57%]
test_Neighbor.py::Test_d::test_correct_type PASSED [ 57%]
test_Neighbor.py::Test_d::test_set_and_get PASSED [ 58%]
test_Neighbor.py::Test_dr::test_correct_type PASSED [ 58%]
test_Neighbor.py::Test_dr::test_set_and_get PASSED [ 58%]
test_Neighbor.py::Test_dGdr::test_correct_type PASSED [ 59%]
test_Neighbor.py::Test___eq__::test_not_equal PASSED [ 59%]
test_Neighbor.py::Test___eq__::test_element_different PASSED [ 60%]
test_Neighbor.py::Test___eq__::test_distance_different PASSED [ 60%]
test_Neighbor.py::Test___eq__::test_equal PASSED [ 60%]
test_Neighbor.py::Test___ne__::test_element_different PASSED [ 61%]
test_Neighbor.py::Test___ne__::test_distance_different PASSED [ 61%]
test_Neighbor.py::Test___ne__::test_equal PASSED [ 61%]
test_Neighbor.py::Test___lt__::test_less_than PASSED [ 62%]
test_Neighbor.py::Test___lt__::test_greater_than PASSED [ 62%]
test_Neighbor.py::Test___lt__::test_equal_distance PASSED [ 63%]
test_Neighbor.py::Test___lt__::test_equal_element PASSED [ 63%]
test_Neighbor.py::Test___lt__::test_equal PASSED [ 63%]
test_Neighbor.py::Test___gt__::test_less_than PASSED [ 64%]
test_Neighbor.py::Test___gt__::test_greater_than PASSED [ 64%]
test_Neighbor.py::Test___gt__::test_equal_distance PASSED [ 65%]
test_Neighbor.py::Test___gt__::test_equal_element PASSED [ 65%]
test_Neighbor.py::Test___gt__::test_equal PASSED [ 65%]
test_Neighbor.py::Test___le__::test_less_than PASSED [ 66%]
test_Neighbor.py::Test___le__::test_greater_than PASSED [ 66%]
test_Neighbor.py::Test___le__::test_equal_distance PASSED [ 67%]
test_Neighbor.py::Test___le__::test_equal_element PASSED [ 67%]
test_Neighbor.py::Test___le__::test_equal PASSED [ 67%]
test_Neighbor.py::Test___ge__::test_less_than PASSED [ 68%]
test_Neighbor.py::Test___ge__::test_greater_than PASSED [ 68%]
test_Neighbor.py::Test___ge__::test_equal_distance PASSED [ 69%]
test_Neighbor.py::Test___ge__::test_equal_element PASSED [ 69%]
test_Neighbor.py::Test___ge__::test_equal PASSED [ 69%]
test_Settings.py::Test___cinit__::test_skeleton_initialization PASSED [ 70%]
test_Settings.py::Test___cinit__::test_empty_initialization PASSED [ 70%]
test_Settings.py::Test_loadFile::test_file_read[setups/Settings] PASSED [ 70%]
test_Settings.py::Test___getitem__::test_existing_key[setups/Settings] PASSED [ 71%]
test_Settings.py::Test___getitem__::test_nonexisting_key[setups/Settings] PASSED [ 71%]
test_Settings.py::Test___getitem__::test_nonstring_key[setups/Settings] PASSED [ 72%]
test_Settings.py::Test_keywordExists::test_existing_key[setups/Settings] PASSED [ 72%]
test_Settings.py::Test_keywordExists::test_nonexisting_key[setups/Settings] PASSED [ 72%]
test_Settings.py::Test_keywordExists::test_nonstring_key[setups/Settings] PASSED [ 73%]
test_Settings.py::Test_getValue::test_existing_key[setups/Settings] PASSED [ 73%]
test_Settings.py::Test_getValue::test_nonexisting_key[setups/Settings] PASSED [ 74%]
test_Settings.py::Test_getValue::test_nonstring_key[setups/Settings] PASSED [ 74%]
test_Settings.py::Test_info::test_return_list[setups/Settings] PASSED [ 74%]
test_Settings.py::Test_getSettingsLines::test_return_list[setups/Settings] PASSED [ 75%]
test_Vec3D.py::Test___cinit__::test_skeleton_initialization PASSED [ 75%]
test_Vec3D.py::Test___cinit__::test_empty_initialization PASSED [ 76%]
test_Vec3D.py::Test___cinit__::test_float_initialization PASSED [ 76%]
test_Vec3D.py::Test___cinit__::test_Vec3D_initialization PASSED [ 76%]
test_Vec3D.py::Test___getitem__::test_no_integer_index PASSED [ 77%]
test_Vec3D.py::Test___getitem__::test_negative_index PASSED [ 77%]
test_Vec3D.py::Test___getitem__::test_large_index PASSED [ 78%]
test_Vec3D.py::Test___getitem__::test_components PASSED [ 78%]
test_Vec3D.py::Test___setitem__::test_no_integer_index PASSED [ 78%]
test_Vec3D.py::Test___setitem__::test_negative_index PASSED [ 79%]
test_Vec3D.py::Test___setitem__::test_large_index PASSED [ 79%]
test_Vec3D.py::Test___setitem__::test_wrong_type PASSED [ 80%]
test_Vec3D.py::Test___setitem__::test_components PASSED [ 80%]
test_Vec3D.py::Test___str__::test_return_string PASSED [ 80%]
test_Vec3D.py::Test___str__::test_string_content PASSED [ 81%]
test_Vec3D.py::Test___iadd__::test_wrong_type PASSED [ 81%]
test_Vec3D.py::Test___iadd__::test_correct_addition PASSED [ 81%]
test_Vec3D.py::Test___iadd__::test_added_Vec3D_unchanged PASSED [ 82%]
test_Vec3D.py::Test___isub__::test_wrong_type PASSED [ 82%]
test_Vec3D.py::Test___isub__::test_correct_subtraction PASSED [ 83%]
test_Vec3D.py::Test___isub__::test_subtracted_Vec3D_unchanged PASSED [ 83%]
test_Vec3D.py::Test___imul__::test_wrong_type PASSED [ 83%]
test_Vec3D.py::Test___imul__::test_correct_float_multiplication PASSED [ 84%]
test_Vec3D.py::Test___itruediv__::test_wrong_type PASSED [ 84%]
test_Vec3D.py::Test___itruediv__::test_correct_float_division PASSED [ 85%]
test_Vec3D.py::Test___mul__::test_wrong_type PASSED [ 85%]
test_Vec3D.py::Test___mul__::test_scalar_product PASSED [ 85%]
test_Vec3D.py::Test___mul__::test_right_float_multiplication PASSED [ 86%]
test_Vec3D.py::Test___mul__::test_left_float_multiplication PASSED [ 86%]
test_Vec3D.py::Test___eq__::test_wrong_type PASSED [ 87%]
test_Vec3D.py::Test___eq__::test_equal_components PASSED [ 87%]
test_Vec3D.py::Test___ne__::test_wrong_type PASSED [ 87%]
test_Vec3D.py::Test___ne__::test_one_different_component PASSED [ 88%]
test_Vec3D.py::Test_norm::test_correct_result PASSED [ 88%]
test_Vec3D.py::Test_norm2::test_correct_result PASSED [ 89%]
test_Vec3D.py::Test_normalize::test_correct_result PASSED [ 89%]
test_Vec3D.py::Test_cross::test_wrong_type PASSED [ 89%]
test_Vec3D.py::Test_cross::test_correct_return_type PASSED [ 90%]
test_Vec3D.py::Test_cross::test_correct_result PASSED [ 90%]
test_Vec3D.py::Test___add__::test_wrong_type PASSED [ 90%]
test_Vec3D.py::Test___add__::test_correct_return_type PASSED [ 91%]
test_Vec3D.py::Test___add__::test_new_object_returned PASSED [ 91%]
test_Vec3D.py::Test___add__::test_correct_result PASSED [ 92%]
test_Vec3D.py::Test___sub__::test_wrong_type PASSED [ 92%]
test_Vec3D.py::Test___sub__::test_correct_return_type PASSED [ 92%]
test_Vec3D.py::Test___sub__::test_new_object_returned PASSED [ 93%]
test_Vec3D.py::Test___sub__::test_correct_result PASSED [ 93%]
test_Vec3D.py::Test___neg__::test_correct_return_type PASSED [ 94%]
test_Vec3D.py::Test___neg__::test_new_object_returned PASSED [ 94%]
test_Vec3D.py::Test___neg__::test_correct_result PASSED [ 94%]
test_Vec3D.py::Test___truediv__::test_wrong_type PASSED [ 95%]
test_Vec3D.py::Test___truediv__::test_correct_return_type PASSED [ 95%]
test_Vec3D.py::Test___truediv__::test_new_object_returned PASSED [ 96%]
test_Vec3D.py::Test___truediv__::test_correct_result PASSED [ 96%]
test_Vec3D.py::Test_r::test_getter_correct_type PASSED [ 96%]
test_Vec3D.py::Test_r::test_getter_correct_size PASSED [ 97%]
test_Vec3D.py::Test_r::test_getter_correct_content PASSED [ 97%]
test_Vec3D.py::Test_r::test_setter_wrong_size PASSED [ 98%]
test_Vec3D.py::Test_r::test_setter_wrong_type PASSED [ 98%]
test_Vec3D.py::Test_r::test_setter_wrong_list_size PASSED [ 98%]
test_Vec3D.py::Test_r::test_setter_correct_assignment PASSED [ 99%]
test_Vec3D.py::Test_r::test_setter_correct_assignment_to_Vec3D PASSED [ 99%]
test_Vec3D.py::Test_r::test_setter_index_assignment_not_possible PASSED [100%]

View File

@ -0,0 +1,272 @@
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
*** No errors detected
test_Atom.py::Test___cinit__::test_skeleton_initialization PASSED [ 0%]
test_Atom.py::Test___cinit__::test_empty_initialization PASSED [ 0%]
test_Atom.py::Test_hasNeighborList::test_correct_type PASSED [ 1%]
test_Atom.py::Test_hasNeighborList::test_set_and_get PASSED [ 1%]
test_Atom.py::Test_hasSymmetryFunctions::test_correct_type PASSED [ 1%]
test_Atom.py::Test_hasSymmetryFunctions::test_set_and_get PASSED [ 2%]
test_Atom.py::Test_hasSymmetryFunctionDerivatives::test_correct_type PASSED [ 2%]
test_Atom.py::Test_hasSymmetryFunctionDerivatives::test_set_and_get PASSED [ 3%]
test_Atom.py::Test_index::test_correct_type PASSED [ 3%]
test_Atom.py::Test_index::test_set_and_get PASSED [ 3%]
test_Atom.py::Test_indexStructure::test_correct_type PASSED [ 4%]
test_Atom.py::Test_indexStructure::test_set_and_get PASSED [ 4%]
test_Atom.py::Test_tag::test_correct_type PASSED [ 5%]
test_Atom.py::Test_tag::test_set_and_get PASSED [ 5%]
test_Atom.py::Test_element::test_correct_type PASSED [ 5%]
test_Atom.py::Test_element::test_set_and_get PASSED [ 6%]
test_Atom.py::Test_numNeighbors::test_correct_type PASSED [ 6%]
test_Atom.py::Test_numNeighbors::test_set_and_get PASSED [ 7%]
test_Atom.py::Test_numNeighborsUnique::test_correct_type PASSED [ 7%]
test_Atom.py::Test_numNeighborsUnique::test_set_and_get PASSED [ 7%]
test_Atom.py::Test_numSymmetryFunctions::test_correct_type PASSED [ 8%]
test_Atom.py::Test_numSymmetryFunctions::test_set_and_get PASSED [ 8%]
test_Atom.py::Test_energy::test_correct_type PASSED [ 9%]
test_Atom.py::Test_energy::test_set_and_get PASSED [ 9%]
test_Atom.py::Test_charge::test_correct_type PASSED [ 9%]
test_Atom.py::Test_charge::test_set_and_get PASSED [ 10%]
test_Atom.py::Test_r::test_correct_type PASSED [ 10%]
test_Atom.py::Test_r::test_set_and_get PASSED [ 10%]
test_Atom.py::Test_f::test_correct_type PASSED [ 11%]
test_Atom.py::Test_f::test_set_and_get PASSED [ 11%]
test_Atom.py::Test_fRef::test_correct_type PASSED [ 12%]
test_Atom.py::Test_fRef::test_set_and_get PASSED [ 12%]
test_Atom.py::Test_neighborsUnique::test_correct_type PASSED [ 12%]
test_Atom.py::Test_numNeighborsPerElement::test_correct_type PASSED [ 13%]
test_Atom.py::Test_G::test_correct_type PASSED [ 13%]
test_Atom.py::Test_dEdG::test_correct_type PASSED [ 14%]
test_Atom.py::Test_dGdr::test_correct_type PASSED [ 14%]
test_Atom.py::Test_neighbors::test_correct_type PASSED [ 14%]
test_Atom.py::Test_info::test_return_list PASSED [ 15%]
test_CutoffFunction.py::Test___cinit__::test_skeleton_initialization PASSED [ 15%]
test_CutoffFunction.py::Test___cinit__::test_empty_initialization PASSED [ 16%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[0] PASSED [ 16%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[1] PASSED [ 16%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[2] PASSED [ 17%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[3] PASSED [ 17%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[4] PASSED [ 18%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[5] PASSED [ 18%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[6] PASSED [ 18%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[7] PASSED [ 19%]
test_CutoffFunction.py::Test_setCutoffType::test_set_correct_type[8] PASSED [ 19%]
test_CutoffFunction.py::Test_setCutoffType::test_set_unknown_type PASSED [ 20%]
test_CutoffFunction.py::Test_setCutoffRadius::test_set_float_value PASSED [ 20%]
test_CutoffFunction.py::Test_setCutoffRadius::test_set_wrong_argument PASSED [ 20%]
test_CutoffFunction.py::Test_setCutoffParameter::test_set_float_value PASSED [ 21%]
test_CutoffFunction.py::Test_setCutoffParameter::test_set_wrong_float_value PASSED [ 21%]
test_CutoffFunction.py::Test_setCutoffParameter::test_set_wrong_argument PASSED [ 21%]
test_CutoffFunction.py::Test_f::test_boundaries[0] PASSED [ 22%]
test_CutoffFunction.py::Test_f::test_boundaries[1] PASSED [ 22%]
test_CutoffFunction.py::Test_f::test_boundaries[2] PASSED [ 23%]
test_CutoffFunction.py::Test_f::test_boundaries[3] PASSED [ 23%]
test_CutoffFunction.py::Test_f::test_boundaries[4] PASSED [ 23%]
test_CutoffFunction.py::Test_f::test_boundaries[5] PASSED [ 24%]
test_CutoffFunction.py::Test_f::test_boundaries[6] PASSED [ 24%]
test_CutoffFunction.py::Test_f::test_boundaries[7] PASSED [ 25%]
test_CutoffFunction.py::Test_f::test_boundaries[8] PASSED [ 25%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[0-1.0] PASSED [ 25%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[1-0.1464466094067261] PASSED [ 26%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[2-0.00768915371206977] PASSED [ 26%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[3-0.01740635089776903] PASSED [ 27%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[4-0.27645304662956416] PASSED [ 27%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[5-0.1562499999999999] PASSED [ 27%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[6-0.10351562500000003] PASSED [ 28%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[7-0.07055664062499914] PASSED [ 28%]
test_CutoffFunction.py::Test_f::test_nonzero_radius[8-0.04892730712890944] PASSED [ 29%]
test_CutoffFunction.py::Test_f::test_nonfloat_argument PASSED [ 29%]
test_CutoffFunction.py::Test_df::test_boundaries[0] PASSED [ 29%]
test_CutoffFunction.py::Test_df::test_boundaries[1] PASSED [ 30%]
test_CutoffFunction.py::Test_df::test_boundaries[2] PASSED [ 30%]
test_CutoffFunction.py::Test_df::test_boundaries[3] PASSED [ 30%]
test_CutoffFunction.py::Test_df::test_boundaries[4] PASSED [ 31%]
test_CutoffFunction.py::Test_df::test_boundaries[5] PASSED [ 31%]
test_CutoffFunction.py::Test_df::test_boundaries[6] PASSED [ 32%]
test_CutoffFunction.py::Test_df::test_boundaries[7] PASSED [ 32%]
test_CutoffFunction.py::Test_df::test_boundaries[8] PASSED [ 32%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[0-0.0] PASSED [ 33%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[1--0.46280030605816297] PASSED [ 33%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[2--0.0374393678577051] PASSED [ 34%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[3--0.08475351107871792] PASSED [ 34%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[4--0.9027038257291898] PASSED [ 34%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[5--0.4687499999999999] PASSED [ 35%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[6--0.43945312499999917] PASSED [ 35%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[7--0.38452148437500033] PASSED [ 36%]
test_CutoffFunction.py::Test_df::test_nonzero_radius[8--0.32444000244141674] PASSED [ 36%]
test_CutoffFunction.py::Test_df::test_nonfloat_argument PASSED [ 36%]
test_CutoffFunction.py::Test_fdf::test_boundaries[0] PASSED [ 37%]
test_CutoffFunction.py::Test_fdf::test_boundaries[1] PASSED [ 37%]
test_CutoffFunction.py::Test_fdf::test_boundaries[2] PASSED [ 38%]
test_CutoffFunction.py::Test_fdf::test_boundaries[3] PASSED [ 38%]
test_CutoffFunction.py::Test_fdf::test_boundaries[4] PASSED [ 38%]
test_CutoffFunction.py::Test_fdf::test_boundaries[5] PASSED [ 39%]
test_CutoffFunction.py::Test_fdf::test_boundaries[6] PASSED [ 39%]
test_CutoffFunction.py::Test_fdf::test_boundaries[7] PASSED [ 40%]
test_CutoffFunction.py::Test_fdf::test_boundaries[8] PASSED [ 40%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[0-1.0-0.0] PASSED [ 40%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[1-0.1464466094067261--0.46280030605816297] PASSED [ 41%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[2-0.00768915371206977--0.0374393678577051] PASSED [ 41%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[3-0.01740635089776903--0.08475351107871792] PASSED [ 41%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[4-0.27645304662956416--0.9027038257291898] PASSED [ 42%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[5-0.1562499999999999--0.4687499999999999] PASSED [ 42%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[6-0.10351562500000003--0.43945312499999917] PASSED [ 43%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[7-0.07055664062499914--0.38452148437500033] PASSED [ 43%]
test_CutoffFunction.py::Test_fdf::test_nonzero_radius[8-0.04892730712890944--0.32444000244141674] PASSED [ 43%]
test_CutoffFunction.py::Test_fdf::test_nonfloat_argument PASSED [ 44%]
test_ElementMap.py::Test___cinit__::test_skeleton_initialization PASSED [ 44%]
test_ElementMap.py::Test___cinit__::test_empty_initialization PASSED [ 45%]
test_ElementMap.py::Test_registerElements::test_nonstring_argument PASSED [ 45%]
test_ElementMap.py::Test_registerElements::test_correct_elements_registered PASSED [ 45%]
test_ElementMap.py::Test___getitem__::test_correct_element_index PASSED [ 46%]
test_ElementMap.py::Test___getitem__::test_correct_element_symbol PASSED [ 46%]
test_ElementMap.py::Test___getitem__::test_out_of_bounds_index PASSED [ 47%]
test_ElementMap.py::Test___getitem__::test_unknown_symbol PASSED [ 47%]
test_ElementMap.py::Test___getitem__::test_wrong_argument_type PASSED [ 47%]
test_ElementMap.py::Test_size::test_correct_empty_size_returned PASSED [ 48%]
test_ElementMap.py::Test_size::test_correct_size_returned PASSED [ 48%]
test_ElementMap.py::Test_index::test_correct_element_index PASSED [ 49%]
test_ElementMap.py::Test_index::test_wrong_argument_type PASSED [ 49%]
test_ElementMap.py::Test_symbol::test_correct_element_index PASSED [ 49%]
test_ElementMap.py::Test_symbol::test_wrong_argument_type PASSED [ 50%]
test_ElementMap.py::Test_deregisterElements::test_empty_map PASSED [ 50%]
test_ElementMap.py::Test_symbolFromAtomicNumber::test_some_elements PASSED [ 50%]
test_ElementMap.py::Test_info::test_return_list PASSED [ 51%]
test_Log.py::Test___cinit__::test_skeleton_initialization PASSED [ 51%]
test_Log.py::Test___cinit__::test_empty_initialization PASSED [ 52%]
test_Log.py::Test_addLogEntry::test_add_string_entry PASSED [ 52%]
test_Log.py::Test_addLogEntry::test_add_nonstring_entry PASSED [ 52%]
test_Log.py::Test_getLog::test_read_two_entries PASSED [ 53%]
test_Log.py::Test_writeToStdout::test_correct_type PASSED [ 53%]
test_Log.py::Test_writeToStdout::test_set_and_get PASSED [ 54%]
test_Neighbor.py::Test___cinit__::test_skeleton_initialization PASSED [ 54%]
test_Neighbor.py::Test___cinit__::test_empty_initialization PASSED [ 54%]
test_Neighbor.py::Test_index::test_correct_type PASSED [ 55%]
test_Neighbor.py::Test_index::test_set_and_get PASSED [ 55%]
test_Neighbor.py::Test_tag::test_correct_type PASSED [ 56%]
test_Neighbor.py::Test_tag::test_set_and_get PASSED [ 56%]
test_Neighbor.py::Test_element::test_correct_type PASSED [ 56%]
test_Neighbor.py::Test_element::test_set_and_get PASSED [ 57%]
test_Neighbor.py::Test_d::test_correct_type PASSED [ 57%]
test_Neighbor.py::Test_d::test_set_and_get PASSED [ 58%]
test_Neighbor.py::Test_dr::test_correct_type PASSED [ 58%]
test_Neighbor.py::Test_dr::test_set_and_get PASSED [ 58%]
test_Neighbor.py::Test_dGdr::test_correct_type PASSED [ 59%]
test_Neighbor.py::Test___eq__::test_not_equal PASSED [ 59%]
test_Neighbor.py::Test___eq__::test_element_different PASSED [ 60%]
test_Neighbor.py::Test___eq__::test_distance_different PASSED [ 60%]
test_Neighbor.py::Test___eq__::test_equal PASSED [ 60%]
test_Neighbor.py::Test___ne__::test_element_different PASSED [ 61%]
test_Neighbor.py::Test___ne__::test_distance_different PASSED [ 61%]
test_Neighbor.py::Test___ne__::test_equal PASSED [ 61%]
test_Neighbor.py::Test___lt__::test_less_than PASSED [ 62%]
test_Neighbor.py::Test___lt__::test_greater_than PASSED [ 62%]
test_Neighbor.py::Test___lt__::test_equal_distance PASSED [ 63%]
test_Neighbor.py::Test___lt__::test_equal_element PASSED [ 63%]
test_Neighbor.py::Test___lt__::test_equal PASSED [ 63%]
test_Neighbor.py::Test___gt__::test_less_than PASSED [ 64%]
test_Neighbor.py::Test___gt__::test_greater_than PASSED [ 64%]
test_Neighbor.py::Test___gt__::test_equal_distance PASSED [ 65%]
test_Neighbor.py::Test___gt__::test_equal_element PASSED [ 65%]
test_Neighbor.py::Test___gt__::test_equal PASSED [ 65%]
test_Neighbor.py::Test___le__::test_less_than PASSED [ 66%]
test_Neighbor.py::Test___le__::test_greater_than PASSED [ 66%]
test_Neighbor.py::Test___le__::test_equal_distance PASSED [ 67%]
test_Neighbor.py::Test___le__::test_equal_element PASSED [ 67%]
test_Neighbor.py::Test___le__::test_equal PASSED [ 67%]
test_Neighbor.py::Test___ge__::test_less_than PASSED [ 68%]
test_Neighbor.py::Test___ge__::test_greater_than PASSED [ 68%]
test_Neighbor.py::Test___ge__::test_equal_distance PASSED [ 69%]
test_Neighbor.py::Test___ge__::test_equal_element PASSED [ 69%]
test_Neighbor.py::Test___ge__::test_equal PASSED [ 69%]
test_Settings.py::Test___cinit__::test_skeleton_initialization PASSED [ 70%]
test_Settings.py::Test___cinit__::test_empty_initialization PASSED [ 70%]
test_Settings.py::Test_loadFile::test_file_read[setups/Settings] PASSED [ 70%]
test_Settings.py::Test___getitem__::test_existing_key[setups/Settings] PASSED [ 71%]
test_Settings.py::Test___getitem__::test_nonexisting_key[setups/Settings] PASSED [ 71%]
test_Settings.py::Test___getitem__::test_nonstring_key[setups/Settings] PASSED [ 72%]
test_Settings.py::Test_keywordExists::test_existing_key[setups/Settings] PASSED [ 72%]
test_Settings.py::Test_keywordExists::test_nonexisting_key[setups/Settings] PASSED [ 72%]
test_Settings.py::Test_keywordExists::test_nonstring_key[setups/Settings] PASSED [ 73%]
test_Settings.py::Test_getValue::test_existing_key[setups/Settings] PASSED [ 73%]
test_Settings.py::Test_getValue::test_nonexisting_key[setups/Settings] PASSED [ 74%]
test_Settings.py::Test_getValue::test_nonstring_key[setups/Settings] PASSED [ 74%]
test_Settings.py::Test_info::test_return_list[setups/Settings] PASSED [ 74%]
test_Settings.py::Test_getSettingsLines::test_return_list[setups/Settings] PASSED [ 75%]
test_Vec3D.py::Test___cinit__::test_skeleton_initialization PASSED [ 75%]
test_Vec3D.py::Test___cinit__::test_empty_initialization PASSED [ 76%]
test_Vec3D.py::Test___cinit__::test_float_initialization PASSED [ 76%]
test_Vec3D.py::Test___cinit__::test_Vec3D_initialization PASSED [ 76%]
test_Vec3D.py::Test___getitem__::test_no_integer_index PASSED [ 77%]
test_Vec3D.py::Test___getitem__::test_negative_index PASSED [ 77%]
test_Vec3D.py::Test___getitem__::test_large_index PASSED [ 78%]
test_Vec3D.py::Test___getitem__::test_components PASSED [ 78%]
test_Vec3D.py::Test___setitem__::test_no_integer_index PASSED [ 78%]
test_Vec3D.py::Test___setitem__::test_negative_index PASSED [ 79%]
test_Vec3D.py::Test___setitem__::test_large_index PASSED [ 79%]
test_Vec3D.py::Test___setitem__::test_wrong_type PASSED [ 80%]
test_Vec3D.py::Test___setitem__::test_components PASSED [ 80%]
test_Vec3D.py::Test___str__::test_return_string PASSED [ 80%]
test_Vec3D.py::Test___str__::test_string_content PASSED [ 81%]
test_Vec3D.py::Test___iadd__::test_wrong_type PASSED [ 81%]
test_Vec3D.py::Test___iadd__::test_correct_addition PASSED [ 81%]
test_Vec3D.py::Test___iadd__::test_added_Vec3D_unchanged PASSED [ 82%]
test_Vec3D.py::Test___isub__::test_wrong_type PASSED [ 82%]
test_Vec3D.py::Test___isub__::test_correct_subtraction PASSED [ 83%]
test_Vec3D.py::Test___isub__::test_subtracted_Vec3D_unchanged PASSED [ 83%]
test_Vec3D.py::Test___imul__::test_wrong_type PASSED [ 83%]
test_Vec3D.py::Test___imul__::test_correct_float_multiplication PASSED [ 84%]
test_Vec3D.py::Test___itruediv__::test_wrong_type PASSED [ 84%]
test_Vec3D.py::Test___itruediv__::test_correct_float_division PASSED [ 85%]
test_Vec3D.py::Test___mul__::test_wrong_type PASSED [ 85%]
test_Vec3D.py::Test___mul__::test_scalar_product PASSED [ 85%]
test_Vec3D.py::Test___mul__::test_right_float_multiplication PASSED [ 86%]
test_Vec3D.py::Test___mul__::test_left_float_multiplication PASSED [ 86%]
test_Vec3D.py::Test___eq__::test_wrong_type PASSED [ 87%]
test_Vec3D.py::Test___eq__::test_equal_components PASSED [ 87%]
test_Vec3D.py::Test___ne__::test_wrong_type PASSED [ 87%]
test_Vec3D.py::Test___ne__::test_one_different_component PASSED [ 88%]
test_Vec3D.py::Test_norm::test_correct_result PASSED [ 88%]
test_Vec3D.py::Test_norm2::test_correct_result PASSED [ 89%]
test_Vec3D.py::Test_normalize::test_correct_result PASSED [ 89%]
test_Vec3D.py::Test_cross::test_wrong_type PASSED [ 89%]
test_Vec3D.py::Test_cross::test_correct_return_type PASSED [ 90%]
test_Vec3D.py::Test_cross::test_correct_result PASSED [ 90%]
test_Vec3D.py::Test___add__::test_wrong_type PASSED [ 90%]
test_Vec3D.py::Test___add__::test_correct_return_type PASSED [ 91%]
test_Vec3D.py::Test___add__::test_new_object_returned PASSED [ 91%]
test_Vec3D.py::Test___add__::test_correct_result PASSED [ 92%]
test_Vec3D.py::Test___sub__::test_wrong_type PASSED [ 92%]
test_Vec3D.py::Test___sub__::test_correct_return_type PASSED [ 92%]
test_Vec3D.py::Test___sub__::test_new_object_returned PASSED [ 93%]
test_Vec3D.py::Test___sub__::test_correct_result PASSED [ 93%]
test_Vec3D.py::Test___neg__::test_correct_return_type PASSED [ 94%]
test_Vec3D.py::Test___neg__::test_new_object_returned PASSED [ 94%]
test_Vec3D.py::Test___neg__::test_correct_result PASSED [ 94%]
test_Vec3D.py::Test___truediv__::test_wrong_type PASSED [ 95%]
test_Vec3D.py::Test___truediv__::test_correct_return_type PASSED [ 95%]
test_Vec3D.py::Test___truediv__::test_new_object_returned PASSED [ 96%]
test_Vec3D.py::Test___truediv__::test_correct_result PASSED [ 96%]
test_Vec3D.py::Test_r::test_getter_correct_type PASSED [ 96%]
test_Vec3D.py::Test_r::test_getter_correct_size PASSED [ 97%]
test_Vec3D.py::Test_r::test_getter_correct_content PASSED [ 97%]
test_Vec3D.py::Test_r::test_setter_wrong_size PASSED [ 98%]
test_Vec3D.py::Test_r::test_setter_wrong_type PASSED [ 98%]
test_Vec3D.py::Test_r::test_setter_wrong_list_size PASSED [ 98%]
test_Vec3D.py::Test_r::test_setter_correct_assignment PASSED [ 99%]
test_Vec3D.py::Test_r::test_setter_correct_assignment_to_Vec3D PASSED [ 99%]
test_Vec3D.py::Test_r::test_setter_index_assignment_not_possible PASSED [100%]

View File

@ -0,0 +1,12 @@
#!/bin/bash
grep -e "No errors detected" "$1" > test-result.txt
grep -e "PASSED" "$2" >> test-result.txt
if cmp -s $3 test-result.txt; then
echo "Test of n2p2 PASSED !"
else
echo "Test of n2p2 Failed !"
fi
rm $1 $2 test-result.txt