Extended testcase for beond breakage with a random network#54
Open
bindgens1 wants to merge 65 commits into
Open
Extended testcase for beond breakage with a random network#54bindgens1 wants to merge 65 commits into
bindgens1 wants to merge 65 commits into
Conversation
Fix shadowed global variables, use STL algorithms, remove superfluous extern declarations, remove unused variables, reduce scope of temporary variables.
Remove unused functions, arguments, struct members, local variables and global variables (fixes all -Wunused-variable warnings and some of the -Wunused-function and -Wunused-parameter warnings).
Macro names with leading underscores are protected.
ESPResSo feature guards only work when config.hpp is included. Rename include guards to avoid leading underscores (triggers the Clang-Tidy bugprone-reserved-identifier warning) and disambiguate header files with similar names.
Make use of Utils::Vector3d::broadcast(), Vector comparison operators and streaming method. Refactor IBM function. Fix some of the -Wunused-parameter warnings and implicit float conversions, including all -bugprone-narrowing-conversions. Fix -modernize-return-braced-init-list and update list of Clang-Tidy rules based on Clang 13.0.0.
Factor out code duplication, convert unreachable throw statements to assertions and reduce branching in LB, ELC, MDLC, P3M and DP3M code. Add test cases for actor exceptions.
Description of changes: - improve code quality and compiler support - fix new compiler warnings revealed by GCC 12.0.0 and Clang 13.0.0 - fix all compiler warnings that lead to build failures on Fedora 36 (effectively porting changes from [rpms/espresso#4](https://src.fedoraproject.org/rpms/espresso/pull-request/4#)) - fix compiler and Clang-Tidy warnings `-Wmissing-brace`, `-Wunused-variable`, `-bugprone-narrowing-conversions`, `bugprone-reserved-identifier`, `-modernize-return-braced-init-list` - add support for CppCheck and fix most of its warnings - improve testing - implement unfinished unit tests (revealed by `-Wunused-variable`) - register `es_math.py` in the test suite (was never executed in CI) - create additional script interface unit tests
Package distutils is deprecated in Python 3.10 and will be removed in Python 3.12. The functionality was moved to package sysconfig.
Description of changes: - CMake no longer prints a warning about deprecated package `distutils`
Also adapt the corresponding test to check a non-cubic box.
Check actor keys using set arithmetic. Move check logic to utils. Make valid_keys() and required_keys() methods always return sets.
Description of changes: - actors should check for parameter values, while `espressomd.utils` should check for parameter names and pretty-print error messages (single responsibility principle)
OpenMPI store the process id and other relevant information in a folder named /tmp/ompi.hostname.userid, which is deleted when the test ends. This leads to a race condition when multiple MPI tests run in parallel. The folder name is now unique for each test.
Fixes espressomd#4398 Description of changes: - Converted the reaction methods Cython interface to a Python interface using the `ScriptInterface` framework - Now reaction methods only take keyword arguments - Adapted tutorials, samples, tests and benchmarks - Fixed minor documentation issues
Fixes espressomd#4430 Description of changes: - introduce getters for particle proprties - start rolling out, but keep old access compatible
Check multiple uses cases. Write files to a temporary directory to guarantee test files are always cleaned up and that two MPI-IO tests can safely run in parallel. Use a unique prefix derived from the test name to avoid filename collisions (which are fatal errors in MPI-IO). Check the MPI-IO exception mechanism on 1 MPI rank.
Return by value rather than by output argument, use std::string instead of char pointers, remove macro.
Fix incorrect error messages. Improve doxygen blocks and Sphinx docs.
Factor code duplication. Wrap the error message inside the exception.
It is now possible to instantiate multiple Mpiio objects. This is an API breaking change.
Partial fix for espressomd#4428 Description of changes: - `CellStructureType` is now an `enum class`. - Removed access to the cell system in several files by storing the information about the current `CellStructureType` in the global variable `LocalBox<double> local_geo`.
Use iterators and STL algorithms. Encapsulate MPI_Exscan logic. Roll out new Particle member accessors. Fix -Wconversion warnings.
Description of changes: - make `mpiio` class a fully-functional `ScriptInterface` class - API change: the python global variable `mpiio` was removed - make MPI-IO fatal errors non-fatal and recoverable when only one MPI rank is used - modernize MPI-IO code (STL, single-reponsibility principle, roll out `Particle` changes)
Test all conditional branches in the VerletCriterion. Co-authored-by: Jean-Noël Grad <jgrad@icp.uni-stuttgart.de>
Fixes espressomd#4306 Description of changes: - Make VerletCriterion a class template - Add unit test for VerletCriterion
bf7d473 to
cba87c1
Compare
988981f to
af9055a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.