Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3df4eab3 authored by Maksymilian Osowski's avatar Maksymilian Osowski
Browse files

Added generating text summary to Summarizer.

Change-Id: I8768403b0e4edd46132018c9da6de54b218fb594
parent d689c784
Loading
Loading
Loading
Loading
+37 −6
Original line number Diff line number Diff line
@@ -167,6 +167,7 @@ public class Summarizer {

    /** TODO: Make it a setting */
    private static final String HTML_SUMMARY_RELATIVE_PATH = "summary.html";
    private static final String TXT_SUMMARY_RELATIVE_PATH = "summary.txt";

    private int mCrashedTestsCount = 0;
    private List<AbstractResult> mFailedNotIgnoredTests = new ArrayList<AbstractResult>();
@@ -176,6 +177,8 @@ public class Summarizer {
    private FileFilter mFileFilter;
    private String mResultsRootDirPath;

    private String mTitleString;

    public Summarizer(FileFilter fileFilter, String resultsRootDirPath) {
        mFileFilter = fileFilter;
        mResultsRootDirPath = resultsRootDirPath;
@@ -198,6 +201,27 @@ public class Summarizer {
    }

    public void summarize() {
        createHtmlSummary();
        createTxtSummary();
    }

    private void createTxtSummary() {
        StringBuilder txt = new StringBuilder();

        txt.append(getTitleString() + "\n");
        if (mCrashedTestsCount > 0) {
            txt.append("CRASHED (total among all tests): " + mCrashedTestsCount + "\n");
            txt.append("-------------");
        }
        txt.append("FAILED:  " + mFailedNotIgnoredTests.size() + "\n");
        txt.append("IGNORED: " + mIgnoredTests.size() + "\n");
        txt.append("PASSED:  " + mPassedNotIgnoredTests.size() + "\n");

        FsUtils.writeDataToStorage(new File(mResultsRootDirPath, TXT_SUMMARY_RELATIVE_PATH),
                txt.toString().getBytes(), false);
    }

    private void createHtmlSummary() {
        StringBuilder html = new StringBuilder();

        html.append("<html><head>");
@@ -219,13 +243,20 @@ public class Summarizer {
                html.toString().getBytes(), false);
    }

    private void createTopSummaryTable(StringBuilder html) {
    private String getTitleString() {
        if (mTitleString == null) {
            int total = mFailedNotIgnoredTests.size() +
                    mPassedNotIgnoredTests.size() +
                    mIgnoredTests.size();
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        html.append("<h1> - total of " + total + " tests - ");
        html.append(dateFormat.format(new Date()) + "</h1>");
            mTitleString = " - total of " + total + " tests - " + dateFormat.format(new Date());
        }

        return mTitleString;
    }

    private void createTopSummaryTable(StringBuilder html) {
        html.append("<h1>" + getTitleString() + "</h1>");

        html.append("<table class=\"summary\">");
        createSummaryTableRow(html, "CRASHED", mCrashedTestsCount);