au_test_harness: race condition when creating directories

Avoid race condition in creating download folder when running VMTest in
parallel.

BUG=None
TEST=Running ctest manually.

Change-Id: I4d233777ca297d5a86359ec5c4e1b90979e2859d
Reviewed-on: https://chromium-review.googlesource.com/792091
Commit-Ready: Po-Hsien Wang <pwang@chromium.org>
Tested-by: Po-Hsien Wang <pwang@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
diff --git a/au_test_harness/cros_au_test_harness.py b/au_test_harness/cros_au_test_harness.py
index e7c3ecb..f029f01 100755
--- a/au_test_harness/cros_au_test_harness.py
+++ b/au_test_harness/cros_au_test_harness.py
@@ -21,6 +21,7 @@
 import sys
 import tempfile
 import unittest
+import errno
 
 import constants
 sys.path.append(constants.CROSUTILS_LIB_DIR)
@@ -236,8 +237,11 @@
   # Create download folder for payloads for testing.
   download_folder = os.path.join(os.path.realpath(os.path.curdir),
                                  'latest_download')
-  if not os.path.exists(download_folder):
+  try:
     os.makedirs(download_folder)
+  except OSError as e:
+    if e.errno != errno.EEXIST:
+      raise
 
   with sudo.SudoKeepAlive():
     au_worker.AUWorker.SetUpdateCache(update_cache)