aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/ResultsWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'bench/ResultsWriter.h')
-rw-r--r--bench/ResultsWriter.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/bench/ResultsWriter.h b/bench/ResultsWriter.h
index f53a980de4..b8b9a2e5ed 100644
--- a/bench/ResultsWriter.h
+++ b/bench/ResultsWriter.h
@@ -12,6 +12,7 @@
#include "BenchLogger.h"
#include "SkJSONCPP.h"
+#include "SkOSFile.h"
#include "SkStream.h"
#include "SkString.h"
#include "SkTArray.h"
@@ -116,6 +117,12 @@ public:
// Flush to storage now please.
virtual void flush() {
+ SkString dirname = SkOSPath::Dirname(fFilename.c_str());
+ if (!sk_exists(dirname.c_str(), kWrite_SkFILE_Flag)) {
+ if (!sk_mkdir(dirname.c_str())) {
+ SkDebugf("Failed to create directory.");
+ }
+ }
SkFILEWStream stream(fFilename.c_str());
stream.writeText(Json::StyledWriter().write(fRoot).c_str());
stream.flush();