diff options
Diffstat (limited to 'test/ucsinit.c')
-rw-r--r-- | test/ucsinit.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/ucsinit.c b/test/ucsinit.c index b3d8f53..7439030 100644 --- a/test/ucsinit.c +++ b/test/ucsinit.c @@ -1,10 +1,35 @@ +#include <ftw.h> #include <stdio.h> +#include <unistd.h> #include "rufl.h" #include "harness.h" #include "testutils.h" +static char template[] = "/tmp/ucsinitXXXXXX"; +static const char *ptmp = NULL; + +static int ftw_cb(const char *path, const struct stat *sb, + int typeflag, struct FTW *ftwbuf) +{ + (void) sb; + (void) typeflag; + (void) ftwbuf; + + remove(path); + + return 0; +} + +static void cleanup(void) +{ + if (ptmp == NULL) + return; + + nftw(ptmp, ftw_cb, FOPEN_MAX, FTW_DEPTH | FTW_MOUNT | FTW_PHYS); +} + int main(int argc, const char **argv) { int width, x; @@ -17,6 +42,11 @@ int main(int argc, const char **argv) UNUSED(argc); UNUSED(argv); + ptmp = mkdtemp(template); + assert(NULL != ptmp); + atexit(cleanup); + chdir(ptmp); + rufl_test_harness_init(380, true, true); assert(rufl_OK == rufl_init()); |