blob: 85d70823318884f60490719de88dee17cbe55851 [file]
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (c) 2017-2024 Cyril Hrubis <chrubis@suse.cz>
* Copyright (c) 2020 Martin Doucha <mdoucha@suse.cz>
*/
#ifndef TST_TMPDIR_H__
#define TST_TMPDIR_H__
/**
* tst_purge_dir - Wipe the content of given directory.
*
* Wipe the content of given directory but keep the directory itself.
*
* @path: Path of the directory to be wiped.
*/
void tst_purge_dir(const char *path);
/**
* tst_tmpdir_path - Returns a pointer to a tmpdir path.
*
* The returned path is allocated and initialized the first time this function is
* called, each subsequent call will return the same pointer.
*
* return: A newly allocated path. The memory is freed automatically at the end
* of the test. If allocation fails the function calls tst_brk() and
* exits the test.
*/
char *tst_tmpdir_path(void);
/**
* tst_tmpdir_genpath - Construct an absolute path pointing to a file inside tmpdir.
*
* Constructs a path inside tmpdir i.e. adds a prefix pointing to the current
* test tmpdir to the string build by the printf-like format.
*
* @fmt: A printf-like format string.
* @...: A printf-like parameter list.
*
* return: A newly allocated path. The memory is freed automatically at the end
* of the test. If allocation fails the function calls tst_brk() and exits the
* test.
*/
char *tst_tmpdir_genpath(const char *fmt, ...)
__attribute__((format(printf, 1, 2)));
/*
* Make sure nobody uses old API functions in new code.
*/
#ifndef LTPLIB
# define tst_get_tmpdir #error Use tst_tmpdir_path()!
#endif
#endif /* TST_TMPDIR_H__ */