This commit includes tests for shared `recycled_ptr`s. Unreachable paths are also marked.
This is the last in a series of commits that intend to fix#828, where `recycled_ptr` had low coverage.
fix#828
This commit simplifies duplicated code so that we tests all paths for the pct_string_view::decode function. Unreachable paths are also marked.
This is a partial solution to #828, where src/detail/decode.cpp has low coverage.
This commit includes tests for the authority_view host functions when the host type is invalid.
This is a partial solution to #828, where authority_view.cpp has low coverage.
This commit includes tests for the url_base functions whose behavior is customized by static_url.
This is a partial solution to #828, where static_url.cpp has low coverage.
The private unsafe encoding functions received a parameter to determine the encoding options. However, these functions are never used in any context where these options should diverge from the default values.
This is a partial solution to #828, where `detail/encode.hpp` is the file with the lowest coverage.
Use the same process as boost-ci to generate and upload coverage. It generates an all.info file with information about all boost libraries and filters the files in */libs/url/*. This fixes a problem with the --include pattern we used to use.
fix#821
This updates cpp-actions and makes use of new features, such as aggregate factors, new entry flags, and new B2 inputs parameters.
Sanitizer factors are also expanded to take new options into account.
This PR updates the version of MrDocs used by the collector extensions.
The new collector script uses new MrDocs features and new options are included in mrdocs.yml to configure these features.
Latest standard implementations have been indirectly including the std::format declaration, which makes urls::format ambiguous in tests because of ADL.
The logic for test flags in cmake also needs to check CMAKE_CXX_COMPILER_FRONTEND_VARIANT. In particular, if the compiler is clang but the frontend is MSVC, we need to add flags as if it were MSVC rather than GCC-like flags.
This commit also updates existing flags to account for new compiler versions.
When URL was configured with cmake `-D BUILD_TESTING=ON` and then reconfigured with cmake `-D BUILD_TESTING=OFF`, tests would remain enabled. That's because `BUILD_TESTING` was only used once as the default value of `BOOST_URL_BUILD_TESTS` being cached. That's not how all other Boost libraries work.
This commit makes tests rely on `BUILD_TESTING` and, for backwards compatibility, `BOOST_URL_BUILD_TESTS` is only available as an extra option to enable Boost.URL tests even if `BUILD_TESTING` is `OFF`.
fix#805
Although 1317ca8c includes support for brackets in key_chars, the lack of support in query_chars made still led to errors when the the complete url is parsed at once.
fix#93
The updated CI workflows include building Boost.URL with the Boost super-project as the project root, with Boost.URL as the project root, building a project that adds the Boost super-project as a subdirectory, a project that adds Boost.URL as a subdirectory, that finds Boost as a package and that finds Boost.URL as a package.
fix#796
URL's find_package() CMake test doesn't actually invoke any methods defined in the found DLL for Windows platforms with BUILD_SHARED_LIBS.
This PR updates the test to use components of URL with out-of-line definitions which now triggers an expected CI failure.