aboutsummaryrefslogtreecommitdiff
path: root/en/devices/tech/vts/setup.html
diff options
context:
space:
mode:
authorAndroid Partner Docs <noreply@android.com>2018-03-16 12:34:18 -0700
committerClay Murphy <claym@google.com>2018-03-16 12:39:03 -0700
commitc6df243a3316ba12bd910555abe5d2df44ea34d9 (patch)
tree583f1449d717126091363f8accd5f02f501bbf52 /en/devices/tech/vts/setup.html
parente776910169664b89ac8ebb36627373136c8e532c (diff)
downloadsource.android.com-c6df243a3316ba12bd910555abe5d2df44ea34d9.tar.gz
Docs: Changes to source.android.com
- 189377827 hikey960: Use Image.gz-dtb as a kernel image by Android Partner Docs <noreply@android.com> - 189349681 Moving VTS from devices/tech to compatibility/vts (and im... by Heidi von Markham <hvm@google.com> - 189244963 Augment USB Audio CTS doc with additional peripherals by Clay Murphy <claym@google.com> - 189185354 New reports page for Android Security YIR and home page u... by Danielle Roberts <daroberts@google.com> - 189059228 Update CTS/CTS-Verifier downloads for CTS-Mar-2018 Releases by Android Partner Docs <noreply@android.com> - 189043885 Devsite localized content from translation request 6cb273... by Android Partner Docs <noreply@android.com> - 189038438 Devsite localized content from translation request 1306aa... by Android Partner Docs <noreply@android.com> - 189038430 Devsite localized content from translation request cbcbd6... by Android Partner Docs <noreply@android.com> - 188908346 Devsite localized content from translation request 946829... by Android Partner Docs <noreply@android.com> - 188908252 Devsite localized content from translation request 4ade76... by Android Partner Docs <noreply@android.com> - 188908248 Devsite localized content from translation request 3a86a7... by Android Partner Docs <noreply@android.com> - 188908238 Devsite localized content from translation request 090d64... by Android Partner Docs <noreply@android.com> - 188877475 Updated "Develop CTS" page to by Android Partner Docs <noreply@android.com> - 188805462 Devsite localized content from translation request 429221... by Android Partner Docs <noreply@android.com> - 188791843 CDD: Relax Overview title count requirement. by Android Partner Docs <noreply@android.com> - 188751143 Devsite localized content from translation request 1e4322... by Android Partner Docs <noreply@android.com> - 188751132 Devsite localized content from translation request 9e5f9b... by Android Partner Docs <noreply@android.com> - 188560973 CDD: SD card encryption required for the primary external... by Android Partner Docs <noreply@android.com> - 188560351 by Android Partner Docs <noreply@android.com> - 188418844 Add links and path to source files for Data Saver by Clay Murphy <claym@google.com> - 188368136 CDD: Apps can use ACTION_OPEN_DOCUMENT_TREE to write to s... by Android Partner Docs <noreply@android.com> - 188364381 by Android Partner Docs <noreply@android.com> - 188363534 CDD: Fixing typos in the USB section by Android Partner Docs <noreply@android.com> - 188360294 CDD: Relax Overview title count requirement. by Android Partner Docs <noreply@android.com> - 188351043 Devsite localized content from translation request e77cb5... by Android Partner Docs <noreply@android.com> - 188346717 CDD: Relax Near-ultrasound microphone SNR requirement. by Android Partner Docs <noreply@android.com> - 188344574 CDD: Updated section 3.8.10 Lock Screen Media Control to ... by Android Partner Docs <noreply@android.com> - 188269274 by Android Partner Docs <noreply@android.com> - 188268739 CDD: Relax Overview title count requirement. by Android Partner Docs <noreply@android.com> - 188254167 Add AOSP links to Android & Pixel bulletins by Danielle Roberts <daroberts@google.com> - 188246295 by Android Partner Docs <noreply@android.com> - 188243208 by Android Partner Docs <noreply@android.com> - 188235190 Devsite localized content from translation request f764fc... by Android Partner Docs <noreply@android.com> - 188213222 Add tag for Pixel C release for March 2018. by Android Partner Docs <noreply@android.com> - 188209010 Devsite localized content from translation request 8fd2a1... by Android Partner Docs <noreply@android.com> PiperOrigin-RevId: 189377827 Change-Id: I6f068548537b775ce3f2f086d87633726b1286b0
Diffstat (limited to 'en/devices/tech/vts/setup.html')
-rw-r--r--en/devices/tech/vts/setup.html198
1 files changed, 0 insertions, 198 deletions
diff --git a/en/devices/tech/vts/setup.html b/en/devices/tech/vts/setup.html
deleted file mode 100644
index 79bc79d7..00000000
--- a/en/devices/tech/vts/setup.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<html devsite>
- <head>
- <title>VTS Dashboard Setup</title>
- <meta name="project_path" value="/_project.yaml" />
- <meta name="book_path" value="/_book.yaml" />
- </head>
- <body>
- <!--
- Copyright 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<p>
-The VTS Dashboard provides a user backend and user interface for viewing test
-results from the VTS continuous integration system. It supports test-driven
-development with tools such as test status notifications to help developers to
-locate and prevent regression areas during the development cycle (include test
-monitoring and
-triaging support).
-</p>
-
-<p>
-The user interface supports new features (such as native code coverage) provided
-by the VTS infrastructure and enables the development of tools with optimized
-and well-characterized performance by offering continuous performance
-monitoring.
-</p>
-
-<h2 id=requirements>Requirements</h2>
-<p>
-The following services are required to use the VTS Dashboard:
-</p>
-<ul>
-<li><a href="https://maven.apache.org/">Apache Maven</a>, for building and
-deployment</li>
-<li><a href="https://cloud.google.com/appengine">Google Cloud App Engine</a>,
-for web-service hosting</li>
-<li><a href="https://cloud.google.com/datastore/docs/">Google Cloud
-Datastore</a>, for storage</li>
-<li><a href="http://www.stackdriver.com/">Google Stackdriver</a>, for
-monitoring</li>
-</ul>
-
-<p>
-Viewing <a href="/devices/architecture/testing/ui.html#coverage">test
-coverage</a> relies on a REST API to a source code server (e.g. Gerrit), which
-enables the web service to fetch original source code according to existing
-access control lists.
-</p>
-
-<h2 id=arch>Architecture</h2>
-<p>
-The VTS Dashboard uses the following architecture:
-</p>
-<img src="../images/treble_vts_dash_arch.png" title="VTS Dashboard Architecture">
-<figcaption><strong>Figure 1</strong>. VTS Dashboard architecture.</figcaption>
-
-<p>
-Test status results are continuously uploaded to the Cloud Datastore database
-via a REST interface. The VTS runner automatically processes the results and
-serializes them using the Protobuf format.
-</p>
-<p>
-Web servlets form the primary access point for users, delivering and processing
-data from the Datastore database. The servlets include: a main servlet for
-delivering all of the tests, a preferences servlet for managing user favorites,
-a results servlet for populating a test table, a graph servlet for preparing
-profiling data, and a coverage servlet for preparing coverage data for the
-client.
-</p>
-<p>
-Each test module has its own Datastore ancestry tree and test results are
-indexed with the Unix timestamp of the test start time. Coverage data in the
-database is stored with the test results as a vector of counts (i.e. for each
-line in the original source file) and identifying information to fetch the
-source code from a source code server.
-</p>
-<p>
-The notification service runs using task queues, identifying test case status
-changes, and notifying subscribers. Stateful information is stored in a status
-table to keep track of data freshness and existing failures. This allows for the
-notification service to provide rich information about individual test case
-failures and fixes.
-</p>
-
-<h2 id=code-structure>Code structure</h2>
-<p>
-VTS Dashboard essential components include the servlets implemented in Java,
-the front-end JSPs, CSS stylesheets, and configuration files. The following list
-details the locations and descriptions of these components (all paths relative
-to <code>test/vts/web/dashboard</code>):
-</p>
-<ul>
-<li><code>pom.xml</code><br>Settings file where environment variables and
-dependencies are defined.</li>
-<li><code>src/main/java/com/android/vts/api/</code><br>Contains endpoints for
-interacting with the data via REST.</li>
-<li><code>src/main/java/com/android/vts/entity/</code><br>Contains Java models
-of the Datastore entities.</li>
-<li><code>src/main/java/com/android/vts/proto/</code><br>Contains Java files
-for Protobuf, including <code>VtsReportMessage.java</code>, which is a Java
-implementation of Protobuf type used to describe VTS test results.</li>
-<li><code>src/main/java/com/android/vts/servlet/</code><br>Contains Java
-files for servlets.</li>
-<li><code>src/main/java/com/android/vts/util/</code><br>Contains Java files
-for utility functions and classes used by the servlets.</li>
-<li><code>src/test/java/com/android/vts/</code><br>Contains UI tests for the
-servlets and utils.</li>
-<li><code>src/main/webapp/</code><br>Contains files related to the UI (JSP,
-CSS, XML):
- <ul>
- <li><code>js/</code>. Contains Javascript files used by the web pages.</li>
- <li><code>WEB-INF/</code>. Contains configuration and UI files.</li>
- <li><code>jsp/</code>. Contains the JSP files for each web page.</li>
- </ul>
-</li>
-<li><code>appengine-web.xml</code><br>Settings file where environment
-variables are loaded into variables.</li>
-<li><code>web.xml</code><br>Settings file where servlet mappings and
-security constraints are defined.</li>
-<li><code>cron.xml</code><br>Settings file defining scheduled tasks (i.e.
-the notifications service).</li>
-</ul>
-
-<h2 id=setup>Setting up the Dashboard</h2>
-<p>
-To set up the VTS Dashboard:
-</p>
-<ol>
-<li>Create a Google Cloud App Engine Project.</li>
-<li>Set up the deployment host by installing:
- <ul>
- <li>Java 8</li>
- <li>Google App Engine SDK</li>
- <li>Maven</li>
- </ul>
-</li>
-<li>Generate an OAuth 2.0 Client ID in the Google Cloud API Manager.</li>
-<li>Create a Service Account and create a keyfile.</li>
-<li>Add an email address to the App Engine Email API Authorized Senders List.</li>
-<li>Set up a Google Analytics Account.</li>
-<li>Specify environment variables in the Dashboard <code>pom.xml</code>:
- <ul>
- <li>Set the client ID with the OAuth 2.0 ID (from step 3).</li>
- <li>Set the service client ID with the identifier included in the keyfile (from
- step 4).</li>
- <li>Specify the sender email address for alerts (from step 5).</li>
- <li>Specify an email domain to which all emails will be sent.</li>
- <li>Specify the address to the Gerrit REST server.</li>
- <li>Specify the OAuth 2.0 scope to use for the Gerrit REST server.</li>
- <li>Specify the Google Analytics ID (from step 6).</li>
- <li>Build and deploy the project.</li>
- </ul>
-</li>
-<li>In a terminal, run <code>mvn clean appengine:update</code></li>
-</ol>
-
-<p>
-For more information regarding Dashboard setup and configuration, refer to the
-<a href="https://codelabs.developers.google.com/codelabs/android-vts">Android
-VTS Code Lab</a>.
-</p>
-
-<h2 id=security>Security considerations</h2>
-<p>
-Robust coverage information requires access to the original source code.
-However, some code may be sensitive and an additional gateway to it may allow
-for exploitation of existing access control lists.
-</p>
-<p>
-To avoid this threat, instead of serving the source code with the coverage
-information, the Dashboard directly handles a coverage vector (i.e., a vector of
-execution counts mapping to the lines in a source file). Along with the coverage
-vector, the Dashboard receives a Git project name and path so that the client
-can fetch the code from an external source code API. The client browser receives
-this information and uses cross-origin resource sharing (CORS) in Javascript to
-query the source code server for the original source code; the resulting code is
-combined with the coverage vector to produce a display.
-</p>
-<p>
-This approach does not widen the attack surface because the Dashboard uses the
-user's cookies to authenticate with an outside service. A user who cannot access
-source code directly cannot exploit the Dashboard to view sensitive information.
-</p>
-
- </body>
-</html>