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 classcbtf
now counts the total number of tests performed, instead of the number of inputs tested. - Add the
tabulate
argument tosummary()
to control whether the tabulation of results should be printed to the terminal or not. - Change the internal structure of the
cbtf
object to store the names of the functions fuzzed only once. - Store the values of the
ignore_patterns
andignore_warnings
options in thecbtf
object. - Add the
whitelist()
function to remove false positives from acbtf
object. - 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.
CBTF 0.4.0 (2025-07-31)
CRAN release: 2025-08-19
- 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.
CBTF 0.3.0 (2025-07-27)
- Warnings containing the name of the function being fuzzed are no longer reported, to make their behaviour consistent with that of errors.
- Add the
package
argument 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
what
argument 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_what
argument tofuzz()
so that each input inwhat
is 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.
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()
andprint()
.
CBTF 0.1.0 (2024-11-14)
- First version of the package.
- The package website is now available at https://mcol.github.io/caught-by-the-fuzz/