Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Temporary file management.
Temporary files for tests.
val file : ?runner:Runner.t -> ?perms:Unix.file_perm -> string -> string
Get a temporary file name.
For instance:
file "hello.ml"
may return something like "/tmp/tezt-1234/1/hello.ml"
;file "some/dir/hello.ml"
may return "/tmp/tezt-1234/1/some/dir/hello.ml"
;file "/dir/hello.ml"
may return "/tmp/tezt-1234/1/dir/hello.ml"
.This function also creates the directory (and its parents) needed to host the resulting file.
perms
is the permissions for parent directories if they are created. Default is 0o755
, i.e. rwxr-xr-x
.
If runner
is specified, the temporary file is registered to be located in this remote runner, which means that it will be removed using SSH by the clean up
function.
file base
always returns the same result for a given base
and for the same process.
val dir : ?runner:Runner.t -> ?perms:Unix.file_perm -> string -> string
Get a temporary file name and create it as a directory.
Set the current process identifier.
This affects the main temporary directory, e.g. "/tmp/tezt-1234"
where 1234
is the PID set by set_pid
.
The default PID if set_pid
is not called is 0
.
This is automatically called by Tezt.Main.run
. This is, however, not called by Tezt_js.Main.run
.
Allow calls to file
and dir
until the next clean_up
or stop
.
Return the main temporary directory, e.g. "/tmp/tezt-1234/1"
, so that it can be displayed to users.
Calls to file
and dir
which are made before start
result in an error.
Do not call this directly, it is called by Test.run
. This prevents you from creating temporary files accidentally before your test actually runs. Indeed, if your test is disabled from the command-line it should not create temporary files. By using Test.run
you also ensure that clean_up
is called.
Disallow calls to file
and dir
until the next start
.
This can be called in place of clean_up
if you want to keep temporary files.