From d2cd0f80cf7a5635ab750df5904acce67c80d7bd Mon Sep 17 00:00:00 2001
From: Tira Odhner <pair+aodhner@pivotal.io>
Date: Wed, 15 Mar 2017 11:04:58 -0400
Subject: [PATCH] ensure the screenshots directory exists

- dynamically create the screenshots directory
---
 web/regression/feature_utils/base_feature_test.py | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/web/regression/feature_utils/base_feature_test.py b/web/regression/feature_utils/base_feature_test.py
index fa5a41ce..ffd7aad3 100644
--- a/web/regression/feature_utils/base_feature_test.py
+++ b/web/regression/feature_utils/base_feature_test.py
@@ -62,8 +62,23 @@ class BaseFeatureTest(BaseTestGenerator):
         return False
 
     def _screenshot(self):
-        path = '{0}/../screenshots/{1}'.format(self.CURRENT_PATH, self.server["name"].replace(" ", "_"))
+        screenshots_directory = '{0}/../screenshots'.format(self.CURRENT_PATH)
+        screenshots_server_directory = '{0}/{1}'.format(screenshots_directory,
+                                                        self.server["name"].replace(" ", "_"))
 
+        self.ensure_directory_exists(screenshots_directory)
+        self.ensure_directory_exists(screenshots_server_directory)
+
+        date = datetime.now().strftime("%Y.%m.%d_%H.%M.%S")
+        python_version = sys.version.split(" ")[0]
+
+        self.page.driver.save_screenshot(
+            '{0}/{1}-{2}-Python-{3}.png'.format(screenshots_server_directory,
+                                                self.__class__.__name__,
+                                                date,
+                                                python_version))
+
+    def ensure_directory_exists(self, path):
         try:
             os.mkdir(path)
         except OSError as e:
@@ -71,9 +86,3 @@ class BaseFeatureTest(BaseTestGenerator):
                 pass
             else:
                 raise
-
-        date = datetime.now().strftime("%Y.%m.%d_%H.%M.%S")
-        python_version = sys.version.split(" ")[0]
-
-        self.page.driver.save_screenshot(
-            '{0}/{1}-{2}-Python-{3}.png'.format(path, self.__class__.__name__, date, python_version))
-- 
2.12.0

