summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorYoung Gyu Park <younggyu@google.com>2018-04-18 14:45:46 +0900
committerKeun Soo Yim <yim@google.com>2018-04-19 02:16:09 +0000
commit81a026062cd56132f145862720d3472f16384ac2 (patch)
tree940901ee9b3f185ef6d75938560a254fcf46fe19 /src/main/java
parentd32eb9559b034b40ea3745ee20dd23f4d9fec91d (diff)
downloaddashboard-81a026062cd56132f145862720d3472f16384ac2.tar.gz
Implementing suite test category.
Test: go/vts-web-staging/show_plan_release?plan=vts&type=suite&page=1 Bug: 78095215 Change-Id: I0f8eb37e6cba3942f5816a57869ed49e50123d92
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/android/vts/entity/TestSuiteResultEntity.java56
-rw-r--r--src/main/java/com/android/vts/servlet/ShowPlanReleaseServlet.java6
2 files changed, 58 insertions, 4 deletions
diff --git a/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java b/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
index 2e1d5e3..f82e114 100644
--- a/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
+++ b/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
@@ -27,8 +27,13 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
+import java.time.Instant;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import static com.googlecode.objectify.ObjectifyService.ofy;
@@ -40,11 +45,12 @@ import static com.googlecode.objectify.ObjectifyService.ofy;
public class TestSuiteResultEntity {
public enum GROUP_TYPE {
- OTA, SIGNED, TOT
+ OTA,
+ SIGNED,
+ TOT
}
- @Parent
- Key<TestSuiteFileEntity> testSuiteFileEntityKey;
+ @Parent Key<TestSuiteFileEntity> testSuiteFileEntityKey;
/** Test Suite start time field */
@Id @Getter @Setter Long startTime;
@@ -146,11 +152,13 @@ public class TestSuiteResultEntity {
this.failedTestCaseCount = failedTestCaseCount;
int totalTestCaseCount = passedTestCaseCount + failedTestCaseCount;
- if ( totalTestCaseCount <= 0 ) {
+ if (totalTestCaseCount <= 0) {
this.passedTestCaseRatio = 0;
} else {
this.passedTestCaseRatio = passedTestCaseCount / totalTestCaseCount * 100;
}
+
+ this.groupType = this.getGroupType();
}
/** Saving function for the instance of this class */
@@ -162,4 +170,44 @@ public class TestSuiteResultEntity {
public List<? extends TestSuiteResultEntity> getTestSuitePlans() {
return ofy().load().type(this.getClass()).project("suitePlan").distinct(true).list();
}
+
+ private String getNormalizedVersion(String fingerprint) {
+ Map<String, Pattern> partternMap =
+ new HashMap<String, Pattern>() {
+ {
+ put(
+ "9",
+ Pattern.compile(
+ "(:9(\\.\\d\\.\\d|\\.\\d|)|:P\\w*/)",
+ Pattern.CASE_INSENSITIVE));
+ put(
+ "8.1",
+ Pattern.compile(
+ "(:8\\.1\\.\\d\\/|:O\\w+-MR1/)", Pattern.CASE_INSENSITIVE));
+ put(
+ "8",
+ Pattern.compile(
+ "(:8\\.0\\.\\d\\/|:O\\w*/)", Pattern.CASE_INSENSITIVE));
+ }
+ };
+
+ for (Map.Entry<String, Pattern> entry : partternMap.entrySet()) {
+ Matcher systemMatcher = entry.getValue().matcher(fingerprint);
+ if (systemMatcher.find()) {
+ return entry.getKey();
+ }
+ }
+ return "unknown-version-" + Instant.now().toEpochMilli();
+ }
+
+ public GROUP_TYPE getGroupType() {
+ if (this.getNormalizedVersion(this.buildSystemFingerprint)
+ != this.getNormalizedVersion(this.buildVendorFingerprint)) {
+ return GROUP_TYPE.OTA;
+ } else if (this.buildVendorFingerprint.endsWith("release-keys")) {
+ return GROUP_TYPE.SIGNED;
+ } else {
+ return GROUP_TYPE.TOT;
+ }
+ }
}
diff --git a/src/main/java/com/android/vts/servlet/ShowPlanReleaseServlet.java b/src/main/java/com/android/vts/servlet/ShowPlanReleaseServlet.java
index 69c75f1..b068b0c 100644
--- a/src/main/java/com/android/vts/servlet/ShowPlanReleaseServlet.java
+++ b/src/main/java/com/android/vts/servlet/ShowPlanReleaseServlet.java
@@ -285,6 +285,10 @@ public class ShowPlanReleaseServlet extends BaseServlet {
String PLAN_RELEASE_JSP = "WEB-INF/jsp/show_suite_release.jsp";
String testPlan = request.getParameter("plan");
+ String groupType =
+ request.getParameter("groupType") == null
+ ? "OTA"
+ : request.getParameter("groupType");
int page =
request.getParameter("page") == null
? 1
@@ -298,6 +302,7 @@ public class ShowPlanReleaseServlet extends BaseServlet {
ofy().load()
.type(TestSuiteResultEntity.class)
.filter("suitePlan", testPlan)
+ .filter("groupType", groupType)
.orderKey(true);
Pagination<TestSuiteResultEntity> testSuiteResultEntityPagination =
@@ -331,6 +336,7 @@ public class ShowPlanReleaseServlet extends BaseServlet {
request.setAttribute("page", page);
request.setAttribute("testType", "suite");
+ request.setAttribute("groupType", groupType);
request.setAttribute("plan", testPlan);
request.setAttribute("testSuiteResultEntityPagination", testSuiteResultEntityPagination);
RequestDispatcher dispatcher = request.getRequestDispatcher(PLAN_RELEASE_JSP);