Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Michael Arnold 5ee4284320 twister: runner: j-link: use dev-id instead of SelectEmuBySN 11 months ago
..
pytest_integration twister: pytest: Allow using pytest-args from command file and yaml 11 months ago
test_data twister: do not use non-existing architectures 1 year ago
README.md
conftest.py scripts: tests: Expand environment.py tests 2 years ago
test_cmakecache.py scripts: tests: twister: CMakeCache test expansion 2 years ago
test_config_parser.py twister: ut for config_parser.py 1 year ago
test_environment.py scripts: twister: Fix overbroad Mock in environment unit tests 1 year ago
test_errors.py scripts: tests: twister: Add error testing 2 years ago
test_handlers.py twister: runner: j-link: use dev-id instead of SelectEmuBySN 11 months ago
test_hardwaremap.py twister: DeviceHandler count test failures on DUTs 11 months ago
test_harness.py scripts: twister: Unify Twister Statuses 11 months ago
test_jobserver.py scripts: twister: Fix Unit Tests on Windows systems 1 year ago
test_log_helper.py scripts: tests: twister: Add log_helper tests 2 years ago
test_mixins.py scripts: tests: twister: Mixin test 2 years ago
test_platform.py twister: do not use non-existing architectures 1 year ago
test_quarantine.py twister: Fix quarantine performance issue 2 years ago
test_runner.py scripts: twister: Unify Twister Statuses 11 months ago
test_scl.py twister: fix utf-8 encoding for device handler 2 years ago
test_testinstance.py scripts: twister: Unify Twister Statuses 11 months ago
test_testplan.py scripts: twister: Unify Twister Statuses 11 months ago
test_testsuite.py scripts: twister: Unify Twister Statuses 11 months ago
test_twister.py scripts: Twister ConfigurationError Fix 2 years ago

README.md

Twister Testing

Running the tests require the environment variable ZEPHYR_BASE to be set.

Twister Testsuite are located in $ZEPHYR_BASE/scripts/tests directory with all the data files in $ZEPHYR_BASE/scripts/test_data directory.

Dependencies

Install all the dependencies using

pip install -r $ZEPHYR_BASE/scripts/requirements-build-test.txt

Executing testsuite

The testcases can be executed from the root directory using

pytest $ZEPHYR_BASE/scripts/tests/twister

Twister Coverage

The coverage for all the tests can be run using the command below. This will collect all the tests available.

coverage run -m pytest $ZEPHYR_BASE/scripts/tests/twister/

Then we can generate the coverage report for just twister script using

coverage report -m $ZEPHYR_BASE/scripts/pylib/twister/

To generate the coverage report for twister script use below command

coverage report -m $ZEPHYR_BASE/scripts/twister

The html coverage report for twister can be generated using

coverage html twister

If needed,the full coverage html report can be generated in every run of "pytest" in the tests directory using configuration file (setup.cfg).

Organization of tests

  • conftest.py: Contains common fixtures for use in testing the twister tool.
  • test_twister.py : Contains basic testcases for environment variables, verifying testcase & platform schema's.
  • test_testsuite_class.py : Contains testcases for Testsuite class (except reporting functionality) in twisterlib.py.
  • test_testinstance.py : Contains testcases for Testinstance and Testcase class.
  • test_reporting_testsuite.py : Contains testcases for reporting functionality of Testsuite class of twister.