Check if a file path can be safely be used to create a file and write to it.
This is checked:
Does dirname(x)
exist?
Does no file under path x
exist?
Is dirname(x)
writable?
Paths are relative to the current working directory.
checkPathForOutput(x, overwrite = FALSE)check_path_for_output(x, overwrite = FALSE)
assertPathForOutput(x, overwrite = FALSE, .var.name = vname(x),
add = NULL)
assert_path_for_output(x, overwrite = FALSE, .var.name = vname(x),
add = NULL)
testPathForOutput(x, overwrite = FALSE)
test_path_for_output(x, overwrite = FALSE)
expect_path_for_output(x, overwrite = FALSE, info = NULL,
label = vname(x))
[any] Object to check.
[logical(1)
]
If TRUE
, an existing file in place is allowed if it
it is both readable and writable.
Default is FALSE
.
[character(1)
]
Name of the checked object to print in assertions. Defaults to
the heuristic implemented in vname
.
[AssertCollection
]
Collection to store assertion messages. See AssertCollection
.
[character(1)]
Extra information to be included in the message for the testthat reporter.
See expect_that
.
[character(1)
]
Name of the checked object to print in messages. Defaults to
the heuristic implemented in vname
.
Depending on the function prefix:
If the check is successful, the functions
assertPathForOutput
/assert_path_for_output
return
x
invisibly, whereas
checkPathForOutput
/check_path_for_output
and
testPathForOutput
/test_path_for_output
return
TRUE
.
If the check is not successful,
assertPathForOutput
/assert_path_for_output
throws an error message,
testPathForOutput
/test_path_for_output
returns FALSE
,
and checkPathForOutput
returns a string with the error message.
The function expect_path_for_output
always returns an
expectation
.
Other filesystem: checkAccess
,
checkDirectoryExists
,
checkFileExists
# Can we create a file in the tempdir?
testPathForOutput(file.path(tempdir(), "process.log"))
Run the code above in your browser using DataLab