diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/benchmarks/plan/compute.yaml | 46 | ||||
-rw-r--r-- | tests/unit/base/error_test.py | 48 | ||||
-rw-r--r-- | tests/unit/loader/plan_test.py | 2 | ||||
-rw-r--r-- | tests/unit/loader/yaml_file_test.py | 4 | ||||
-rw-r--r-- | tests/unit/util/dev_test.py | 32 |
5 files changed, 129 insertions, 3 deletions
diff --git a/tests/data/benchmarks/plan/compute.yaml b/tests/data/benchmarks/plan/compute.yaml new file mode 100644 index 00000000..8529d8dc --- /dev/null +++ b/tests/data/benchmarks/plan/compute.yaml @@ -0,0 +1,46 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +name: compute QPI +description: compute QPI profile +info: + facility: local + engineer: local +config: + driver: ansible + collectors: + - type: logfile + paths: + - '../../external/sysinfo' + logs: + - filename: top.log + parsers: + - type: grep + regex: 'Cpu\(s\):.+?(?P<cpu_idle>\d+\.\d)\sid' + - filename: inxi.log + parsers: + - type: grep + regex: '.+\s+Host:\s+(?P<hostname>.+)\sKernel' + - type: grep + regex: '.+\sMemory:\s+(?P<memory>.+MB)\s' + - type: grep + regex: '^CPU\(s\):\s+(?P<cpu>.+)' + - type: grep + regex: '.+\sDistro:\s+(?P<os>.+)' + - type: grep + regex: '.+\sKernel:\s+(?P<kernel>.+)\sConsole' + - type: grep + regex: '.+\s+HDD Total Size:\s+(?P<disk>.+)\s' + - type: grep + regex: '.+\sproduct:\s+(?P<product>.+)\sversion' + reporter: + name: console + # transform collected data into timeline + transformer: timeline +QPIs: + - compute.yaml diff --git a/tests/unit/base/error_test.py b/tests/unit/base/error_test.py new file mode 100644 index 00000000..2be6d695 --- /dev/null +++ b/tests/unit/base/error_test.py @@ -0,0 +1,48 @@ +############################################################### +# Copyright (c) 2017 ZTE Corporation +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +import pytest + +from qtip.base.error import InvalidContentError +from qtip.base.error import NotFoundError +from qtip.base.error import ToBeDoneError + + +def test_invalid_content(faker): + filename = faker.file_name() + error = InvalidContentError(filename) + assert error.filename == filename + + +def test_not_found(faker): + package = faker.pystr() + module = faker.pystr() + error = NotFoundError(module) + assert error.needle == module + assert error.heystack == 'qtip' + + error = NotFoundError(module, package) + assert error.needle == module + assert error.heystack == package + + +@pytest.fixture +def method(faker): + return faker.pystr() + + +@pytest.fixture +def module(faker): + return faker.pystr() + + +def test_to_be_done(method, module): + error = ToBeDoneError(method, module) + assert error.method == method + assert error.module == module diff --git a/tests/unit/loader/plan_test.py b/tests/unit/loader/plan_test.py index d9869cb6..70ae2ad5 100644 --- a/tests/unit/loader/plan_test.py +++ b/tests/unit/loader/plan_test.py @@ -30,7 +30,7 @@ def test_init(plan): def test_list_all(benchmarks_root): plan_list = list(Plan.list_all(paths=[benchmarks_root])) - assert len(plan_list) is 1 + assert len(plan_list) is 2 for desc in plan_list: assert PlanProp.NAME in desc assert PlanProp.ABSPATH in desc diff --git a/tests/unit/loader/yaml_file_test.py b/tests/unit/loader/yaml_file_test.py index 17836946..0f0632c4 100644 --- a/tests/unit/loader/yaml_file_test.py +++ b/tests/unit/loader/yaml_file_test.py @@ -10,7 +10,7 @@ import os import pytest -from qtip.base.error import InvalidContent +from qtip.base.error import InvalidContentError from qtip.loader.yaml_file import YamlFileLoader @@ -28,6 +28,6 @@ def test_init(yaml_root, filename, expected): def test_invalid_content(yaml_root): - with pytest.raises(InvalidContent) as excinfo: + with pytest.raises(InvalidContentError) as excinfo: YamlFileLoader('invalid.yaml', [yaml_root]) assert 'invalid.yaml' in excinfo.value.filename diff --git a/tests/unit/util/dev_test.py b/tests/unit/util/dev_test.py new file mode 100644 index 00000000..021b1004 --- /dev/null +++ b/tests/unit/util/dev_test.py @@ -0,0 +1,32 @@ +############################################################### +# Copyright (c) 2017 ZTE Corporation +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +import pytest + +from qtip.base.error import ToBeDoneError +from qtip.util.dev import create_to_be_done + + +def test_create_to_be_done(faker): + method = faker.pystr() + module = faker.pystr() + + tbd = create_to_be_done(method) + assert callable(tbd) + with pytest.raises(ToBeDoneError) as excinfo: + tbd() + assert excinfo.value.method == method + assert excinfo.value.module == 'qtip' + + tbd = create_to_be_done(method, module) + assert callable(tbd) + with pytest.raises(ToBeDoneError) as excinfo: + tbd() + assert excinfo.value.method == method + assert excinfo.value.module == module |