summaryrefslogtreecommitdiff
path: root/test/scopedfile.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2018-06-16 21:13:54 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2018-06-16 21:40:54 +0200
commitc102dc8c786ae3760b2ccdafb8d6429f801e59b1 (patch)
tree389388c81a89f0e2fbc1ef33b3583d2a8d2b7294 /test/scopedfile.cc
parent8ffc54943f06439c47989e014b8d94d0c71f9ead (diff)
Make directory handling cross-platform in unit-tests.
Diffstat (limited to 'test/scopedfile.cc')
-rw-r--r--test/scopedfile.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/scopedfile.cc b/test/scopedfile.cc
index e63972e..b03a2bc 100644
--- a/test/scopedfile.cc
+++ b/test/scopedfile.cc
@@ -31,6 +31,11 @@
#include <cpp11fix.h>
+#ifdef _WIN32
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#endif
+
struct Pimpl
{
std::string filename;
@@ -40,8 +45,14 @@ struct Pimpl
ScopedFile::ScopedFile(const std::string& data)
: pimpl(std::make_unique<struct Pimpl>())
{
+#ifndef _WIN32
char templ[] = "/tmp/dg-scoped-file-XXXXXX"; // buffer for filename
pimpl->fd = mkstemp(templ);
+#else
+ char templ[] = "dg-scoped-file-XXXXXX"; // buffer for filename
+ _mktemp_s(templ);
+ pimpl->fd = open(templ);
+#endif
pimpl->filename = templ;
auto sz = write(pimpl->fd, data.data(), data.size());
(void)sz;