diff options
8 files changed, 768 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/n2p2/interface-makefile.patch b/var/spack/repos/builtin/packages/n2p2/interface-makefile.patch new file mode 100644 index 0000000000..f987c9cb54 --- /dev/null +++ b/var/spack/repos/builtin/packages/n2p2/interface-makefile.patch @@ -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; \ diff --git a/var/spack/repos/builtin/packages/n2p2/interface-makefile211.patch b/var/spack/repos/builtin/packages/n2p2/interface-makefile211.patch new file mode 100644 index 0000000000..e4317b3c12 --- /dev/null +++ b/var/spack/repos/builtin/packages/n2p2/interface-makefile211.patch @@ -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; \ diff --git a/var/spack/repos/builtin/packages/n2p2/libnnp-makefile.patch b/var/spack/repos/builtin/packages/n2p2/libnnp-makefile.patch new file mode 100644 index 0000000000..0405845a34 --- /dev/null +++ b/var/spack/repos/builtin/packages/n2p2/libnnp-makefile.patch @@ -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: diff --git a/var/spack/repos/builtin/packages/n2p2/nnp_test.h.patch b/var/spack/repos/builtin/packages/n2p2/nnp_test.h.patch new file mode 100644 index 0000000000..d5296ba1e4 --- /dev/null +++ b/var/spack/repos/builtin/packages/n2p2/nnp_test.h.patch @@ -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; diff --git a/var/spack/repos/builtin/packages/n2p2/package.py b/var/spack/repos/builtin/packages/n2p2/package.py new file mode 100644 index 0000000000..0d8ffda8e4 --- /dev/null +++ b/var/spack/repos/builtin/packages/n2p2/package.py @@ -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) diff --git a/var/spack/repos/builtin/packages/n2p2/test/expected-result-2.1.0.txt b/var/spack/repos/builtin/packages/n2p2/test/expected-result-2.1.0.txt new file mode 100644 index 0000000000..8fabaf2abd --- /dev/null +++ b/var/spack/repos/builtin/packages/n2p2/test/expected-result-2.1.0.txt @@ -0,0 +1,271 @@ +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** 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%] diff --git a/var/spack/repos/builtin/packages/n2p2/test/expected-result-2.1.1.txt b/var/spack/repos/builtin/packages/n2p2/test/expected-result-2.1.1.txt new file mode 100644 index 0000000000..26fb530a38 --- /dev/null +++ b/var/spack/repos/builtin/packages/n2p2/test/expected-result-2.1.1.txt @@ -0,0 +1,272 @@ +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** No errors detected +[1;32;49m*** 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%] diff --git a/var/spack/repos/builtin/packages/n2p2/test/result-check.sh b/var/spack/repos/builtin/packages/n2p2/test/result-check.sh new file mode 100755 index 0000000000..cc7acd780a --- /dev/null +++ b/var/spack/repos/builtin/packages/n2p2/test/result-check.sh @@ -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 |