Loading tests/DumpRenderTree2/src/com/android/dumprendertree2/ManagerService.java +5 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ public class ManagerService extends Service { break; case MSG_ALL_TESTS_FINISHED: mSummarizer.setTestsRelativePath(mAllTestsRelativePath); mSummarizer.summarize(); Intent intent = new Intent(ManagerService.this, TestsListActivity.class); intent.setAction(Intent.ACTION_SHUTDOWN); Loading Loading @@ -121,6 +122,8 @@ public class ManagerService extends Service { private String mCurrentlyRunningTest; private int mCurrentlyRunningTestIndex; private String mAllTestsRelativePath; @Override public void onCreate() { super.onCreate(); Loading @@ -131,6 +134,8 @@ public class ManagerService extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { mAllTestsRelativePath = intent.getStringExtra("path"); assert mAllTestsRelativePath != null; return START_STICKY; } Loading tests/DumpRenderTree2/src/com/android/dumprendertree2/Summarizer.java +45 −13 Original line number Diff line number Diff line Loading @@ -16,12 +16,20 @@ package com.android.dumprendertree2; import android.content.res.AssetManager; import android.content.res.Configuration; import android.content.res.Resources; import android.os.Build; import android.util.DisplayMetrics; import java.io.File; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * A class that collects information about tests that ran and can create HTML Loading Loading @@ -177,7 +185,9 @@ public class Summarizer { private FileFilter mFileFilter; private String mResultsRootDirPath; private String mTitleString; private String mTestsRelativePath; private Date mDate; public Summarizer(FileFilter fileFilter, String resultsRootDirPath) { mFileFilter = fileFilter; Loading @@ -200,6 +210,10 @@ public class Summarizer { } } public void setTestsRelativePath(String testsRelativePath) { mTestsRelativePath = testsRelativePath; } public void summarize() { createHtmlDetails(); createTxtSummary(); Loading @@ -210,13 +224,19 @@ public class Summarizer { mFailedNotIgnoredTests.clear(); mIgnoredTests.clear(); mPassedNotIgnoredTests.clear(); mTitleString = null; mDate = new Date(); } private void createTxtSummary() { StringBuilder txt = new StringBuilder(); txt.append(getTitleString() + "\n"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); txt.append(mTestsRelativePath + "\n"); txt.append("Date: " + dateFormat.format(mDate) + "\n"); txt.append("Build fingerprint: " + Build.FINGERPRINT + "\n"); txt.append("WebKit version: " + getWebKitVersionFromUserAgentString() + "\n"); txt.append("TOTAL: " + getTotalTestCount() + "\n"); if (mCrashedTestsCount > 0) { txt.append("CRASHED (total among all tests): " + mCrashedTestsCount + "\n"); txt.append("-------------"); Loading Loading @@ -251,22 +271,34 @@ public class Summarizer { html.toString().getBytes(), false); } private String getTitleString() { if (mTitleString == null) { int total = mFailedNotIgnoredTests.size() + private int getTotalTestCount() { return mFailedNotIgnoredTests.size() + mPassedNotIgnoredTests.size() + mIgnoredTests.size(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); mTitleString = " - total of " + total + " tests - " + dateFormat.format(new Date()); } return mTitleString; private String getWebKitVersionFromUserAgentString() { Resources resources = new Resources(new AssetManager(), new DisplayMetrics(), new Configuration()); String userAgent = resources.getString(com.android.internal.R.string.web_user_agent); Matcher matcher = Pattern.compile("AppleWebKit/([0-9]+?\\.[0-9])").matcher(userAgent); if (matcher.find()) { return matcher.group(1); } return "unknown"; } private void createTopSummaryTable(StringBuilder html) { html.append("<h1>" + getTitleString() + "</h1>"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); html.append("<h1>" + mTestsRelativePath + "</h1>"); html.append("<h3>" + "Date: " + dateFormat.format(new Date()) + "</h3>"); html.append("<h3>" + "Build fingerprint: " + Build.FINGERPRINT + "</h3>"); html.append("<h3>" + "WebKit version: " + getWebKitVersionFromUserAgentString() + "</h3>"); html.append("<table class=\"summary\">"); createSummaryTableRow(html, "TOTAL", getTotalTestCount()); createSummaryTableRow(html, "CRASHED", mCrashedTestsCount); createSummaryTableRow(html, "FAILED", mFailedNotIgnoredTests.size()); createSummaryTableRow(html, "IGNORED", mIgnoredTests.size()); Loading tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ public class TestsListActivity extends Activity { Message doneMsg = Message.obtain(mHandler, MSG_TEST_LIST_PRELOADER_DONE); Intent serviceIntent = new Intent(this, ManagerService.class); serviceIntent.putExtra("path", path); startService(serviceIntent); new TestsListPreloaderThread(path, doneMsg).start(); Loading Loading
tests/DumpRenderTree2/src/com/android/dumprendertree2/ManagerService.java +5 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ public class ManagerService extends Service { break; case MSG_ALL_TESTS_FINISHED: mSummarizer.setTestsRelativePath(mAllTestsRelativePath); mSummarizer.summarize(); Intent intent = new Intent(ManagerService.this, TestsListActivity.class); intent.setAction(Intent.ACTION_SHUTDOWN); Loading Loading @@ -121,6 +122,8 @@ public class ManagerService extends Service { private String mCurrentlyRunningTest; private int mCurrentlyRunningTestIndex; private String mAllTestsRelativePath; @Override public void onCreate() { super.onCreate(); Loading @@ -131,6 +134,8 @@ public class ManagerService extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { mAllTestsRelativePath = intent.getStringExtra("path"); assert mAllTestsRelativePath != null; return START_STICKY; } Loading
tests/DumpRenderTree2/src/com/android/dumprendertree2/Summarizer.java +45 −13 Original line number Diff line number Diff line Loading @@ -16,12 +16,20 @@ package com.android.dumprendertree2; import android.content.res.AssetManager; import android.content.res.Configuration; import android.content.res.Resources; import android.os.Build; import android.util.DisplayMetrics; import java.io.File; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * A class that collects information about tests that ran and can create HTML Loading Loading @@ -177,7 +185,9 @@ public class Summarizer { private FileFilter mFileFilter; private String mResultsRootDirPath; private String mTitleString; private String mTestsRelativePath; private Date mDate; public Summarizer(FileFilter fileFilter, String resultsRootDirPath) { mFileFilter = fileFilter; Loading @@ -200,6 +210,10 @@ public class Summarizer { } } public void setTestsRelativePath(String testsRelativePath) { mTestsRelativePath = testsRelativePath; } public void summarize() { createHtmlDetails(); createTxtSummary(); Loading @@ -210,13 +224,19 @@ public class Summarizer { mFailedNotIgnoredTests.clear(); mIgnoredTests.clear(); mPassedNotIgnoredTests.clear(); mTitleString = null; mDate = new Date(); } private void createTxtSummary() { StringBuilder txt = new StringBuilder(); txt.append(getTitleString() + "\n"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); txt.append(mTestsRelativePath + "\n"); txt.append("Date: " + dateFormat.format(mDate) + "\n"); txt.append("Build fingerprint: " + Build.FINGERPRINT + "\n"); txt.append("WebKit version: " + getWebKitVersionFromUserAgentString() + "\n"); txt.append("TOTAL: " + getTotalTestCount() + "\n"); if (mCrashedTestsCount > 0) { txt.append("CRASHED (total among all tests): " + mCrashedTestsCount + "\n"); txt.append("-------------"); Loading Loading @@ -251,22 +271,34 @@ public class Summarizer { html.toString().getBytes(), false); } private String getTitleString() { if (mTitleString == null) { int total = mFailedNotIgnoredTests.size() + private int getTotalTestCount() { return mFailedNotIgnoredTests.size() + mPassedNotIgnoredTests.size() + mIgnoredTests.size(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); mTitleString = " - total of " + total + " tests - " + dateFormat.format(new Date()); } return mTitleString; private String getWebKitVersionFromUserAgentString() { Resources resources = new Resources(new AssetManager(), new DisplayMetrics(), new Configuration()); String userAgent = resources.getString(com.android.internal.R.string.web_user_agent); Matcher matcher = Pattern.compile("AppleWebKit/([0-9]+?\\.[0-9])").matcher(userAgent); if (matcher.find()) { return matcher.group(1); } return "unknown"; } private void createTopSummaryTable(StringBuilder html) { html.append("<h1>" + getTitleString() + "</h1>"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); html.append("<h1>" + mTestsRelativePath + "</h1>"); html.append("<h3>" + "Date: " + dateFormat.format(new Date()) + "</h3>"); html.append("<h3>" + "Build fingerprint: " + Build.FINGERPRINT + "</h3>"); html.append("<h3>" + "WebKit version: " + getWebKitVersionFromUserAgentString() + "</h3>"); html.append("<table class=\"summary\">"); createSummaryTableRow(html, "TOTAL", getTotalTestCount()); createSummaryTableRow(html, "CRASHED", mCrashedTestsCount); createSummaryTableRow(html, "FAILED", mFailedNotIgnoredTests.size()); createSummaryTableRow(html, "IGNORED", mIgnoredTests.size()); Loading
tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ public class TestsListActivity extends Activity { Message doneMsg = Message.obtain(mHandler, MSG_TEST_LIST_PRELOADER_DONE); Intent serviceIntent = new Intent(this, ManagerService.class); serviceIntent.putExtra("path", path); startService(serviceIntent); new TestsListPreloaderThread(path, doneMsg).start(); Loading