summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYoung Gyu Park <younggyu@google.com>2018-04-02 17:08:56 +0900
committerYoung Gyu Park <younggyu@google.com>2018-04-05 11:42:35 +0900
commit842909f813aa8c04b17af0340b9449db609d3549 (patch)
treed3d073127aadf7ef2b17ad2bb86d1b23dd1c39b3 /src
parent25a380335916dd4cf005ce82d69d208763d86690 (diff)
downloaddashboard-842909f813aa8c04b17af0340b9449db609d3549.tar.gz
Layout improvement to show all data
Test: Tested with browser on staging server(go/vts-web-staging/show_plan_release?plan=suite_plan&type=suite) Bug: 77456536 Change-Id: I14f86d1c8a4b04e1198fec359fc490d77cecd292
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/android/vts/api/TestDataForDevServlet.java22
-rw-r--r--src/main/java/com/android/vts/entity/TestSuiteResultEntity.java2
-rw-r--r--src/main/webapp/WEB-INF/jsp/show_suite_release.jsp80
3 files changed, 73 insertions, 31 deletions
diff --git a/src/main/java/com/android/vts/api/TestDataForDevServlet.java b/src/main/java/com/android/vts/api/TestDataForDevServlet.java
index 603807c..6a28b73 100644
--- a/src/main/java/com/android/vts/api/TestDataForDevServlet.java
+++ b/src/main/java/com/android/vts/api/TestDataForDevServlet.java
@@ -16,7 +16,19 @@
package com.android.vts.api;
-import com.android.vts.entity.*;
+import com.android.vts.entity.BranchEntity;
+import com.android.vts.entity.BuildTargetEntity;
+import com.android.vts.entity.CoverageEntity;
+import com.android.vts.entity.DeviceInfoEntity;
+import com.android.vts.entity.ProfilingPointRunEntity;
+import com.android.vts.entity.TestCaseRunEntity;
+import com.android.vts.entity.TestEntity;
+import com.android.vts.entity.TestPlanEntity;
+import com.android.vts.entity.TestPlanRunEntity;
+import com.android.vts.entity.TestRunEntity;
+import com.android.vts.entity.TestSuiteResultEntity;
+import com.android.vts.entity.TestStatusEntity;
+
import com.android.vts.entity.TestRunEntity.TestRunType;
import com.android.vts.entity.TestStatusEntity.TestCaseReference;
import com.google.appengine.api.datastore.DatastoreFailureException;
@@ -38,6 +50,8 @@ import com.google.gson.GsonBuilder;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -175,8 +189,8 @@ public class TestDataForDevServlet extends HttpServlet {
idx -> {
TestSuiteResultEntity ttestSuiteResultEntity =
new TestSuiteResultEntity(
- rand.nextLong(),
- rand.nextLong(),
+ Instant.now().minus(rand.nextInt(100), ChronoUnit.DAYS).getEpochSecond(),
+ Instant.now().minus(rand.nextInt(100), ChronoUnit.DAYS).getEpochSecond(),
"Suite Test Plan",
"Suite Version " + idx,
"Suite Build Number " + idx,
@@ -184,7 +198,7 @@ public class TestDataForDevServlet extends HttpServlet {
rand.nextInt(),
branch,
target,
- Long.toString(rand.nextLong()),
+ Long.toString(Math.abs(rand.nextLong())),
"Build System Fingerprint " + idx,
"Build Vendor Fingerprint " + idx,
rand.nextInt(),
diff --git a/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java b/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
index 9f0e9be..8d7fe87 100644
--- a/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
+++ b/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
@@ -38,7 +38,7 @@ import static com.googlecode.objectify.ObjectifyService.ofy;
public class TestSuiteResultEntity {
/** Test Suite start time field */
- @Id Long startTime;
+ @Id @Getter @Setter Long startTime;
/** Test Suite end time field */
@Getter @Setter Long endTime;
diff --git a/src/main/webapp/WEB-INF/jsp/show_suite_release.jsp b/src/main/webapp/WEB-INF/jsp/show_suite_release.jsp
index 5cb5fca..054a461 100644
--- a/src/main/webapp/WEB-INF/jsp/show_suite_release.jsp
+++ b/src/main/webapp/WEB-INF/jsp/show_suite_release.jsp
@@ -16,12 +16,21 @@
<%@ page contentType='text/html;charset=UTF-8' language='java' %>
<%@ taglib prefix='fn' uri='http://java.sun.com/jsp/jstl/functions' %>
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core'%>
+<%@ taglib prefix='fmt' uri='http://java.sun.com/jsp/jstl/fmt'%>
+<jsp:useBean id="startDateObject" class="java.util.Date"/>
+<jsp:useBean id="endDateObject" class="java.util.Date"/>
<html>
- <link rel='stylesheet' href='/css/show_release.css'>
<%@ include file='header.jsp' %>
+ <link type='text/css' href='/css/show_test_runs_common.css' rel='stylesheet'>
+ <link type='text/css' href='/css/test_results.css' rel='stylesheet'>
+ <script type='text/javascript'>
+ $(document).ready(function() {
+
+ });
+ </script>
<body>
- <div class='container'>
+ <div class='wide container'>
<div class="row">
<div class="col s12">
@@ -31,30 +40,49 @@
<div class='row' id='test-suite-green-release-container'>
<div class="col s12">
- <table class="bordered highlight">
- <thead>
- <tr>
- <th>Branch</th>
- <th>Target</th>
- <th>Build ID</th>
- <th>Suite Plan</th>
- <th>System Fingerprint</th>
- <th>Vendor Fingerprint</th>
- </tr>
- </thead>
- <tbody>
- <c:forEach var="testSuiteResultEntity" items="${testSuiteResultEntityList}">
- <tr>
- <td><c:out value="${testSuiteResultEntity.branch}"></c:out></td>
- <td><c:out value="${testSuiteResultEntity.target}"></c:out></td>
- <td><c:out value="${testSuiteResultEntity.buildId}"></c:out></td>
- <td><c:out value="${testSuiteResultEntity.suitePlan}"></c:out></td>
- <td><c:out value="${testSuiteResultEntity.buildSystemFingerprint}"></c:out></td>
- <td><c:out value="${testSuiteResultEntity.buildVendorFingerprint}"></c:out></td>
- </tr>
- </c:forEach>
- </tbody>
- </table>
+
+ <ul data-collapsible="expandable" class="collapsible popout test-runs">
+ <c:forEach var="testSuiteResultEntity" items="${testSuiteResultEntityList}">
+ <li class="test-run-container">
+ <div test="SampleShellTest" time="1522488372555217" class="collapsible-header test-run">
+ <span class="test-run-metadata">
+ <b><c:out value="${testSuiteResultEntity.branch}"></c:out>/<c:out value="${testSuiteResultEntity.target}"></c:out> (<c:out value="${testSuiteResultEntity.buildId}"></c:out>)</b><br>
+ <b>Suite Build Number: </b><c:out value="${testSuiteResultEntity.suiteBuildNumber}"></c:out><br>
+ <b>VTS Build: </b><c:out value="${testSuiteResultEntity.buildId}"></c:out><br>
+ <b>Modules: </b><c:out value="${testSuiteResultEntity.modulesDone}"></c:out>/<c:out value="${testSuiteResultEntity.modulesTotal}"></c:out><br>
+ <jsp:setProperty name="startDateObject" property="time" value="${testSuiteResultEntity.startTime}"/>
+ <jsp:setProperty name="endDateObject" property="time" value="${testSuiteResultEntity.endTime}"/>
+ <fmt:formatDate value="${startDateObject}" pattern="yyyy-MM-dd HH:mm:ss" /> - <fmt:formatDate value="${endDateObject}" pattern="yyyy-MM-dd HH:mm:ss z" />
+ <c:set var="executionTime" scope="page" value="${(testSuiteResultEntity.endTime - testSuiteResultEntity.startTime) / 1000}"/>
+ (<c:out value="${executionTime}"></c:out>s)
+ </span>
+ <span class="indicator right center green">
+ <c:out value="${testSuiteResultEntity.passedTestCaseRatio}"></c:out>/<c:out value="${testSuiteResultEntity.passedTestCaseRatio + testSuiteResultEntity.failedTestCaseCount}"></c:out>
+ </span>
+ <i class="material-icons expand-arrow">expand_more</i>
+ </div>
+ <div class="collapsible-body test-results row" style="display: none;">
+ <div class="col test-col grey lighten-5 s12 left-most right-most">
+ <h5 class="test-result-label white" style="text-transform: capitalize;">
+ Vendor Fingerprint
+ </h5>
+ <div class="test-case-container">
+ <c:out value="${testSuiteResultEntity.buildVendorFingerprint}"></c:out>
+ </div>
+ </div>
+ <div class="col test-col grey lighten-5 s12 left-most right-most">
+ <h5 class="test-result-label white" style="text-transform: capitalize;">
+ System Fingerprint
+ </h5>
+ <div class="test-case-container">
+ <c:out value="${testSuiteResultEntity.buildSystemFingerprint}"></c:out>
+ </div>
+ </div>
+ </div>
+ </li>
+ </c:forEach>
+ </ul>
+
</div>
</div>