--------------------1. Introduction---------------------
It is fpga CI auto engine implemented by pytest framework.
Jenkins changes the configuration dynamically according to
Jenkins job parameters then call pytest to trigger the test
engine.
The engine comes from bootrom qspi driver auto test framework.
Please refer below link to know more about it:
https://confluence.cixcomputing.com/pages/viewpage.action?pageId=40567364

--------------------2. Runing mode---------------------
The engine runs in Jenkins slave node. 
It will starts several ssh/telnet sessions to target FPGA PC to:
* start and control redrun
* start, monitor and offer input to FPGA console by telnet session
* flashing Firmware
* control session to handle expections
All operations to FPGA redrun console, terminal and flashing
are done by these ssh or telnet sessions.

--------------------3. features---------------------
(1) bootrom test
(2) ap bootup test
(3) ap linux BSP test

--------------------4. ap linux BSP test---------------------
(1) Test Case Set
Case Set is store under data/ap-ci.yml
The format is:
'''
PassCase:   # case name
  - pwd     # first line : case command, please make it as short as you can by shell or python scripts
  - 60      # second line: case timeout, mandatory. No wait-for-ever option
FailCase:
  - nopwd
  - 60
'''
(2) Execution mode
After AP boot to rootfs, the case command will run in FPGA console one by one with timeout value.
If timeout happens, FPGA reset will be done to recover execution environment. 
Then execute the next case.


