1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/usr/bin/env python3
- # Copyright (c) 2020 Intel Corporation
- #
- # SPDX-License-Identifier: Apache-2.0
- """
- This test file contains foundational testcases for Twister tool
- """
- import os
- import sys
- import pytest
- ZEPHYR_BASE = os.getenv("ZEPHYR_BASE")
- sys.path.insert(0, os.path.join(ZEPHYR_BASE, "scripts/pylib/twister"))
- import scl
- from twisterlib import TwisterConfigParser
- def test_yamlload():
- """ Test to check if loading the non-existent files raises the errors """
- filename = 'testcase_nc.yaml'
- with pytest.raises(FileNotFoundError):
- scl.yaml_load(filename)
- @pytest.mark.parametrize("filename, schema",
- [("testcase_correct_schema.yaml", "testcase-schema.yaml"),
- ("platform_correct_schema.yaml", "platform-schema.yaml")])
- def test_correct_schema(filename, schema, test_data):
- """ Test to validate the testcase schema"""
- filename = test_data + filename
- schema = scl.yaml_load(ZEPHYR_BASE +'/scripts/schemas/twister//' + schema)
- data = TwisterConfigParser(filename, schema)
- data.load()
- assert data
- @pytest.mark.parametrize("filename, schema",
- [("testcase_incorrect_schema.yaml", "testcase-schema.yaml"),
- ("platform_incorrect_schema.yaml", "platform-schema.yaml")])
- def test_incorrect_schema(filename, schema, test_data):
- """ Test to validate the exception is raised for incorrect testcase schema"""
- filename = test_data + filename
- schema = scl.yaml_load(ZEPHYR_BASE +'/scripts/schemas/twister//' + schema)
- with pytest.raises(Exception) as exception:
- scl.yaml_load_verify(filename, schema)
- assert str(exception.value) == "Schema validation failed"
|