Genio Linux Test Suite

MediaTek provides a test suite that allows customers to verify if the required functionalities are correctly integrated at the SOC level when porting components to their products. Please note that this test suite is SOC-dedicated and only fully compatible with the Genio series products. To use this tool to verify your system, make sure the SOC information can be obtained by executing cat /proc/device-tree/compatible. That’s the enter point for the test suite. For example, when running that command on Genio-1200-EVK, we would get mediatek,mt8395-evk mediatek,mt8195, where mt8395 will be identified as the target for testing. Otherwise, please modify the SOC configuration according to your product requirements.

The following sections will describe how to run the test suite.

Running the Auto Test Suite

  • Navigate to the test script folder:

cd /home/root/genio-linux-test
  • Script Usage Instructions:

python3 runTest.py --help

usage: runTest.py [-h] [-s SCOPE] [-d DIRECTORY]

options:
      -h, --help                           Show this help message and exit
      -s SCOPE, --scope SCOPE
                                           Scope to be tested, option: { sanity, basic }
      -d DIRECTORY, --directory DIRECTORY
                                           Specify the directory to test
  • Usage Example:

  • Run a single test:

python3 runTest.py <specified_script_path>
i.e. python3 runTest.py 000_boot/S000001_boot_partition.py
  • Run all tests for a specified scope:

python3 runTest.py -s <scope>
i.e. python3 runTest.py -s sanity
  • Run all tests in a specified directory:

python3 runTest.py -s <specified_directory_path>
i.e. python3 runTest.py -s 000_boot

Sanity Test

To run all tests with the sanity scope, use the following command:

python3 runTest.py -s sanity

The directory structure for the sanity tests is as follows:

sanity
├── 000_boot
│   ├── __init__.py
│   ├── S000001_boot_partition.py
│   ├── S000002_verify_prtition.py
│   └── S000003_dtb_name.py
├── 001_kernel
│   ├── __init__.py
│   ├── S001001_kernel_version.py
│   ├── S001002_kernel_64bits.py
│   ├── S001003_kernel_sanity_check.py
│   └── S001004_yocto_version.py
...
└── __init__.py

16 directories, 53 files

Basic Test

To run all tests with the basic scope, use the following command:

python3 runTest.py -s basic

Note

Please make sure that sanity tests have passed before running tests with the basic scope, as the basic tests are designed as an extension of the sanity tests.

The directory structure for the basic tests is as follows:

basic
├── 003_system
│   ├── B003002_qt.py
│   ├── B003003_memory_coherance.py
│   └── memory_coherance
│       └── test-ram-coherence.sh
...
└── __init__.py

5 directories, 9 files

Test Report Interpretation

Each tested item will be marked as either pass, fail, or skipped in the test report.

If all results are marked as pass, you will see a OK in upper case at the end of the report:

...
test_sysfs_existence (sanity.004_power.S004005_linux_ccf.TestLinuxCCF) ... ok
test_cooling_devices (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_sysfs_existence (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_thermal_zones (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_trip_points (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_performance_governor (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_read_cpus (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_read_policies (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_schedutil_governor (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_sysfs_existence (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_freq_userspace_governor (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok

----------------------------------------------------------------------
Ran 87 tests in 117.771s
OK (skipped=3)

If a test result is marked as fail, you will see the failed item and the reason for failure at the end of the report:

...
test_device_type_check (sanity.012_gpu.S012003_vulkan_info.TestVulkanInfo) ... ok
test_stressapptest_60s (sanity.003_system.S003003_memory_coherance.TestMemoryCocherence) ... FAIL

And the detail for the failure, like the fail reason and path for the test cases, will be shown at the end of the report. Take following message as example, you can loacate the case in /home/root/genio-linux-test/sanity/003_system/.

======================================================================
FAIL: test_stressapptest_60s (sanity.003_system.S003003_memory_coherance.TestMemoryCocherence)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/root/genio-linux-test/sanity/003_system/S003003_memory_coherance.py", line 23, in test_stressapptest_60s
    self.assertEqual(ret.returncode, 0, ret.stderr)
AssertionError: 1 != 0 : Assertion failed at ../../git/src/sat.cc:1437

----------------------------------------------------------------------
Ran 87 tests in 52.679s
FAILED (failures=1, skipped=4)

If a test is marked as “Skipped”, you will see the reason for skipping.

test_read_dpidle (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8395'

Note

This test suite is only fully compatible with the Genio series products. It might be some failures because of some kind of incompatible components. Please check the fail reason of each fail case and modify/skip it based on the requirement of your product, or just run the necessary case one by one.

Running the Functional Test

The functionality test covers advanced features designed specifically for each component or may require additional configurations. These tests cannot be executed with a single command.

The directory structure for the functionality tests is as follows:

functionality
├── 018_peripheral
│   ├── F018001_spi.py
│   └── F018002_serialcheck.py
├── __init__.py
└── shell_script
    ├── 007_camera
    │   └── F007001_camera_test.sh
    ├── 008_vdec
    │   ├── F008001_video_decoding.sh
    │   └── F008002_video_stress_test.sh
    ├── 009_ml
    │   └── F009001_machine_learning.sh
    └── 011_audio
        └── F011001_audio_stress_test.sh

6 directories, 8 files

The following sections will describe how to run the test suite.

SPI & Serialcheck Test

Please refer to the Peripheral Section for jumper configuration before conducting the test.

Note

The serialcheck script is only for loopback test.

Camera Test

Script Usage Instructions:

sh F007001_camera_test.sh --help

Usage: -sh --video [iv] --stream [is] --mode [im] --format [if] --res [ir]

Options:
--video            Video Device
--stream           Stream Type, e.g. Preview, Video, Capture
--test_mode        Test Mode, e.g. overall, single_control, reverse_control, keep_playing, stress
--stream_mode      Stream Mode, e.g. gstreamer, v4l2ctl
--format           Color Format, e.g. YUY2, NM12
--res              Stream Resolution, e.g. 640x480, 1940x1080
--monkey           Round to open/close test
--sensor           Tested camera source, e.g. raw, AR0430, AR0830, AR0830_2lane
--platform         Tested platform, e.g. G350, G1200, G700

Usage Example:

  • Overall Test
    • Conduct comprehensive streaming tests on different stream types, supported resolutions and color spaces of IMX214.

    sh F007001_camera_test.sh --video /dev/video74 --stream Preview --test_mode overall
    
  • Single Control
    • Conduct comprehensive camera control tests on different stream types and supported controls of IMX214.

    sh F007001_camera_test.sh --video /dev/video74 --test_mode single_control --stream Preview --format RGB &
    sh F007002_set_control.sh --video /dev/video74 --control All
    
  • Reverse Control
    • Ensure that the control setting does not take effect while 3A is enabled for different stream types of IMX214 .

    sh F007001_camera_test.sh --video /dev/video74 --test_mode reverse_control --stream Preview --format RGB &
    sh F007002_set_control.sh --video /dev/video74 --control All_r
    
  • Keep Playing
    • Perform 24-hour streaming test on the specified camera sensor and resolution.

    sh F007001_camera_test.sh --test_mode keep_playing --sensor AR0430 --res 2316x1746
    
  • Stress
    • Perform repeated on/off tests with different stream modes on the specified camera sensor.

    sh F007001_camera_test.sh --sensor AR0430 --test_mode stress --stream_mode gstreamer --monkey 999`
    

Video Test

Script Usage Instructions:

sh F007001_camera_test.sh --help

Usage: -sh --in-dir [id] --video [iv] --codec [ic] --soc [is]

Options:
--in-dir        Input Directory of Sample Test VIDEO Pattern
--video         Play specific video file
--codec         Codec for in-dir or file. e.g. all, h264, h265, vp8, vp9, mpeg4, jpeg
--soc           Specify soc to be tested. e.g. MT8365, MT8390, MT8395

Usage Example:

  • Video Decoding

    There are 3 usage scenarios:

    1. Play all subdirectories under the specified directory, where each subdirectory is named after the codec format(upper case only).

      • Codec Formats: H264, H265, VP8, VP9, MPEG4, MJPG

      sh F008001_video_decoding --in-dir <PATH_TO_SAMPLE_VIDEO_DIR> --soc <SPECIFIED_SOC> --codec all
      i.e. sh F008001_video_decoding.sh --in-dir /mnt/sample_test_pattern/VDEC --soc MT8365 --codec all
      
    2. Play all videos under the specified directory, where all videos have the same codec.

      sh F008001_video_decoding --in-dir <PATH_TO_SAMPLE_VIDEO_DIR> --codec <codec>
      i.e. sh F008001_video_decoding --in-dir ./selected_video_dir --codec h264
      
    3. Play a specific video, where the codec needs to be specified.

      sh selected_video --video <PATH_TO_SPECIFIC_VIDEO> --codec <codec>
      i.e. sh sh F008001_video_decoding selected_video --video ./selected_video.mp4 --codec h264
      
  • Video Stress Test

    Continuously play the specified video source and generate logs for tracking memory usage.

    command="gst-launch-1.0 -v filesrc location=<selected_video_path> ! parsebin ! queue ! v4l2h264dec ! queue ! v4l2convert output-io-mode=dmabuf-import capture-io-mode=dmabuf ! queue ! waylandsink"
    sh ./F008002_video_stress_test.sh $command
    

Machine Learning Test

This test will execute Label Image Test using different processors sequentially. Different SoCs have different test combinations. For example, MT8365 will test NNAPI but not test NeuronSDK. Please refer to the Machine Learning Section for details.

Usage Example:

sh F009001_machine_learning.sh --soc MT8365

The output will be like:

Test for Tesorflow Lite CPU Delegate:

Run Label Image Test:
0.909804: military uniform
0.027451: Windsor tie
0.007843: bulletproof vest
0.003922: cornet
0.003922: panpipe
time: 16.802ms

Please check the result for Label Image Test!

====================================

Press any key to continue...
Test for Tesorflow Lite ArmNN(GPU) Delegate:

Run Label Image Test:
Loading external delegate from /usr/lib/libarmnnDelegate.so.28 with args: {'backends': 'GpuAcc,CpuAcc'}
INFO: TfLiteArmnnDelegate: Created TfLite ArmNN delegate.
0.890196: military uniform
0.031373: Windsor tie
0.011765: bulletproof vest
0.003922: bow tie
0.003922: bolo tie
time: 104.458ms

Please check the result for Label Image Test!

...

Audio Test

Continuously play the specified audio source and generate logs for tracking memory usage.

  • Repeat Test

    command="gst-launch-1.0 -v filesrc location=<selected_video_path> ! parsebin ! queue ! v4l2h264dec ! queue ! v4l2convert output-io-mode=dmabuf-import capture-io-mode=dmabuf ! queue ! waylandsink"
    sh ./F008002_video_stress_test.sh $command
    
  • Keep Playing Test

    command="arecord -D jack_mic -r 48000 -f S32_LE | aplay -D jack_speaker -r 48000 -f S32_LE"
    sh ./F011001_audio_stress_test.sh $command
    

Test Case Summary

The test suite covers a total of 87 tests for the sanity scope and 16 tests for the basic scope. Please refer to the following table for a summary of the tests:

index

category

sanity

basic

functionality

000

boot

v

001

kernel

v

002

benchmark

003

system

v

v

004

power

v

005

wifi

v

006

video_proc

v

007

camera

v

v

008

vdec

v

v

v

009

ml

v

010

display

v

011

audio

v

012

gpu

v

v

013

venc

014

i2c

v

015

stress

016

sdio

017

bluedroid

018

peripheral

v

019

hdmirx

020

gpio

v

021

bluetooth

022

ethernet

v

v

023

security

v

024

image

v

Appendix: v23.1 Test report

Note

The report is for the pre-built private-images.

Genio 1200

root@genio-1200-evk:~/genio-linux-test# python3 runTest.py -s sanity

test_parted_ignore (sanity.000_boot.S000001_boot_partition.TestPartedBootDevice) ... ok
test_sysfs_existence (sanity.000_boot.S000001_boot_partition.TestPartedBootDevice) ... ok
test_partition_exist (sanity.000_boot.S000002_verify_prtition.TestVerifyPartition) ... ok
test_check_dtb_name (sanity.000_boot.S000003_dtb_name.TestDTBName) ... ok
test_kernel_ver_read (sanity.001_kernel.S001001_kernel_version.TestKernelVersion) ... ok
test_kernel_64_bits_check (sanity.001_kernel.S001002_kernel_64bits.TestKernel64Bits) ... ok
test_level_alert (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_level_crit (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_level_emerg (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_yocto_version_check (sanity.001_kernel.S001004_yocto_version.TestYoctoVersion) ... ok
test_rtc_read (sanity.003_system.S003001_rtc.TestRTC) ... ok
test_rtc_write (sanity.003_system.S003001_rtc.TestRTC) ... ok
test_stressapptest_60s (sanity.003_system.S003003_memory_coherance.TestMemoryCocherence) ... ok
test_suspend_to_ram_5sec (sanity.004_power.S004001_suspend_resume.TestSuspendResume) ... ok
test_read_clusteroff_b (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_clusteroff_l (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_cpuoff_b (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_cpuoff_l (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_dpidle (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8395'
test_read_mcdi_cluster (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8395'
test_read_mcdi_cpu (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8395'
test_read_wfi (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_sysfs_existence (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_cpu_offline (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_read_cpus (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_sysfs_existence (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_sysfs_attrs_read (sanity.004_power.S004004_PMIC_regulator.TestPMICRegulator) ... ok
test_sysfs_existence (sanity.004_power.S004004_PMIC_regulator.TestPMICRegulator) ... ok
test_linux_ccf (sanity.004_power.S004005_linux_ccf.TestLinuxCCF) ... ok
test_sysfs_existence (sanity.004_power.S004005_linux_ccf.TestLinuxCCF) ... ok
test_cooling_devices (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_sysfs_existence (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_thermal_zones (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_trip_points (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_performance_governor (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_read_cpus (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_read_policies (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_schedutil_governor (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_sysfs_existence (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_freq_userspace_governor (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_max_freq_update (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_sysfs_attrs_read (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_sysfs_existence (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_wifi_interface_existence (sanity.005_wifi.S005001_wifi_interface.TestWiFiInterface) ... ok
test_v4l2convert_existed (sanity.006_video_proc.S006001_gst_v4l2convert_support.TestGstV4l2CvtSupport) ... ok
test_v4l2h264dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h264enc_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h265dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h265enc_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2mpeg4dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2vp8dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2vp9dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2src_existed (sanity.007_camera.S007001_gst_v4l2src_support.TestGstV4l2srcSupport) ... ok
test_v4l2h264dec_argb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_i420 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_nv12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_nv21 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_rgb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_yu12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_argb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_i420 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_nv12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_nv21 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_rgb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_yu12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2vp8dec_yuv (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2vp9dec_yuv (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_check_DSI_interface (sanity.010_display.S010001_display_interface_DSI.TestDSI) ... ok
test_check_HDMI_interface (sanity.010_display.S010002_display_interface_HDMI.TestHDMI) ... ok
test_mali_info_correctness (sanity.012_gpu.S012001_mali_info.TestCheckMaliInfo) ... ok
test_sysfs_existence (sanity.012_gpu.S012001_mali_info.TestCheckMaliInfo) ... ok
test_platform_name_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_platform_profile_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_platform_vendor_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_device_name_check (sanity.012_gpu.S012003_vulkan_info.TestVulkanInfo) ... ok
test_device_type_check (sanity.012_gpu.S012003_vulkan_info.TestVulkanInfo) ... ok
test_i2c_node_num_check (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_i2c_read_attr (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_i2c_write_attr (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_gpio_detect (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_gpio_read (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_gpio_write (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_eth0_existence (sanity.022_ethernet.S022001_eth_interface_eth0.TestETHInterface) ... ok
test_brom_usb_download_mode (sanity.023_security.S023001_eFuse_writer.TestEfuseWriter) ... ok
test_hardware_random_id (sanity.023_security.S023001_eFuse_writer.TestEfuseWriter) ... ok
test_v4l2jpegdec_existed (sanity.024_image.S024001_gst_v4l2jpegcodec_support.TestGstV4l2JPEGCodecSupport) ... ok
test_v4l2jpegenc_existed (sanity.024_image.S024001_gst_v4l2jpegcodec_support.TestGstV4l2JPEGCodecSupport) ... ok

----------------------------------------------------------------------
Ran 87 tests in 115.446s

OK (skipped=3)

Genio 700

root@genio-700-evk:~/genio-linux-test# python3 runTest.py -s sanity

test_parted_ignore (sanity.000_boot.S000001_boot_partition.TestPartedBootDevice) ... ok
test_sysfs_existence (sanity.000_boot.S000001_boot_partition.TestPartedBootDevice) ... ok
test_partition_exist (sanity.000_boot.S000002_verify_prtition.TestVerifyPartition) ... ok
test_check_dtb_name (sanity.000_boot.S000003_dtb_name.TestDTBName) ... ok
test_kernel_ver_read (sanity.001_kernel.S001001_kernel_version.TestKernelVersion) ... ok
test_kernel_64_bits_check (sanity.001_kernel.S001002_kernel_64bits.TestKernel64Bits) ... ok
test_level_alert (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_level_crit (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_level_emerg (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_yocto_version_check (sanity.001_kernel.S001004_yocto_version.TestYoctoVersion) ... ok
test_rtc_read (sanity.003_system.S003001_rtc.TestRTC) ... ok
test_rtc_write (sanity.003_system.S003001_rtc.TestRTC) ... ok
test_stressapptest_60s (sanity.003_system.S003003_memory_coherance.TestMemoryCocherence) ... ok
test_suspend_to_ram_5sec (sanity.004_power.S004001_suspend_resume.TestSuspendResume) ... ok
test_read_clusteroff_b (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_clusteroff_l (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_cpuoff_b (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_cpuoff_l (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_dpidle (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8390'
test_read_mcdi_cluster (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8390'
test_read_mcdi_cpu (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8390'
test_read_wfi (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_sysfs_existence (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_cpu_offline (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_read_cpus (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_sysfs_existence (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_sysfs_attrs_read (sanity.004_power.S004004_PMIC_regulator.TestPMICRegulator) ... ok
test_sysfs_existence (sanity.004_power.S004004_PMIC_regulator.TestPMICRegulator) ... ok
test_linux_ccf (sanity.004_power.S004005_linux_ccf.TestLinuxCCF) ... ok
test_sysfs_existence (sanity.004_power.S004005_linux_ccf.TestLinuxCCF) ... ok
test_cooling_devices (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_sysfs_existence (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_thermal_zones (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_trip_points (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_performance_governor (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_read_cpus (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_read_policies (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_schedutil_governor (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_sysfs_existence (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_freq_userspace_governor (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_max_freq_update (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_sysfs_attrs_read (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_sysfs_existence (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_wifi_interface_existence (sanity.005_wifi.S005001_wifi_interface.TestWiFiInterface) ... ok
test_v4l2convert_existed (sanity.006_video_proc.S006001_gst_v4l2convert_support.TestGstV4l2CvtSupport) ... ok
test_v4l2h264dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h264enc_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h265dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h265enc_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2mpeg4dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2vp8dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2vp9dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2src_existed (sanity.007_camera.S007001_gst_v4l2src_support.TestGstV4l2srcSupport) ... ok
test_v4l2h264dec_argb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_i420 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_nv12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_nv21 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_rgb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_yu12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_argb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_i420 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_nv12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_nv21 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_rgb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_yu12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2vp8dec_yuv (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2vp9dec_yuv (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_check_DSI_interface (sanity.010_display.S010001_display_interface_DSI.TestDSI) ... ok
test_check_HDMI_interface (sanity.010_display.S010002_display_interface_HDMI.TestHDMI) ... ok
test_mali_info_correctness (sanity.012_gpu.S012001_mali_info.TestCheckMaliInfo) ... ok
test_sysfs_existence (sanity.012_gpu.S012001_mali_info.TestCheckMaliInfo) ... ok
test_platform_name_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_platform_profile_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_platform_vendor_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_device_name_check (sanity.012_gpu.S012003_vulkan_info.TestVulkanInfo) ... ok
test_device_type_check (sanity.012_gpu.S012003_vulkan_info.TestVulkanInfo) ... ok
test_i2c_node_num_check (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_i2c_read_attr (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_i2c_write_attr (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_gpio_detect (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_gpio_read (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_gpio_write (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_eth0_existence (sanity.022_ethernet.S022001_eth_interface_eth0.TestETHInterface) ... ok
test_brom_usb_download_mode (sanity.023_security.S023001_eFuse_writer.TestEfuseWriter) ... ok
test_hardware_random_id (sanity.023_security.S023001_eFuse_writer.TestEfuseWriter) ... ok
test_v4l2jpegdec_existed (sanity.024_image.S024001_gst_v4l2jpegcodec_support.TestGstV4l2JPEGCodecSupport) ... ok
test_v4l2jpegenc_existed (sanity.024_image.S024001_gst_v4l2jpegcodec_support.TestGstV4l2JPEGCodecSupport) ... ok

----------------------------------------------------------------------
Ran 87 tests in 114.160s

OK (skipped=3)

Genio 350

root@genio-350-evk:~/genio-linux-test# python3 runTest.py -s sanity

test_parted_ignore (sanity.000_boot.S000001_boot_partition.TestPartedBootDevice) ... ok
test_sysfs_existence (sanity.000_boot.S000001_boot_partition.TestPartedBootDevice) ... ok
test_partition_exist (sanity.000_boot.S000002_verify_prtition.TestVerifyPartition) ... ok
test_check_dtb_name (sanity.000_boot.S000003_dtb_name.TestDTBName) ... ok
test_kernel_ver_read (sanity.001_kernel.S001001_kernel_version.TestKernelVersion) ... ok
test_kernel_64_bits_check (sanity.001_kernel.S001002_kernel_64bits.TestKernel64Bits) ... ok
test_level_alert (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_level_crit (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_level_emerg (sanity.001_kernel.S001003_kernel_sanity_check.TestKernelSanity) ... ok
test_yocto_version_check (sanity.001_kernel.S001004_yocto_version.TestYoctoVersion) ... ok
test_rtc_read (sanity.003_system.S003001_rtc.TestRTC) ... ok
test_rtc_write (sanity.003_system.S003001_rtc.TestRTC) ... ok
test_stressapptest_60s (sanity.003_system.S003003_memory_coherance.TestMemoryCocherence) ... ok
test_suspend_to_ram_5sec (sanity.004_power.S004001_suspend_resume.TestSuspendResume) ... ok
test_read_clusteroff_b (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8365'
test_read_clusteroff_l (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8365'
test_read_cpuoff_b (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8365'
test_read_cpuoff_l (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... skipped 'not supported for mt8365'
test_read_dpidle (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_mcdi_cluster (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_mcdi_cpu (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_read_wfi (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_sysfs_existence (sanity.004_power.S004002_cpuidle_WFI.TestCpuIdle) ... ok
test_cpu_offline (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_read_cpus (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_sysfs_existence (sanity.004_power.S004003_cpuhotplug.TestCpuHotplug) ... ok
test_sysfs_attrs_read (sanity.004_power.S004004_PMIC_regulator.TestPMICRegulator) ... ok
test_sysfs_existence (sanity.004_power.S004004_PMIC_regulator.TestPMICRegulator) ... ok
test_linux_ccf (sanity.004_power.S004005_linux_ccf.TestLinuxCCF) ... skipped 'not supported mt8365'
test_sysfs_existence (sanity.004_power.S004005_linux_ccf.TestLinuxCCF) ... skipped 'not supported mt8365'
test_cooling_devices (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_sysfs_existence (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_thermal_zones (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_trip_points (sanity.004_power.S004006_thermal.TestThermal) ... ok
test_performance_governor (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_read_cpus (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_read_policies (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_schedutil_governor (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_sysfs_existence (sanity.004_power.S004007_DVFS_cpufreq.TestCpuFreq) ... ok
test_freq_userspace_governor (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_max_freq_update (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_sysfs_attrs_read (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_sysfs_existence (sanity.004_power.S004008_DVFS_gpufreq.TestGpuFreq) ... ok
test_wifi_interface_existence (sanity.005_wifi.S005001_wifi_interface.TestWiFiInterface) ... ok
test_v4l2convert_existed (sanity.006_video_proc.S006001_gst_v4l2convert_support.TestGstV4l2CvtSupport) ... ok
test_v4l2h264dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h264enc_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h265dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2h265enc_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2mpeg4dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2vp8dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2vp9dec_existed (sanity.006_video_proc.S006002_gst_v4l2codec_support.TestGstV4l2CodecSupport) ... ok
test_v4l2src_existed (sanity.007_camera.S007001_gst_v4l2src_support.TestGstV4l2srcSupport) ... ok
test_v4l2h264dec_argb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_i420 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_nv12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_nv21 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_rgb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h264dec_yu12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_argb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_i420 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_nv12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_nv21 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_rgb (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2h265dec_yu12 (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2vp8dec_yuv (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_v4l2vp9dec_yuv (sanity.008_vdec.S008001_gst_vdec_pipeline_check.TestGstVdecRetVal) ... ok
test_check_DSI_interface (sanity.010_display.S010001_display_interface_DSI.TestDSI) ... ok
test_check_HDMI_interface (sanity.010_display.S010002_display_interface_HDMI.TestHDMI) ... ok
test_mali_info_correctness (sanity.012_gpu.S012001_mali_info.TestCheckMaliInfo) ... ok
test_sysfs_existence (sanity.012_gpu.S012001_mali_info.TestCheckMaliInfo) ... ok
test_platform_name_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_platform_profile_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_platform_vendor_check (sanity.012_gpu.S012002_cli_info.TestCliInfo) ... ok
test_device_name_check (sanity.012_gpu.S012003_vulkan_info.TestVulkanInfo) ... ok
test_device_type_check (sanity.012_gpu.S012003_vulkan_info.TestVulkanInfo) ... ok
test_i2c_node_num_check (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_i2c_read_attr (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_i2c_write_attr (sanity.014_i2c.S014001_i2c.TestI2C) ... ok
test_gpio_detect (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_gpio_read (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_gpio_write (sanity.020_gpio.S020001_gpio.TestGPIO) ... ok
test_eth0_existence (sanity.022_ethernet.S022001_eth_interface_eth0.TestETHInterface) ... skipped 'For mt3865, Ethernet interface is not checked in sanity scope, because HDMI is enabled by default.'
test_brom_usb_download_mode (sanity.023_security.S023001_eFuse_writer.TestEfuseWriter) ... ok
test_hardware_random_id (sanity.023_security.S023001_eFuse_writer.TestEfuseWriter) ... ok
test_v4l2jpegdec_existed (sanity.024_image.S024001_gst_v4l2jpegcodec_support.TestGstV4l2JPEGCodecSupport) ... skipped 'not supported for mt8365'
test_v4l2jpegenc_existed (sanity.024_image.S024001_gst_v4l2jpegcodec_support.TestGstV4l2JPEGCodecSupport) ... skipped 'not supported for mt8365'

----------------------------------------------------------------------
Ran 87 tests in 117.485s

OK (skipped=9)