Add stable ABI runtime integration tests and implementation#50
Draft
Katze719 wants to merge 8 commits into
Draft
Add stable ABI runtime integration tests and implementation#50Katze719 wants to merge 8 commits into
Katze719 wants to merge 8 commits into
Conversation
- Introduced a new integration test for stable ABI runtime in `integration_tests/stable_abi_runtime`. - Created `producer` and `consumer` components to test ABI registration and task execution. - Implemented producer functions for thread registration, unregistration, and pool management in `producer/producer.cpp`. - Developed a consumer application to validate producer registration and task execution through ABI. - Enhanced `runtime_registry.cpp` to support new ABI functions and handle registry and pool states. - Updated CMake configuration to include new tests and ensure proper linking with the ThreadSchedule library. - Added tests for ABI stability and functionality in `tests/abi_test.cpp` and `tests/stable_abi_target_test.cpp`. - Implemented additional tests for scheduling factories and thread configuration in `tests/thread_config_test.cpp`.
…string, std::error_code> and improve error reporting
- Introduced `thread_view_backend_test.cpp` to validate the functionality of the thread view backend, including thread naming, lifetime management, and CPU affinity binding. - Removed `thread_wrapper_test.cpp` and `thread_wrapper_view_test.cpp` as they contained redundant tests that are now covered by the new thread view backend tests. - Added `v3_api_test.cpp` to test the new V3 API features, including thread configuration, task submission, and error handling in thread pools. - Ensured that the tests cover various scenarios such as implicit conversions, thread naming, and the behavior of advanced thread pools.
- Updated Doxyfile to include LICENSE in documentation input. - Expanded README.md to provide more details on advanced APIs and their usage. - Added comprehensive documentation for new optional utilities in ADVANCED.md. - Improved API.md with clearer error handling descriptions for thread operations. - Updated MIGRATION_V3.md to reflect changes in error handling and new advanced features. - Introduced advanced.hpp header file to expose optional facilities beyond the core API. - Enhanced chaos.hpp with clearer examples for chaos configuration. - Refined core.hpp to improve thread configuration error handling. - Updated scheduled_pool.hpp to validate periodic intervals and support delayed tasks. - Added tests for advanced API features and error handling in v3_api_test.cpp. - Created advanced_api_test.cpp to validate new advanced functionalities. - Improved thread_registry.hpp to streamline thread configuration error reporting.
- Introduced `thread_identity_state` to manage thread identity and readiness. - Added methods to set and get nice values for threads in `thread_registry`. - Updated `native_scheduling_config` and related structures to include priority models. - Implemented scheduling configuration that supports nice values across platforms. - Enhanced thread pool and worker configuration to utilize new scheduling features. - Updated tests to validate nice value behavior and ensure correct priority mapping. - Refactored existing scheduling functions to accommodate new priority model semantics.
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.
integration_tests/stable_abi_runtime.producerandconsumercomponents to test ABI registration and task execution.producer/producer.cpp.runtime_registry.cppto support new ABI functions and handle registry and pool states.tests/abi_test.cppandtests/stable_abi_target_test.cpp.tests/thread_config_test.cpp.