The repository contains Python scripts performing auto test on the target board. The test cases are categorized as following:
- Fully auto: Scripts can be run without human intervention
- Semi auto: Scripts need human interaction
For fully auto scripts, the Python3 unittest framework is used for simplifing test case development.
Each test case is a Python script, representing a collection of test items on specific hardware module or system functionality. The file name format is like this:
<caseID>_<case title>.py
The case ID is composed by: Type(1)+ Category(3)+ CaseNum(2),
and case title simplifed the test functionality. For example, the file name S00408_DVFS_gpufreq.py
means the test case is categorized as sanity(S) type in power(004) category, which is used for
testing gpufreq functionality with caseNum(08).
To run all fully auto scripts with sanity scope, type following command:
cd test_cases
python3 runTest.py -s sanity
The -s option allow you to specify tested scope. Here we use sanity to run
for all scripts in sanity directory. With the argument, you can easily run
auto test for specific scope without specifying each one of scripts.
Currently we support the test scope sanity and basic.
Note: If you run the test with scope basic, the test will automatically run for all scripts in basic directory and sanity directory.
The script can be run individually:
python3 S00408_DVFS_gpufreq.py -v
For semi auto scripts, that are all placed in functionality directory, since they don't use unittest framework, they can not be
invoked in the way like fully auto scripts. The script can only be run individually:
python3 F01801_spi.py
Usually the script requires human to input values or do some actions (such as plugging an USB disk, pushing a button, changing jumper settings etc.) to trigger logic. That's why we call it semi.