001: /*
002: * Copyright 2007 Google Inc.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005: * use this file except in compliance with the License. You may obtain a copy of
006: * the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013: * License for the specific language governing permissions and limitations under
014: * the License.
015: */
016: package com.google.gwt.junit.client;
017:
018: import com.google.gwt.user.client.rpc.IsSerializable;
019:
020: import java.util.List;
021: import java.util.ArrayList;
022:
023: /**
024: * Encapsulates the results of the execution of a single benchmark. A TestResult
025: * is constructed transparently within a benchmark and reported back to the
026: * JUnit RPC server, JUnitHost. It's then shared (via JUnitMessageQueue) with
027: * JUnitShell and aggregated in BenchmarkReport with other TestResults.
028: *
029: * @skip
030: * @see com.google.gwt.junit.client.impl.JUnitHost
031: * @see com.google.gwt.junit.JUnitMessageQueue
032: * @see com.google.gwt.junit.JUnitShell
033: * @see com.google.gwt.junit.benchmarks.BenchmarkReport
034: */
035: public class TestResults implements IsSerializable {
036:
037: // Computed at the server, via http header
038: String agent;
039:
040: String host;
041:
042: /**
043: * The URL of the document on the browser (document.location). This is used to
044: * locate the *cache.html document containing the generated JavaScript for the
045: * test. In the case of hosted mode, this points (uselessly) to the nocache
046: * file, because there is no generated JavaScript.
047: *
048: * Apparently, we can't get this value on the server-side because of the goofy
049: * way HTTP_REFERER is set by different browser implementations of
050: * XMLHttpRequest.
051: */
052: String sourceRef;
053:
054: /**
055: * @gwt.typeArgs <com.google.gwt.junit.client.Trial>
056: */
057: List<Trial> trials;
058:
059: public TestResults() {
060: trials = new ArrayList<Trial>();
061: }
062:
063: public String getAgent() {
064: return agent;
065: }
066:
067: public String getHost() {
068: return host;
069: }
070:
071: public String getSourceRef() {
072: return sourceRef;
073: }
074:
075: public List<Trial> getTrials() {
076: return trials;
077: }
078:
079: public void setAgent(String agent) {
080: this .agent = agent;
081: }
082:
083: public void setHost(String host) {
084: this .host = host;
085: }
086:
087: public void setSourceRef(String sourceRef) {
088: this .sourceRef = sourceRef;
089: }
090:
091: public void setTrials(List<Trial> trials) {
092: this .trials = trials;
093: }
094:
095: @Override
096: public String toString() {
097: return "trials: " + trials + ", sourceRef: " + sourceRef
098: + ", agent: " + agent + ", host: " + host;
099: }
100: }
|