diff options
author | Joseph Chang (bz) <bizkit.tw@gmail.com> | 2011-10-21 23:26:10 +0800 |
---|---|---|
committer | Joseph Chang (bz) <bizkit.tw@gmail.com> | 2011-10-21 23:26:10 +0800 |
commit | 5d1e20ca950abbf73ecd4fa68a40167343a0f5f3 (patch) | |
tree | b847820ebba80b615b8ca4eca698e14d79d03ccc | |
parent | 93fc25f69196ee08fbb467277d83b5b18f9c02df (diff) | |
download | 0xbench-5d1e20ca950abbf73ecd4fa68a40167343a0f5f3.tar.gz |
Add support for uploading SunSpider results to 0xBenchWeb.
-rw-r--r-- | assets/driver.html | 16 | ||||
-rw-r--r-- | src/org/zeroxlab/benchmark/CaseJavascript.java | 32 | ||||
-rw-r--r-- | src/org/zeroxlab/benchmark/TesterJavascript.java | 7 |
3 files changed, 46 insertions, 9 deletions
diff --git a/assets/driver.html b/assets/driver.html index 394e557..fc02aa2 100644 --- a/assets/driver.html +++ b/assets/driver.html @@ -102,8 +102,9 @@ function finish() computeStdDevs(); computeStdErrors(); + var formattedOutput = getOutputForUpload(); var finalOutput = getOutput(); - window.ANDROID_OBJ.finish(finalOutput); + window.ANDROID_OBJ.finish(finalOutput, formattedOutput); } @@ -145,6 +146,19 @@ function getOutput() return outputString; } + +function getOutputForUpload() +{ + var outputString = ""; + + outputString += "Total\t" + mean.toString() + "\n"; + for (var category in categoryMeans) { + outputString += category + "\t" + categoryMeans[category].toString(); + outputString += "\n"; + } + + return outputString; +} </script> <div id="frameparent"> diff --git a/src/org/zeroxlab/benchmark/CaseJavascript.java b/src/org/zeroxlab/benchmark/CaseJavascript.java index 16beb76..097f9ab 100644 --- a/src/org/zeroxlab/benchmark/CaseJavascript.java +++ b/src/org/zeroxlab/benchmark/CaseJavascript.java @@ -30,9 +30,12 @@ import android.content.BroadcastReceiver; import android.content.Intent; import android.os.Bundle; +import java.lang.Float; + public class CaseJavascript extends Case { public static String SUNSPIDER_RESULT = "SUNSPIDER_RESULT"; + public static String SUNSPIDER_FORMATTED_RESULT = "SUNSPIDER_FORMATTED_RESULT"; public static String SUNSPIDER_TOTAL = "SUNSPIDER_TOTAL"; public static int sRepeat = 1; @@ -41,9 +44,10 @@ public class CaseJavascript extends Case { private double mTotal = 0.0; protected String[] mJSResults; + protected String mFormattedResult; CaseJavascript() { super("CaseJavascript", "org.zeroxlab.benchmark.TesterJavascript", sRepeat, sRound); - mType = "msec"; + mType = "msec-js"; mTags = new String[]{new String("javascript")}; } @@ -79,13 +83,19 @@ public class CaseJavascript extends Case { @Override public ArrayList<Scenario> getScenarios () { - ArrayList<Scenario> scenarios = new ArrayList<Scenario>(); - Scenario s = new Scenario(getTitle(), mType, mTags); - s.mLog = getResultOutput(); - s.mResults.add(mTotal); - - scenarios.add(s); + ArrayList<Scenario> scenarios = new ArrayList<Scenario>(); + String results[] = mFormattedResult.split("\n"); + for (String result: results) { + String name_time[] = result.split("\t"); + String title = getTitle() + ":" + name_time[0]; + Log.i(TAG, "JS title: " + title); + Log.i(TAG, "JS time: " + name_time[1]); + + Scenario s = new Scenario(title, mType, mTags); + s.mResults.add( Double.parseDouble(name_time[1]) ); + scenarios.add(s); + } return scenarios; } @@ -102,6 +112,14 @@ public class CaseJavascript extends Case { mJSResults[index] = result; } + String formatted_result = intent.getStringExtra(SUNSPIDER_FORMATTED_RESULT); + if (result == null) { + Log.e(TAG, "Weird! cannot find SunSpiderInfo for formatted"); + return false; + } else { + mFormattedResult = formatted_result; + } + return true; } } diff --git a/src/org/zeroxlab/benchmark/TesterJavascript.java b/src/org/zeroxlab/benchmark/TesterJavascript.java index 0b0ebf9..a29d55c 100644 --- a/src/org/zeroxlab/benchmark/TesterJavascript.java +++ b/src/org/zeroxlab/benchmark/TesterJavascript.java @@ -24,6 +24,7 @@ import android.os.Message; import android.content.Intent; import android.webkit.WebView; import android.webkit.WebSettings; +import android.util.Log; public class TesterJavascript extends Tester { @@ -32,6 +33,7 @@ public class TesterJavascript extends Tester { private double mTotalTime = 0.0; private String mResult = ""; + private String mFormattedResult = ""; @Override public void onCreate(Bundle savedInstanceState) { @@ -74,13 +76,16 @@ public class TesterJavascript extends Tester { @Override protected boolean saveResult(Intent intent) { intent.putExtra(CaseJavascript.SUNSPIDER_RESULT, mResult); + intent.putExtra(CaseJavascript.SUNSPIDER_FORMATTED_RESULT, mFormattedResult); intent.putExtra(CaseJavascript.SUNSPIDER_TOTAL, mTotalTime); return true; } class MsgCallback { - public void finish(String result) { + public void finish(String result, String formatted_result) { + Log.i("Benchmark", "JS result got"); mResult = result; + mFormattedResult = formatted_result; decreaseCounter(); } } |