-Disable LINTing in test macros with comment // NOLINT
-Enable static analyzers for c++ tests
-Switch app4triqs_c to static library
Dynamic was pickung up previously installed libapp4triqs_c.so in tests
Also there is no need to be dynamic for applications
-Fix previous change in HeaderFilterRegex:
'app4triqs/c++' was blocking all headers for clang-tidy checks.
'app4triqs' works well, but we cannot install any other headers into
app4triqs folder structure.
We thus had to create INSTALL_DIR in travis.yml
-consistent indends in all cmake files
-add static analyzer checks with both cppcheck and clang-tidy
-add dynamic analyzer checks with Address Sanitizer and option ASAN
-add dynamic analyzer checks with Undefined Behavior Sanitizer and option UBSAN
-Further Cleaning and Comments
Instead of comparing text output files the tests are now done
on h5-files. The latter are compared with a finite precision
eliminating thus a problem of platform-dependence of the
results.
The k-phases turned out to be already included at VASP level.
The previous changes are commented out. However, the dependence
of `ProjectorShell` on `kmesh` and `struct` remains and the tests
are fixed accordingly.
This test suite is based on V d-projectors in SrVO3.
The data have been recalculated to obtain the correct format
of LOCPROJ.
Also, some small but important changes are introduced to
the LOCPROJ parser and class ElectronicStructure.
Specifically, eigenvalues, Fermi-weights, and Fermi level are
now read from LOCPROJ instead of EIGENVAL and DOSCAR.
Besides, LOCPROJ now provides the value of NCDIJ instead of
NSPIN.
Basically, with these changes EIGENVAL and DOSCAR are no longer
needed. Although corresponding parseres will remain in 'vaspio.py'
they will not be used for standard operations.
To make it work one has to create a symlink in 'dft/converters/plovasp'
pointing to the built library 'atm.so'.
Also, one has to use 'from <modulename> import <function>' inside
the test itself to avoid problems with module name substitutions.
The main change is that `test_all.py` is now renamed to `run_suite.py`,
with the latter being able to run a selected test suite if a corresponding
command line argument (test suite directory name) is provided.
CMakeLists are improved to copy each test suite separately to avoid
copying unnecessary files. Also each test suite corresponds now to
a separate CMake test.
All imports inside the test cases refer now to paths relative
to TRIQS python library path. For example,
`import vaspio`
is replaced with
`import applications.dft.converters.plovasp.vasio`
In this way all tests can be executed wtih `build_pytriqs` provided
that the package is installed (the same practice as with other
'dft_tools' tests).
Also, the underscore can now be removed from subdirectory names
because there is no more conflict with module names.
* recompute maps every time SK called rather than saving them
* user saves and feeds in chemical potential and dc manually
* set_dc sets dc to known values (eg from previous calculations) while calc_dc computes them
* find_mu -> calc_mu to match API for other functions