Detect and work around broken test environment

Bug: 26928703
Change-Id: I837a0f6970b68c2cafdea2d763227e7c3260a9be
diff --git a/tests/tests/provider/src/android/provider/cts/MediaStore_Images_MediaTest.java b/tests/tests/provider/src/android/provider/cts/MediaStore_Images_MediaTest.java
index 8bf2516..1c00aac 100644
--- a/tests/tests/provider/src/android/provider/cts/MediaStore_Images_MediaTest.java
+++ b/tests/tests/provider/src/android/provider/cts/MediaStore_Images_MediaTest.java
@@ -32,6 +32,7 @@
 import android.provider.MediaStore.Images.Media;
 import android.provider.MediaStore.Images.Thumbnails;
 import android.test.InstrumentationTestCase;
+import android.util.Log;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -53,6 +54,8 @@
 
     private static final String TEST_DESCRIPTION3 = "test description3";
 
+    private static final String LOG_TAG = "MediaStore_Images_MediaTest";
+    
     private ArrayList<Uri> mRowsAdded;
 
     private Context mContext;
@@ -80,6 +83,16 @@
 
         mHelper = new FileCopyHelper(mContext);
         mRowsAdded = new ArrayList<Uri>();
+
+        File pics = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
+        if (!pics.exists()) {
+            Log.i(LOG_TAG, "Nonstandard test-environment: Pictures directory does not exist!");
+            pics.mkdirs();
+            if (!pics.exists()) {
+                Log.i(LOG_TAG, "Couldn't create Pictures directory, some tests may fail!");
+            }
+        }
+
     }
 
     public void testInsertImageWithImagePath() throws Exception {