Commit Graph

772 Commits

Author SHA1 Message Date
alandefreitas fddf6b75d5 test: shared recycled_ptrs
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
2024-03-15 21:01:16 -03:00
alandefreitas 5b86565807 test: cover pct_string_view::decode
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.
2024-03-15 17:56:14 -03:00
alandefreitas 9d4a4a5f15 test: authority_view host functions
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.
2024-03-15 15:23:26 -03:00
alandefreitas 0f97a6d4ed test: static_url url_base functions
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.
2024-03-13 23:10:04 -03:00
alandefreitas 1a6871339c refactor: unsafe encoding assumes default options
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.
2024-03-13 19:13:34 -03:00
alandefreitas 6ec189b931 docs: remove detail::pattern from reference
fix #822
2024-03-12 21:25:55 -03:00
alandefreitas 79b648d9f1 ci: add GHA codecov token
fix #826
2024-03-08 19:00:04 -03:00
alandefreitas e2e3fe35f4 refactor: remove params_ref unused functions 2024-03-08 16:00:30 -03:00
alandefreitas e1660fc506 refactor: invert normalized_path_digest likely condition 2024-03-08 16:00:30 -03:00
alandefreitas c2bddc2b20 refactor: assert remove_dot_segments never receives encoded dots 2024-03-08 16:00:30 -03:00
alandefreitas 90661af6db ci: disable clang 18 2024-03-08 16:00:30 -03:00
alandefreitas 40a3599215 fix: handle encoded slash in hash
fix #818
2024-03-08 16:00:30 -03:00
alandefreitas e023860efe test: remove unused detail function
fix #818
2024-03-08 16:00:30 -03:00
alandefreitas 30d953aad2 test: cover comparison of ports of different sizes
The previous tests did not cover all the cases of comparison between port strings.

fix #818
2024-03-08 16:00:30 -03:00
alandefreitas d9d78ac911 ci: extract url coverage from all
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
2024-03-05 22:29:00 -03:00
alandefreitas 60d5ee24e0 refactor: source files have no header guards
fix #819
2024-03-04 15:59:44 -03:00
alandefreitas 0c16da3347 docs: range::operator= is assignment
fix #791
2024-02-29 16:51:26 -03:00
alandefreitas bbbef97a5b docs: mrdocs.yml file patterns 2024-02-12 10:59:02 -03:00
alandefreitas 0cc6191a54 refactor: no implicit char conversions
fix #816
2024-02-07 18:02:58 -03:00
alandefreitas 689577f0be ci: disable unsigned-integer-overflow sanitizer 2024-02-07 18:02:58 -03:00
alandefreitas 1beb32245d fix: url_impl std::size_t overflow 2024-02-07 18:02:58 -03:00
alandefreitas f3187f7013 ci: test sanitize=integer 2024-02-07 18:02:58 -03:00
alandefreitas 8a8204103f refactor: move detail headers to src 2024-01-19 15:34:31 -03:00
alandefreitas fcb5f58b0e test: simplify error flags
Aggregate Jamfile error flags per compiler and update CI compiler versions with warnings-as-errors based on new cpp-actions entry flags.
2024-01-18 23:43:01 -03:00
alandefreitas 8b566c1935 ci: update cpp-actions to 1.8.2
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.
2024-01-18 23:43:01 -03:00
alandefreitas 6526b0a5c1 test(snippets): include vector 2024-01-18 23:43:01 -03:00
alandefreitas fac0adee81 docs: deprecated aliases use warning 2024-01-18 23:43:01 -03:00
alandefreitas 50b04e2592 docs: update MrDocs collector script
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.
2024-01-18 23:43:01 -03:00
alandefreitas df21f5b98d test(format): use qualified functions
Latest standard implementations have been indirectly including the std::format declaration, which makes urls::format ambiguous in tests because of ADL.
2024-01-04 18:45:23 -03:00
alandefreitas 3e8ba58d94 ci(b2-workflow): cxxstd include latest 2024-01-04 18:45:23 -03:00
alandefreitas 6cebc9b863 fix(sanitize): extract authority
fix #809
2024-01-03 17:57:29 -03:00
alandefreitas 2df5f62f55 fix: resolve abnormal hrefs
fix #808
2024-01-03 17:55:04 -03:00
alandefreitas ad2098777e docs(readme): reorder badges 2023-12-22 18:39:17 -03:00
alandefreitas a4d2f956f6 build: all tests depend on custom target
Tests were depending on other targets that don't match the convention for Boost libraries.

fix #804
2023-12-22 12:05:53 -03:00
alandefreitas e34828ecd0 build: test flags depend on frontend
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.
2023-12-22 12:05:53 -03:00
alandefreitas e35ae73ba5 build: tests rely on BUILD_TESTING
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
2023-12-22 12:05:53 -03:00
alandefreitas 45670fc997 build: root project sets CMAKE_RUNTIME_OUTPUT_DIRECTORY 2023-12-22 12:05:53 -03:00
alandefreitas e804dde18d ci: aggregate cmake integration workflows
This commit simplifies the test workflow by aggregating all CMake integration workflows into a single step.
2023-12-22 12:05:53 -03:00
alandefreitas b8b91407fd fix: handle brackets in query_chars
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
2023-12-15 15:42:28 -03:00
Sam Darwin 02c6984a01
docs: update doc/README.md 2023-12-11 17:31:01 -03:00
alandefreitas 8249695ed5 ci: aggregate integration test parameters 2023-12-11 13:39:04 -03:00
Sam Darwin f42fd62ecf
ci(drone): centralize 'generate' function 2023-12-06 20:07:28 -03:00
alandefreitas 84b82b88bb ci: test all Boost workflows
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
2023-12-06 20:03:36 -03:00
Christian Mazakas 392bbfc445 test: invoke methods defined in the DLL
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.
2023-12-06 20:03:36 -03:00
alandefreitas d99b89ac16 feat(format): support const args
fix #793
2023-11-27 16:53:17 -03:00
alandefreitas cf2a888c42 docs: mrdocs reference collector 2023-11-17 21:14:11 -03:00
alandefreitas 5a0d2ba402 docs: cpp Antora extension 2023-11-17 21:14:11 -03:00
alandefreitas 2ecde1f568 docs: code snippets 2023-11-09 16:21:06 -03:00
alandefreitas ce31dfd4d2 docs: format tables for new UI
This commit formats tables so that the content fits in the margins of the new UI template.
2023-11-09 16:21:06 -03:00
alandefreitas c969efbf00 ci: trace commands on ACTIONS_STEP_DEBUG 2023-11-08 12:30:52 -03:00