This PR automates a number of tests that must currently be performed manually, with a view to reducing the future maintenance burden and making it easier for external contributors to verify that changes to code do not have any unintended consequences.
If accepted, then all future pull requests to "ape" on GitHub will be automatically tested against the battery of tests, and reports generated that can be reviewed before a PR is accepted.
The key components are:
Integration of test suites from phylobench package
These will automatically be run on package "check", and can be run separately at a click in RStudio using the devtools::test() functionality.
These tests have been modified slightly to improve their statistical performance, so that only likely errors cause tests to fail. Previous tests often returned before completing all iterations.
Reducing the number of replicates of some tests may well be justified.
Automated testing with valgrind to catch memory leaks
These have identified a couple of issues with the existing package
Catching these before package submission may help to avoid the dreaded "fix this in a fortnight or your package will be removed from CRAN" e-mails !
Automated testing of reverse dependencies
Catches errors caused in downstream packages that use ape
Plot testing using "vdiffr"
These tests can easily be extended to catch other cases.
This PR automates a number of tests that must currently be performed manually, with a view to reducing the future maintenance burden and making it easier for external contributors to verify that changes to code do not have any unintended consequences.
If accepted, then all future pull requests to "ape" on GitHub will be automatically tested against the battery of tests, and reports generated that can be reviewed before a PR is accepted.
The key components are:
Integration of test suites from phylobench package
devtools::test()
functionality.Automated testing with valgrind to catch memory leaks
Automated testing of reverse dependencies
Plot testing using "vdiffr"
See example test results.
I hope that these are useful; it's easy to remove any elements that you'd rather continue testing in a different way.