Jenkins-based Test Automation for AGL

0. Software requirements
1) Any 64-bit Linux with Docker version 1.8.3 or above.
   Please refer to the following URL to get information about installing docker.


2) Web browser with javascript and CSS support.

1. Installation
1) Run install.sh from top directory. This will launch "docker build" command
   and install AGL-JTA to docker container.

   Please modify Dockerfile to suit your needs.

2) Issue the following commands from top directory:


   Web interface will be available at http://localhost:8080

   Directory userdata/ will be mounted to /userdata inside docker

3) Install AGL cross SDK to /userdata/toolchains/poky-agl inside docker
   container manually.

2. Configuration
Refer manual (docs/jta-docs.pdf) configuration and using.

1) docker configuration
   docker-create-containter.sh configures Docker to use host network
   (--net="host" option).

   Container is configured to run ssh server at 2222 port. Modify
   container-cfg/sshd_config file if you need to configure ssh server

2) target(porter) configration
   Fix /userdata/conf/boards/porter.board inside docker according to your test
   enviroment. The following is a brief introduction of some important
   environment variables:

   IPADDR:        IP address or host name of board
   SSH_PORT       port for ssh login
   LOGIN:         user name for ssh login
   JTA_HOME:      path to the directory on device the tests will run from
   PASSWORD:      password for ssh login
   TRANSPORT:     defines how JTA should communicate with the board. Currently
                  only ssh is supported
                  expectly failed cases in LTP, Functional.LTP.Syscalls and
                  Functional.LTP.Net_Stress will not report the failure of
                  these cases
   REMOTE_HOST:   IP address or host name of the remote host, used for LTP
                  network test
   REMOTE_PASSWD: password for login to remote host as root

3. Test example
Currently Functional.LTP.Syscalls and Functional.LTP.Net_Stress are available
to be tested on porter. Make sure LTP_EXPECT_FAIL_CASES is set correctly.
The following is the step to run the test.

1) Logon JTA web interface, http://localhost:8080
2) Click "Functional" tag on JTA web interface and Click Functional.LTP.Syscalls
   or Functional.LTP.Net_Stress to switch to the test
3) Click "Run Test Now"
4) Choice "porter" in "Device" (we configured in "2. Configuration"), check
   "Rebuild" and Choice "testplan_default" in "TESTPLAN"
5) Click "Run test", and then the test will start
6) After finishing the test, Please check /userdata/logs/*/testlogs for more
   detailed information

4. JTA manual
See docs/jta-docs.pdf for basic usage and configuration.
See How-to-Add-Test-Cases-on-JTA in docs for adding test cases.