Skip to content

Commit

Permalink
Add more details to the maintenance doc
Browse files Browse the repository at this point in the history
  • Loading branch information
jimhester committed Nov 30, 2021
1 parent fd8ef97 commit ca8bd28
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions MAINTENANCE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,22 @@
## Current state

The state of cpp11 is pretty stable, it seems to have the features we need for most of our projects using C++.

## Known outstanding issues

### Running the cpp11test tests

Most of the test suite is in a sub-package, cpp11test.
Probably the best way to run these tests is to install the development version of cpp11 and then run `devtools::test()` to run the cpp11test test suite.

If tests failures occur the output from Catch isn't always easy to interpret.
I have a branch of testthat https://github.com/jimhester/testthat/tree/catch-detailed-output that should make things easier to understand.
I contributed those changes to the main testthat, but something changed after merging the more detailed output was lost, I unfortunately never had the time to track down the cause and fix it.

In addition getting a debugger to catch when errors happen can be fiddly when running the cpp11test tests, something about the way that Catch redirects stderr / stdout interacts with the debugger.

The GitHub Actions workflow has some additional logic to handle running the cpp11 tests https://github.com/r-lib/cpp11/blob/fd8ef97d006db847f7f17166cf52e1e0383b2d35/.github/workflows/R-CMD-check.yaml#L95-L102, https://github.com/r-lib/cpp11/blob/fd8ef97d006db847f7f17166cf52e1e0383b2d35/.github/workflows/R-CMD-check.yaml#L117-L124.

### False positive URL checks for git repositories in the vignettes

If you run `urlchecker::url_check()` on the repo you will see the following false positives.
Expand All @@ -26,3 +41,9 @@ These only happen with the urlchecker package, they can be safely ignored and th
If you forget to set `CPP_EVAL = "true"` then the vignette chunks will not run properly and the vignettes will not be rendered properly.

## Future directions

Some work could be spent in smoothing out the `cpp_source()` / knitr chunk experience.
Our main focus and use cases were in R packages, so that usage is more tested.
Because we don't typically use cpp11 in non package contexts those use cases may not be as nice.

For similar reasons the matrix support might be somewhat lacking, as the majority of our use cases do not deal with numeric matrices.

0 comments on commit ca8bd28

Please sign in to comment.