Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catch 2 v3 #78

Draft
wants to merge 211 commits into
base: feature/catch2v3
Choose a base branch
from
Draft

Catch 2 v3 #78

wants to merge 211 commits into from

Conversation

acgetchell
Copy link
Owner

Go back to Catch 2

acgetchell added 30 commits May 9, 2022 22:10
Catch2 has a number of issues with ASAN, compile times, etc.

doctest is much faster and simpler.

There are a couple of tests that need to be rewritten, and have been commented out.
Update vcpkgGitCommitId: 2e781b513f486618909d9f78185c0c7ebb54624c
Mostly to try to see if we can get less output from ASAN.
Update vcpkgGitCommitId: 840f701d83d5019aa5033c9d9d08a4cc0d0ebdce

which should fix spdlog.
Also take advantage of std::numbers in C++20.
Should rename functions to be consistent.
Geometry3 -> Geometry_3
FoliatedTriangulation3 -> Foliated_Triangulation_3
etc.

New function incident_cells_from_edge to encapsulate all the logic behind finding locations for bistellar flips based on the number of incident cells (ie. == 4).

Updated to vcpkgGitCommitId: c379c64ff9ec1b8c6100ebff8e81ecdcb49b330c
Only need a reference to the triangulation, the edge to be flipped, and the top and bottom vertices.

Update vcpkgGitCommitId: 1323f4b83d6a91e415e9ce06a45c9d0a6473aaf2

The function still needs to be debugged, of course.
Turn on doctest fast assertions.

Fix references to Catch in documentation and CI.

Use doctest test suites.

Update CI to use vcpkgGitCommitId: 9e8da9bd8aa16fb268ac68f731c44fdef5fec1ab
PVS Studio identified possible use of an uninitialized value obtained by a function returning a std::optional<T>.
# ----------------------------------------------------------
# Header - (type): Brief description
# ----------------------------------------------------------
#   * feature         A new feature
#   * fix          A bug fix
#   * docs         Changes to documentation only
#   * style        Style/format changes (whitespace, etc.)
#   * refactor     Changes not related to a bug or feature
#   * performance         Changes that affects performance
#   * test         Changes that add/modify/correct tests
#   * build        Changes to build system (configs, etc.)
#   * ci           Changes to CI pipeline/workflow
# ----------------------------------------------------------


# ----------------------------------------------------------
# Body - More detailed description, if necessary
# ----------------------------------------------------------
#   * Motivation behind changes, more detail into how 
# functionality might be affected, etc.
# ----------------------------------------------------------


# ----------------------------------------------------------
# Footer - Associated issues, PRs, etc.
# ----------------------------------------------------------
#   * Ex: Resolves Issue #207, see PR #15, etc.
# ----------------------------------------------------------
fmt::print doesn't like CGAL point << output anymore, so wrap it with a point_to_str that converts it.

Fix Metropolis to use SystemError.what() which is a const string for reporting via spdlog::trace which uses fmt which requires const string arguments.

Similar conversions using Gmpzf.to_double to make spdlg::debug happy.

Update  vcpkgGitCommitId: 23cc58477e200bb54c293ad76f3ce438dbabc86c
Nice catch via sonarcloud. Also remove unused includes.
Found a few more places to fix fmt.

Simplified try_32_move.

Removed diagnostic code that was throwing exceptions. That info gets printed out before the runs already.

Updated           vcpkgGitCommitId: 5fb8f6c24ec13a36db460a555b24b20be03bd73c
Except the usual transparent functors 'less<>' issue which is unfixable given docopt.cpp's current implementation.
Consistent formatting
Via           vcpkgGitCommitId: 316323019266ff54be39e0cb2c2de9caaa94cf75
vcpkgGitCommitId: 01b29f6d8212bc845da64773b18665d682f5ab66
Update packages: vcpkgGitCommitId: 2f0a16b5ae24fec6c615924e2fbc8bc43ab73764
Also update packages to vcpkgGitCommitId: 929fc61671bb5e5e7322981dce1153abf24f54cf

And re-enable Windows builds on GHA.
Update GitHub Actions with vcpkgGitCommitId: 57ae838ee87313a3f0c5e14b008767d97d94debe

Start slow with iwyu to ensure it's correct on all platforms.
Update Travis-CI build environment to Jammy with gcc-11 and clang-14.
Update GitHub Actions to vcpkgGitCommitId: bdf073a835ebea07e1d039cd9cff4f650014e4ce
Jammy doesn't have clang-15 yet.

vcpkgGitCommitId: ec7216c8e1206580ccec7a33024ef38216efdaf8
vcpkgGitCommitId: 7e7c62d863b1bf599c1d104b76cd8b74475844d4
And GitHub Action for Windows.
Also fix GHA for Windows.
Import current version of bistellar flip from https://github.com/acgetchell/bistellar-flip

This mostly works except for setting neighboring cells correctly.

Update all tests accordingly.

Remove lots of dead code, including src/bistellar.cpp.

Update GHA to vcpkgGitCommitId: 783e2d8e9983a74fad1b9d7b1d88a020438d32b2
acgetchell and others added 28 commits December 12, 2023 17:11
Also update version of vcpkg to c8696863d371ab7f46e213d8f5ca923c4aef2a00 in repo
For running on HPC
Small fixes in bistellar-flip.cpp.

This commit is to document a compile-time bug with vcpkg's CGAL port with the qt feature enabled.
They also got rid of the annoying difference where the Linux library was oddly named 'docopt_s' and the Windows library was the more sensible 'docopt'. So I can collapse my cmake file.
Windows and macOS builds and links to docopt library, Linux links to docopt_s.
More checks run on pull requests.

Switch to using M1 macOS runner.
Fix clang-format changes.
Go back down to the free tier for macOS.
Update code-ql action.
Docopt isn't being maintained anymore, has long-standing reported bugs, and generates different linker targets depending on platform. In particular, building for HPC was getting to be a pain.

This explores using boost::program_options, since I already need Boost for CGAL.
Enable macOS builds on all pull requests.

Add linker target for boost::program_options on Linux.
Add usage message back to initialize.

Swap out docopt for boost::program_options on cdt executable.
Also remove docopt from vcpkg.
Remove references to docopt and update help screen.
Fix SonarCloud, remove building on macOS until fontconfig issue resolved.
The error message indicates that the Clang compiler does not recognize the `/utf-8` option, which is a Microsoft Visual C++ (MSVC) specific option. To resolve this issue, you need to conditionally add the `/utf-8` flag only when using the MSVC compiler.

Here's how you can modify your `CMakeLists.txt` to conditionally add the `/utf-8` flag:

1. Check if the compiler is MSVC.
2. If it is, add the `/utf-8` flag.
* Make separate branch for C++23

* Fix merge errors from develop

* ci: update to clang-18 via pkgx

This should resolve the build failure for updating to C++23. clang-17 didn't support std::expected, but clang-18 should.

* ci: Fix checking twice on PRs and pushes

* ci: Fix Travis and AppVeyor

* ci: Fix clang on Travis-CI

* ci: Don't double build PR pushes on Travis-CI
* ci: Fix appveyor

* ci: Fix pkgx windows error

* ci: pkgx fixes [skip ci]

* ci: Updates [skip ci]

* ci: Allow clang-format to run by request [skip ci]

* fix: strip out qt temporarily

Until we can get it to compile again

* fix: CoderabbitAI suggestions

* fix: Coderabbit suggestions part 2

* fix: More Coderabbit tuning

* fix: AppleClang

C++23 support check left out AppleClang

* Update src/bistellar-flip.cpp

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* ci: disable macos

* ci: Fix workflows mostly

Note we also updated vcpkg

* ci: CodeRabbit suggestions

* ci: Fix comment [ci skip]

* ci: revert Coderabbit suggestion [ci skip]

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

coderabbitai bot commented Nov 14, 2024

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant