From 1a0ba43f8d470a00c676de81b67f670991453ba8 Mon Sep 17 00:00:00 2001 From: Olivier Parcollet Date: Mon, 22 Jan 2018 17:34:20 -0500 Subject: [PATCH] Continued --- CMakeLists.txt | 15 ++++++++++++++- c++/plovasp/atm/CMakeLists.txt | 2 +- python/CMakeLists.txt | 9 ++++++++- python/converters/converter_tools.py | 4 +--- python/converters/plovasp/CMakeLists.txt | 3 ++- python/converters/plovasp/atm_desc.py | 4 ++-- test/blockstructure.py | 4 ++-- test/hk_convert.py | 3 ++- test/plovasp/atm/test_atm.py | 2 +- test/plovasp/inpconf/test_general.py | 2 +- test/plovasp/inpconf/test_groups.py | 2 +- test/plovasp/inpconf/test_input.py | 2 +- test/plovasp/inpconf/test_parameter_set.py | 2 +- test/plovasp/inpconf/test_shells.py | 2 +- test/plovasp/inpconf/test_special_parsers.py | 2 +- test/plovasp/plotools/test_consistency.py | 8 ++++---- test/plovasp/proj_group/test_block_map.py | 6 +++--- test/plovasp/proj_group/test_one_site.py | 10 +++++----- test/plovasp/proj_group/test_select_bands.py | 10 +++++----- test/plovasp/proj_group/test_two_site.py | 10 +++++----- test/plovasp/proj_shell/test_projshells.py | 10 +++++----- test/plovasp/vaspio/test_doscar.py | 2 +- test/plovasp/vaspio/test_eigenval.py | 2 +- test/plovasp/vaspio/test_kpoints.py | 2 +- test/plovasp/vaspio/test_poscar.py | 2 +- test/sigma_from_file.py | 2 +- test/srvo3_Gloc.py | 4 ++-- test/srvo3_transp.py | 6 +++--- test/sumkdft_basic.py | 2 +- test/w90_convert.py | 2 +- test/wien2k_convert.py | 3 ++- 31 files changed, 80 insertions(+), 59 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b3383b1..97c6d461 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,9 +42,22 @@ message(STATUS "TRIQS : Adding compilation flags detected by the library (C++11/ add_subdirectory(c++) add_subdirectory(python) add_subdirectory(shells) -add_subdirectory(test) +#------------------------ +# tests +#------------------------ + +enable_testing() + +option(Build_Tests "Build the tests of the library " ON) +if (Build_Tests) + message(STATUS "-------- Preparing tests -------------") + add_subdirectory(test) +endif() +#------------------------ +# Documentation +#------------------------ option(BUILD_DOC "Build documentation" OFF) if(${BUILD_DOC}) if(NOT TRIQS_WITH_DOCUMENTATION) diff --git a/c++/plovasp/atm/CMakeLists.txt b/c++/plovasp/atm/CMakeLists.txt index eb8b8340..afcb0176 100644 --- a/c++/plovasp/atm/CMakeLists.txt +++ b/c++/plovasp/atm/CMakeLists.txt @@ -1,6 +1,6 @@ add_library(atm_c dos_tetra3d.hpp dos_tetra3d.cpp argsort.hpp argsort.cpp) target_link_libraries(atm_c triqs) -target_compile_options(atm_c PRIVATE -std=c++14) +target_compile_options(atm_c PRIVATE -std=c++17) install(TARGETS atm_c DESTINATION lib) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 32a92ef2..3e481102 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -4,7 +4,14 @@ set(PYTHON_LIB_DEST ${CPP2PY_PYTHON_LIB_DEST_ROOT}/pytriqs/cthyb) # site_customize for build set(package_name "pytriqs.applications") -configure_file(${CMAKE_SOURCE_DIR}/cmake/sitecustomize.py ${CMAKE_CURRENT_BINARY_DIR}/sitecustomize.py @ONLY) + +# Create a temporary copy of the python modules so that we can run before installation with the test +FILE(GLOB_RECURSE all_py_files RELATIVE ${CMAKE_SOURCE_DIR}/python *.py ) +foreach(f ${all_py_files}) + configure_file(${f} ${f} COPYONLY) +endforeach() + +#configure_file(${CMAKE_SOURCE_DIR}/cmake/sitecustomize.py ${CMAKE_CURRENT_BINARY_DIR}/sitecustomize.py @ONLY) # VASP converter add_subdirectory(converters/plovasp) diff --git a/python/converters/converter_tools.py b/python/converters/converter_tools.py index 126ffd57..b971518d 100644 --- a/python/converters/converter_tools.py +++ b/python/converters/converter_tools.py @@ -19,10 +19,8 @@ # TRIQS. If not, see . # ########################################################################## -from pytriqs.cmake_info import hdf5_command_path import pytriqs.utility.mpi as mpi - class ConverterTools: def __init__(self): @@ -73,7 +71,7 @@ class ConverterTools: mpi.report("Repacking the file %s" % self.hdf_file) retcode = subprocess.call( - [hdf5_command_path + "/h5repack", "-i%s" % self.hdf_file, "-otemphgfrt.h5"]) + ["h5repack", "-i%s" % self.hdf_file, "-otemphgfrt.h5"]) if retcode != 0: mpi.report("h5repack failed!") else: diff --git a/python/converters/plovasp/CMakeLists.txt b/python/converters/plovasp/CMakeLists.txt index 67c7b732..f9750662 100644 --- a/python/converters/plovasp/CMakeLists.txt +++ b/python/converters/plovasp/CMakeLists.txt @@ -3,7 +3,8 @@ set(python_destination pytriqs/applications/dft/converters/plovasp) add_cpp2py_module(atm) target_link_libraries(atm atm_c triqs) #triqs_set_rpath_for_target(atm) -target_compile_options(atm PRIVATE -std=c++14) +target_compile_options(atm PRIVATE -std=c++17) +target_include_directories(atm PRIVATE ${CMAKE_SOURCE_DIR}/c++) # This we need in order for tests to work #add_custom_command(TARGET atm POST_BUILD COMMAND ln -fs ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}/atm.so ${CMAKE_BINARY_DIR}/python/dft/converters/plovasp) diff --git a/python/converters/plovasp/atm_desc.py b/python/converters/plovasp/atm_desc.py index 1fd53f01..ac3776f0 100644 --- a/python/converters/plovasp/atm_desc.py +++ b/python/converters/plovasp/atm_desc.py @@ -8,11 +8,11 @@ module = module_(full_name = "atm", doc = "Analytical Tetrahedron Method for cal # All the triqs C++/Python modules # Add here all includes beyond what is automatically included by the triqs modules -module.add_include("../../../c++/plovasp/atm/dos_tetra3d.hpp") +module.add_include("plovasp/atm/dos_tetra3d.hpp") # Add here anything to add in the C++ code at the start, e.g. namespace using module.add_preamble(""" -#include +#include """) module.add_function ("array_view dos_tetra_weights_3d (array_view eigk, double en, array_view itt)", doc = """DOS of a band by analytical tetrahedron method\n\n Returns corner weights for all tetrahedra for a given band and real energy.""") diff --git a/test/blockstructure.py b/test/blockstructure.py index 0d83123d..33f1a570 100644 --- a/test/blockstructure.py +++ b/test/blockstructure.py @@ -1,8 +1,8 @@ -from pytriqs.applications.dft.sumk_dft import * +from sumk_dft import * from pytriqs.utility.h5diff import h5diff from pytriqs.gf import * from pytriqs.utility.comparison_tests import assert_block_gfs_are_close -from pytriqs.applications.dft import BlockStructure +from block_structure import BlockStructure SK = SumkDFT('blockstructure.in.h5',use_dft_blocks=True) diff --git a/test/hk_convert.py b/test/hk_convert.py index 439d457b..e1d72893 100644 --- a/test/hk_convert.py +++ b/test/hk_convert.py @@ -21,11 +21,12 @@ ################################################################################ -from pytriqs.applications.dft.converters import * from pytriqs.archive import * from pytriqs.utility.h5diff import h5diff import pytriqs.utility.mpi as mpi +from converters import * + Converter = HkConverter(filename='hk_convert_hamiltonian.hk',hdf_filename='hk_convert.out.h5') Converter.convert_dft_input() diff --git a/test/plovasp/atm/test_atm.py b/test/plovasp/atm/test_atm.py index 3e22b3f5..913fc40a 100644 --- a/test/plovasp/atm/test_atm.py +++ b/test/plovasp/atm/test_atm.py @@ -2,7 +2,7 @@ import os import numpy as np -from pytriqs.applications.dft.converters.plovasp.atm import dos_tetra_weights_3d +from converters.plovasp.atm import dos_tetra_weights_3d import mytest ################################################################################ diff --git a/test/plovasp/inpconf/test_general.py b/test/plovasp/inpconf/test_general.py index 8cc694de..14d04b3f 100644 --- a/test/plovasp/inpconf/test_general.py +++ b/test/plovasp/inpconf/test_general.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import arraytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.inpconf import ConfigParameters ################################################################################ # diff --git a/test/plovasp/inpconf/test_groups.py b/test/plovasp/inpconf/test_groups.py index 6f2a1cc2..b1d7153f 100644 --- a/test/plovasp/inpconf/test_groups.py +++ b/test/plovasp/inpconf/test_groups.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import arraytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.inpconf import ConfigParameters ################################################################################ # diff --git a/test/plovasp/inpconf/test_input.py b/test/plovasp/inpconf/test_input.py index 89418fdb..94941a19 100644 --- a/test/plovasp/inpconf/test_input.py +++ b/test/plovasp/inpconf/test_input.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import arraytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.inpconf import ConfigParameters ################################################################################ # diff --git a/test/plovasp/inpconf/test_parameter_set.py b/test/plovasp/inpconf/test_parameter_set.py index 36590dc6..c6748086 100644 --- a/test/plovasp/inpconf/test_parameter_set.py +++ b/test/plovasp/inpconf/test_parameter_set.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import arraytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.inpconf import ConfigParameters ################################################################################ # diff --git a/test/plovasp/inpconf/test_shells.py b/test/plovasp/inpconf/test_shells.py index 8d488481..98220d2b 100644 --- a/test/plovasp/inpconf/test_shells.py +++ b/test/plovasp/inpconf/test_shells.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import arraytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.inpconf import ConfigParameters ################################################################################ # diff --git a/test/plovasp/inpconf/test_special_parsers.py b/test/plovasp/inpconf/test_special_parsers.py index 9e8dab57..a751f480 100644 --- a/test/plovasp/inpconf/test_special_parsers.py +++ b/test/plovasp/inpconf/test_special_parsers.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import arraytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.inpconf import ConfigParameters ################################################################################ # diff --git a/test/plovasp/plotools/test_consistency.py b/test/plovasp/plotools/test_consistency.py index 9add6920..216e89f7 100644 --- a/test/plovasp/plotools/test_consistency.py +++ b/test/plovasp/plotools/test_consistency.py @@ -1,8 +1,8 @@ -import pytriqs.applications.dft.converters.plovasp.vaspio -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters -from pytriqs.applications.dft.converters.plovasp.plotools import check_data_consistency -from pytriqs.applications.dft.converters.plovasp.elstruct import ElectronicStructure +import converters.plovasp.vaspio +from converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.plotools import check_data_consistency +from converters.plovasp.elstruct import ElectronicStructure import mytest ################################################################################ diff --git a/test/plovasp/proj_group/test_block_map.py b/test/plovasp/proj_group/test_block_map.py index e7ab7993..80d6fd04 100644 --- a/test/plovasp/proj_group/test_block_map.py +++ b/test/plovasp/proj_group/test_block_map.py @@ -4,9 +4,9 @@ import rpath _rpath = os.path.dirname(rpath.__file__) + '/' import numpy as np -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters -from pytriqs.applications.dft.converters.plovasp.proj_shell import ProjectorShell -from pytriqs.applications.dft.converters.plovasp.proj_group import ProjectorGroup +from converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.proj_shell import ProjectorShell +from converters.plovasp.proj_group import ProjectorGroup import mytest ################################################################################ diff --git a/test/plovasp/proj_group/test_one_site.py b/test/plovasp/proj_group/test_one_site.py index 9a4939e0..8a777d10 100644 --- a/test/plovasp/proj_group/test_one_site.py +++ b/test/plovasp/proj_group/test_one_site.py @@ -4,11 +4,11 @@ import rpath _rpath = os.path.dirname(rpath.__file__) + '/' import numpy as np -from pytriqs.applications.dft.converters.plovasp.vaspio import VaspData -from pytriqs.applications.dft.converters.plovasp.elstruct import ElectronicStructure -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters -from pytriqs.applications.dft.converters.plovasp.proj_shell import ProjectorShell -from pytriqs.applications.dft.converters.plovasp.proj_group import ProjectorGroup +from converters.plovasp.vaspio import VaspData +from converters.plovasp.elstruct import ElectronicStructure +from converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.proj_shell import ProjectorShell +from converters.plovasp.proj_group import ProjectorGroup from pytriqs.archive import HDFArchive import mytest diff --git a/test/plovasp/proj_group/test_select_bands.py b/test/plovasp/proj_group/test_select_bands.py index f3bfb61f..4d53c42b 100644 --- a/test/plovasp/proj_group/test_select_bands.py +++ b/test/plovasp/proj_group/test_select_bands.py @@ -4,11 +4,11 @@ import rpath _rpath = os.path.dirname(rpath.__file__) + '/' import numpy as np -from pytriqs.applications.dft.converters.plovasp.vaspio import VaspData -from pytriqs.applications.dft.converters.plovasp.elstruct import ElectronicStructure -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters -from pytriqs.applications.dft.converters.plovasp.proj_shell import ProjectorShell -from pytriqs.applications.dft.converters.plovasp.proj_group import ProjectorGroup +from converters.plovasp.vaspio import VaspData +from converters.plovasp.elstruct import ElectronicStructure +from converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.proj_shell import ProjectorShell +from converters.plovasp.proj_group import ProjectorGroup import mytest ################################################################################ diff --git a/test/plovasp/proj_group/test_two_site.py b/test/plovasp/proj_group/test_two_site.py index 4f62961a..8db9b951 100644 --- a/test/plovasp/proj_group/test_two_site.py +++ b/test/plovasp/proj_group/test_two_site.py @@ -4,11 +4,11 @@ import rpath _rpath = os.path.dirname(rpath.__file__) + '/' import numpy as np -from pytriqs.applications.dft.converters.plovasp.vaspio import VaspData -from pytriqs.applications.dft.converters.plovasp.elstruct import ElectronicStructure -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters -from pytriqs.applications.dft.converters.plovasp.proj_shell import ProjectorShell -from pytriqs.applications.dft.converters.plovasp.proj_group import ProjectorGroup +from converters.plovasp.vaspio import VaspData +from converters.plovasp.elstruct import ElectronicStructure +from converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.proj_shell import ProjectorShell +from converters.plovasp.proj_group import ProjectorGroup from pytriqs.archive import HDFArchive import mytest diff --git a/test/plovasp/proj_shell/test_projshells.py b/test/plovasp/proj_shell/test_projshells.py index 41480649..97e1693f 100644 --- a/test/plovasp/proj_shell/test_projshells.py +++ b/test/plovasp/proj_shell/test_projshells.py @@ -4,11 +4,11 @@ import rpath _rpath = os.path.dirname(rpath.__file__) + '/' import numpy as np -from pytriqs.applications.dft.converters.plovasp.vaspio import VaspData -from pytriqs.applications.dft.converters.plovasp.elstruct import ElectronicStructure -from pytriqs.applications.dft.converters.plovasp.inpconf import ConfigParameters -from pytriqs.applications.dft.converters.plovasp.proj_shell import ProjectorShell -from pytriqs.applications.dft.converters.plovasp.proj_group import ProjectorGroup +from converters.plovasp.vaspio import VaspData +from converters.plovasp.elstruct import ElectronicStructure +from converters.plovasp.inpconf import ConfigParameters +from converters.plovasp.proj_shell import ProjectorShell +from converters.plovasp.proj_group import ProjectorGroup import mytest ################################################################################ diff --git a/test/plovasp/vaspio/test_doscar.py b/test/plovasp/vaspio/test_doscar.py index 2b22a5df..68148d75 100644 --- a/test/plovasp/vaspio/test_doscar.py +++ b/test/plovasp/vaspio/test_doscar.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import mytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.vaspio import Doscar +from converters.plovasp.vaspio import Doscar ################################################################################ # diff --git a/test/plovasp/vaspio/test_eigenval.py b/test/plovasp/vaspio/test_eigenval.py index 8a4a17a9..4cca5a8d 100644 --- a/test/plovasp/vaspio/test_eigenval.py +++ b/test/plovasp/vaspio/test_eigenval.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import mytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.vaspio import Eigenval +from converters.plovasp.vaspio import Eigenval ################################################################################ # diff --git a/test/plovasp/vaspio/test_kpoints.py b/test/plovasp/vaspio/test_kpoints.py index 4a70338b..43f67ef3 100644 --- a/test/plovasp/vaspio/test_kpoints.py +++ b/test/plovasp/vaspio/test_kpoints.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import mytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.vaspio import Kpoints +from converters.plovasp.vaspio import Kpoints ################################################################################ # diff --git a/test/plovasp/vaspio/test_poscar.py b/test/plovasp/vaspio/test_poscar.py index c0047b0e..25d37080 100644 --- a/test/plovasp/vaspio/test_poscar.py +++ b/test/plovasp/vaspio/test_poscar.py @@ -7,7 +7,7 @@ _rpath = os.path.dirname(rpath.__file__) + '/' import mytest import numpy as np -from pytriqs.applications.dft.converters.plovasp.vaspio import Poscar +from converters.plovasp.vaspio import Poscar ################################################################################ # diff --git a/test/sigma_from_file.py b/test/sigma_from_file.py index 7f8640c0..ccf88280 100644 --- a/test/sigma_from_file.py +++ b/test/sigma_from_file.py @@ -22,7 +22,7 @@ from pytriqs.archive import * from pytriqs.gf import * from pytriqs.gf.tools import * -from pytriqs.applications.dft.sumk_dft_tools import * +from sumk_dft_tools import * from pytriqs.utility.comparison_tests import * import numpy as np diff --git a/test/srvo3_Gloc.py b/test/srvo3_Gloc.py index 20f9d120..f10555e4 100644 --- a/test/srvo3_Gloc.py +++ b/test/srvo3_Gloc.py @@ -21,8 +21,8 @@ from pytriqs.archive import * from pytriqs.gf import * -from pytriqs.applications.dft.sumk_dft import * -from pytriqs.applications.dft.converters.wien2k_converter import * +from sumk_dft import * +from converters.wien2k_converter import * from pytriqs.operators.util import set_operator_structure from pytriqs.utility.comparison_tests import * from pytriqs.utility.h5diff import h5diff diff --git a/test/srvo3_transp.py b/test/srvo3_transp.py index 920459f0..cb609c2f 100644 --- a/test/srvo3_transp.py +++ b/test/srvo3_transp.py @@ -20,9 +20,9 @@ ################################################################################ from numpy import * -from pytriqs.applications.dft.converters.wien2k_converter import * -from pytriqs.applications.dft.sumk_dft import * -from pytriqs.applications.dft.sumk_dft_tools import * +from converters.wien2k_converter import * +from sumk_dft import * +from sumk_dft_tools import * from pytriqs.utility.comparison_tests import * from pytriqs.utility.h5diff import h5diff diff --git a/test/sumkdft_basic.py b/test/sumkdft_basic.py index ba456060..52dd1a48 100644 --- a/test/sumkdft_basic.py +++ b/test/sumkdft_basic.py @@ -21,7 +21,7 @@ ################################################################################ from pytriqs.archive import * -from pytriqs.applications.dft.sumk_dft_tools import SumkDFTTools +from sumk_dft_tools import SumkDFTTools import pytriqs.utility.mpi as mpi from pytriqs.utility.comparison_tests import * from pytriqs.utility.h5diff import h5diff diff --git a/test/w90_convert.py b/test/w90_convert.py index e5c18ffd..1c483e50 100644 --- a/test/w90_convert.py +++ b/test/w90_convert.py @@ -21,7 +21,7 @@ ################################################################################ -from pytriqs.applications.dft.converters import * +from converters import * from pytriqs.archive import * from pytriqs.utility.h5diff import h5diff import pytriqs.utility.mpi as mpi diff --git a/test/wien2k_convert.py b/test/wien2k_convert.py index c643f19a..77076068 100644 --- a/test/wien2k_convert.py +++ b/test/wien2k_convert.py @@ -21,11 +21,12 @@ ################################################################################ from pytriqs.archive import * -from pytriqs.applications.dft.converters import Wien2kConverter from pytriqs.utility.comparison_tests import * from pytriqs.utility.h5diff import h5diff import pytriqs.utility.mpi as mpi +from converters import Wien2kConverter + Converter = Wien2kConverter(filename='SrVO3') Converter.hdf_file = 'wien2k_convert.out.h5' Converter.convert_dft_input()