Recent Releases of CBTF
CBTF - CBTF 0.5.0 (CRAN)
Changes in CBTF 0.5.0 (2025-08-21)
- Streamline the progress report from
fuzz(). - In case both an error and a warning are raised by the function being fuzzed, we now report the error; previously the warning was reported because of how
tryCatch()is implemented. - The
length()S3 method for objects of classcbtfnow counts the total number of tests performed, instead of the number of inputs tested. - Add the
tabulateargument tosummary()to control whether the tabulation of results should be printed to the terminal or not. - Change the internal structure of the
cbtfobject to store the names of the functions fuzzed only once. - Store the values of the
ignore_patternsandignore_warningsoptions in thecbtfobject. - Add the
whitelist()function to remove false positives from acbtfobject. - Make
test_input()recognise the"help"keyword, in which case it returns a vector of valid input classes. - Add the
namify()function to help create a named list of custom input objects.
Full Changelog: https://github.com/mcol/caught-by-the-fuzz/compare/v0.4.0...v0.5.0
- R
Published by mcol 11 months ago
CBTF - v0.4.0
CBTF 0.4.0 (2025-07-31)
- Don't crash in
get_exported_functions()ifgetNameSpaceExports()fails. - Store the error message in the results object also in case of whitelisted errors, so it can be reported from
print(..., show_all = TRUE). - Add the tabulation shown in
summary()as attribute"summary_table"of the data frame returned. - Make
get_exported_functions()return only fuzzable functions, so that functions with no arguments are no longer returned. - Expand the documentation to satisfy the CRAN request.
Full Changelog: https://github.com/mcol/caught-by-the-fuzz/compare/v0.3.0...v0.4.0
- R
Published by mcol 12 months ago
CBTF - v0.3.0
CBTF 0.3.0 (2025-07-26)
- Warnings containing the name of the function being fuzzed are no longer reported, to make their behaviour consistent with that of errors.
- Add the
packageargument tofuzz()as an alternative and simpler way to specify the namespace where function names are searched. - Don't consider primitives (such as
list()or+) to be functions with no arguments (#5). - Make the
whatargument tofuzz()accept a list of inputs, so that the function can test multiple inputs in the same run. - Add function
test_inputs()to return a configurable list of problematic inputs. - Add the
listify_whatargument tofuzz()so that each input inwhatis also tested in its listified version. - Provide the S3 method for
length(). - Make the output from summary() more informative and include a column with the inputs tested in the data frame returned.
Full Changelog: https://github.com/mcol/caught-by-the-fuzz/compare/v0.2.0...v0.3.0
- R
Published by mcol 12 months ago
CBTF - v0.2.0
CBTF 0.2.0 (2025-07-16)
- Return an object with the raw results from
fuzz()and provide S3 methods forsummary()andprint()(#1). - Skip functions that call
readline(), as in an interactive session they stall waiting for user input (#4). - Skip non-existing function names and functions that accept no arguments.
- Show a progress bar during fuzz().
- Prettify the output from fuzz(), summary() and print().
Full Changelog: https://github.com/mcol/caught-by-the-fuzz/compare/v0.1.0...v0.2.0
- R
Published by mcol about 1 year ago