Auto-find kernels, move unit tests, test c and fortran
- Moved test files into the respective source code folders and deleted folder
src/struphy/tests
.
Added the new test groups "models", "propagators", "tutorials" and "timings" available for struphy test
command.
The option --monitor
enables the use of pytest-monitor
to time and memory-check all tests.
Added automatic .html
and .json
generation via struphy test timings
(when test were monitored).
These files are stored under _pymon/
in the struphy install path and can be used for further studies.
Timings can be print on screen via struphy test timings --verbose
.
Solves #223 (closed).
-
Introduced
state.yml
which replaces_path.txt
files. The state dictionary collects all info related to paths and compilation status. -
Struphy files that need to be compiled must contain
kernels
and.py
in the filename (some re-namings where thus necessary). Such files, and their dependencies, are found automatically during compilation (struphy compile
).
Kernels and their dependencies can be displayed on screen via struphy compile --dependencies
.
In order for the auto-detection of dependencies to work robustly, the imports of kernels has to be done in a specific way, namely:
import struphy.module.your_kernels as your_kernels
This format is now mandatory for all kernel imports in kernels. Files have been changed accordingly.
The kernel names are stored in the new state dictionary under state['kernels']
. The Makefile
was drastically shortened. New kernels (and their dependencies) will be recognized automatically.
Added the new command line option struphy compile --status
, showing the current status (obtained from state.yml
) on screen.
- Tutorials are now executed as unit tests, and can thus be timed. Launch tutorials via
struphy test tutorials (-n N)
; the commandstruphy tutorials
has been removed. Doc has been adapted.
Other changes:
- Renamed
struphy/b_splines/
tostruphy/bsplines/
. - Renamed the module
mat_vec_filler.py
toparticle_to_mat_kernels.py
- Update the
.gitlab-ci.yml
; both c and fortran tests are now executed - New psydac version 0.1.6, fixing SumLinearOperator.simplify()
- enforce C-ordering in
struphy.geometry.transform_kernels.kernel_pullpush
- Don't do timings in ci for the moment, wait for new SUSE15 image in Bits and Bytes, according to Klaus Reuter
- Eliminate lambda functions from some legacy files
- Run c and fortran pipelines in parallel