summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-02-23 20:51:38 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-02-24 11:19:17 +0800
commit245b6f4070d1b3b5124a184cb6442b55000fd321 (patch)
tree975a60229a1341a0cc2ea978943b2614b2ee099f /tests
parent452969c058a2f3f3327036b93cbc4bba4d7c574e (diff)
Fix bug when no paths is given for Plan constructor
FileLoader was trying to initialize abspath by finding a matched name from abspath which will lead to an exception. Use default paths of class instead. Change-Id: I8ca2122e97edd734aa68b4c6b12196960842313b Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'tests')
-rw-r--r--tests/data/benchmarks/plan/sample.yaml14
-rw-r--r--tests/unit/loader/plan_test.py17
2 files changed, 24 insertions, 7 deletions
diff --git a/tests/data/benchmarks/plan/sample.yaml b/tests/data/benchmarks/plan/sample.yaml
new file mode 100644
index 00000000..04e8caf9
--- /dev/null
+++ b/tests/data/benchmarks/plan/sample.yaml
@@ -0,0 +1,14 @@
+##############################################################################
+# 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: sample
+description: sample benchmark plan for testing default path
+config:
+ collectors: []
+ reporters: []
+QPIs: []
diff --git a/tests/unit/loader/plan_test.py b/tests/unit/loader/plan_test.py
index 70ae2ad5..4c92e8d5 100644
--- a/tests/unit/loader/plan_test.py
+++ b/tests/unit/loader/plan_test.py
@@ -13,15 +13,18 @@ from qtip.collector.logfile import LogfileCollector
from qtip.loader.plan import load_collector
from qtip.loader.plan import Plan
from qtip.loader.plan import PlanProp
-from qtip.loader.plan import QPISpec
-def test_init(plan):
- assert plan.name == 'doctor performance profiling'
- assert isinstance(plan.content, dict)
- for qpi in plan.qpis:
- assert isinstance(qpi, QPISpec)
+def test_construct(benchmarks_root):
+ sample = Plan('sample.yaml')
+ assert isinstance(sample, Plan)
+ # fixture can not be used in pytest.mark.parametrized
+ sample = Plan('sample.yaml', [benchmarks_root])
+ assert isinstance(sample, Plan)
+
+
+def test_invalid_construct():
with pytest.raises(TypeError) as excinfo:
Plan()
assert '__init__() takes at least 2 arguments (1 given)' \
@@ -30,7 +33,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 2
+ assert len(plan_list) is 3
for desc in plan_list:
assert PlanProp.NAME in desc
assert PlanProp.ABSPATH in desc