aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/data/benchmarks/plan/compute.yaml46
-rw-r--r--tests/unit/base/error_test.py48
-rw-r--r--tests/unit/loader/plan_test.py2
-rw-r--r--tests/unit/loader/yaml_file_test.py4
-rw-r--r--tests/unit/util/dev_test.py32
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