Merge "Shorten the name for the dump file."
This commit is contained in:
@@ -24,6 +24,8 @@ import android.os.FileUtils;
|
|||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.test.platform.app.InstrumentationRegistry;
|
||||||
|
|
||||||
import com.android.compatibility.common.util.OnFailureRule;
|
import com.android.compatibility.common.util.OnFailureRule;
|
||||||
|
|
||||||
import org.junit.AssumptionViolatedException;
|
import org.junit.AssumptionViolatedException;
|
||||||
@@ -37,23 +39,20 @@ import java.io.FileOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
import androidx.test.platform.app.InstrumentationRegistry;
|
|
||||||
|
|
||||||
public class DumpOnFailureRule extends OnFailureRule {
|
public class DumpOnFailureRule extends OnFailureRule {
|
||||||
private File mDumpDir = new File(Environment.getExternalStorageDirectory(),
|
private File mDumpDir = new File(Environment.getExternalStorageDirectory(),
|
||||||
"CtsHostsideNetworkTests");
|
"CtsHostsideNetworkTests");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTestFailure(Statement base, Description description, Throwable throwable) {
|
public void onTestFailure(Statement base, Description description, Throwable throwable) {
|
||||||
final String testName = description.getClassName() + "_" + description.getMethodName();
|
|
||||||
|
|
||||||
if (throwable instanceof AssumptionViolatedException) {
|
if (throwable instanceof AssumptionViolatedException) {
|
||||||
|
final String testName = description.getClassName() + "_" + description.getMethodName();
|
||||||
Log.d(TAG, "Skipping test " + testName + ": " + throwable);
|
Log.d(TAG, "Skipping test " + testName + ": " + throwable);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
prepareDumpRootDir();
|
prepareDumpRootDir();
|
||||||
final File dumpFile = new File(mDumpDir, "dump-" + testName);
|
final File dumpFile = new File(mDumpDir, "dump-" + getShortenedTestName(description));
|
||||||
Log.i(TAG, "Dumping debug info for " + description + ": " + dumpFile.getPath());
|
Log.i(TAG, "Dumping debug info for " + description + ": " + dumpFile.getPath());
|
||||||
try (FileOutputStream out = new FileOutputStream(dumpFile)) {
|
try (FileOutputStream out = new FileOutputStream(dumpFile)) {
|
||||||
for (String cmd : new String[] {
|
for (String cmd : new String[] {
|
||||||
@@ -71,6 +70,17 @@ public class DumpOnFailureRule extends OnFailureRule {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getShortenedTestName(Description description) {
|
||||||
|
final String qualifiedClassName = description.getClassName();
|
||||||
|
final String className = qualifiedClassName.substring(
|
||||||
|
qualifiedClassName.lastIndexOf(".") + 1);
|
||||||
|
final String shortenedClassName = className.chars()
|
||||||
|
.filter(Character::isUpperCase)
|
||||||
|
.collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
|
||||||
|
.toString();
|
||||||
|
return shortenedClassName + "_" + description.getMethodName();
|
||||||
|
}
|
||||||
|
|
||||||
void dumpCommandOutput(FileOutputStream out, String cmd) {
|
void dumpCommandOutput(FileOutputStream out, String cmd) {
|
||||||
final ParcelFileDescriptor pfd = InstrumentationRegistry.getInstrumentation()
|
final ParcelFileDescriptor pfd = InstrumentationRegistry.getInstrumentation()
|
||||||
.getUiAutomation().executeShellCommand(cmd);
|
.getUiAutomation().executeShellCommand(cmd);
|
||||||
|
|||||||
Reference in New Issue
Block a user