Clean up instrumentation tests

- Fixed some important tests
- Deleted some useless tests
- Some tests are still broken, filed bugs for these

Fixes: 124572765
Test: atest
Change-Id: Iac4e6a1fb1dbf9383d91945525df69a651ae77fd
This commit is contained in:
Fan Zhang
2019-02-25 16:05:36 -08:00
parent aef472d0ca
commit 0047944c2e
24 changed files with 4 additions and 1562 deletions

View File

@@ -16,12 +16,6 @@
package com.android.settings;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.RootMatchers.isDialog;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static junit.framework.Assert.fail;
import android.app.Instrumentation;
@@ -29,8 +23,6 @@ import android.app.UiAutomation;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.util.Log;
import androidx.test.InstrumentationRegistry;
import androidx.test.filters.SmallTest;
@@ -40,10 +32,6 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@RunWith(AndroidJUnit4.class)
@SmallTest
public class RegulatoryInfoDisplayActivityTest {
@@ -82,73 +70,4 @@ public class RegulatoryInfoDisplayActivityTest {
return;
}
}
@Test
public void launchRegulatoryInfo_shouldNotCrash() {
final Context context = mInstrumentation.getTargetContext();
final boolean hasRegulatoryInfo = context.getResources()
.getBoolean(R.bool.config_show_regulatory_info);
if (!hasRegulatoryInfo) {
return;
}
// Launch intent
mInstrumentation.startActivitySync(mRegulatoryInfoIntent);
onView(withId(R.id.regulatoryInfo))
.inRoot(isDialog())
.check(matches(isDisplayed()));
}
@Test
public void launchRegulatoryInfo_withInfoImage_shouldDisplay() throws IOException {
// TODO: Remove "setenforce 0" when selinux rules is updated to give read permission for
// regulatory info.
mUiAutomation.executeShellCommand("setenforce 0");
final boolean tempFileCreated = ensureRegulatoryInfoImageExists();
try {
final Context context = mInstrumentation.getTargetContext();
final boolean hasRegulatoryInfo = context.getResources()
.getBoolean(R.bool.config_show_regulatory_info);
if (!hasRegulatoryInfo) {
return;
}
// Launch intent
mInstrumentation.startActivitySync(mRegulatoryInfoIntent);
onView(withId(R.id.regulatoryInfo))
.inRoot(isDialog())
.check(matches(isDisplayed()));
} finally {
if (tempFileCreated) {
final String filename =
RegulatoryInfoDisplayActivity.getRegulatoryInfoImageFileName();
new File(filename).delete();
Log.d(TAG, "Deleting temp file " + filename);
}
}
}
/**
* Ensures regulatory label image exists on disk.
*
* @return true if a test image is created.
*/
private boolean ensureRegulatoryInfoImageExists() throws IOException {
final String filename = RegulatoryInfoDisplayActivity.getRegulatoryInfoImageFileName();
if (new File(filename).exists()) {
return false;
}
Log.d(TAG, "Creating temp file " + filename);
final Bitmap bitmap = Bitmap.createBitmap(400 /* width */, 400 /* height */,
Bitmap.Config.ARGB_8888);
final FileOutputStream out = new FileOutputStream(filename);
bitmap.compress(Bitmap.CompressFormat.PNG, 100 /* quality */, out);
out.close();
return true;
}
}