summaryrefslogtreecommitdiff
path: root/test/ucsinit.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/ucsinit.c')
-rw-r--r--test/ucsinit.c30
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());