Michal Lenc f43701c7c9 ci: fix file system CI test
File system CI test was not testing the correct behavior of scanf and just
checked whether program did not end with hard fault. This adds
functionality check and required configuration options to run FS test.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-10-19 21:39:24 +08:00
..
2023-10-19 21:39:24 +08:00

Requirements

  • Python 3.6 or above
  • pexpect + minicom
  • pytest
sudo apt-get install minicom
cd env
pip3 install -r requirements.txt

Pytest Original Parameter useage refer to help

Customized Parameters

pytest
    -D  specify device, for example: /dev/ttyUSB0
    -B  specify board, for example: sim,best1600_ep
    -P  specify nuttx path
    -F  specify filesystem, for example: /data
    -L  specify log path
    -O  specify ota version, for example: VELA-2.0
    -S  enable sudo as run sim
    -C  enable pre-checkin run
    -U  specify core: ap, audio, cp, sensor, tee
    -M  serial or minicom
    -R  specify target type: target|sim|qemu|module

Example

cd script
# testsuite
pytest test_[testsuite].py -D /dev/ttyUSBx -B <board> -L <logpath> -F <filesystem folder> -P <nuttx path> -R <target|sim|qemu|module>
# mark
pytest -m <mark_name> ./ -D /dev/ttyUSBx -B <board> -L <logpath> -F <filesystem folder> -P <nuttx path> -R <target|sim|qemu|module> --json=<logpath>/pytest.json
# sim
pytest -m sim ./ -B sim -P <nuttx path> -L <logpath> -F <filesystem folder> -P <nuttx path> -R <target|sim|qemu|module> --json=<logpath>/pytest.json
# stress test
pytest -m miwear ./ -B miwear -P <nuttx path> -L <logpath> -F <filesystem path> --json=<logpath>/pytest.json --count=100 --repeat-scope=session

Generate Report

cd utils/report
python3 report_gen.py -l <json log path> -b <branch>