summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/oetest.py
diff options
context:
space:
mode:
authorLucian Musat <george.l.musat@intel.com>2015-09-23 18:40:25 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-24 17:54:27 +0100
commitf1e7fb0856b2f1d403784d11332a5df9bccc74f5 (patch)
tree0a21b5e3f5973803f931d3a15f0ad36df6fd8853 /meta/lib/oeqa/oetest.py
parentd70c5cb9caa81b096b320fe91e007efc127e2ae3 (diff)
downloadpoky-f1e7fb0856b2f1d403784d11332a5df9bccc74f5.tar.gz
oeqa/oetest: Remove bb as requirement for oetest.
In order for the test export runner to work oetest needs to be separated from bitbake environment. There is no need to use bb import here so we can use a logger instead. (From OE-Core rev: 22bd8a600823306d7c5965a9a69b8e8888993513) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/oetest.py')
-rw-r--r--meta/lib/oeqa/oetest.py29
1 files changed, 21 insertions, 8 deletions
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index 3816c1ae9b..0be61c2f0a 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -11,10 +11,16 @@ import os, re, mmap
11import unittest 11import unittest
12import inspect 12import inspect
13import subprocess 13import subprocess
14import bb 14try:
15 import bb
16except ImportError:
17 pass
18import logging
15from oeqa.utils.decorators import LogResults, gettag 19from oeqa.utils.decorators import LogResults, gettag
16from sys import exc_info, exc_clear 20from sys import exc_info, exc_clear
17 21
22logger = logging.getLogger("BitBake")
23
18def getVar(obj): 24def getVar(obj):
19 #extend form dict, if a variable didn't exists, need find it in testcase 25 #extend form dict, if a variable didn't exists, need find it in testcase
20 class VarDict(dict): 26 class VarDict(dict):
@@ -89,7 +95,7 @@ def loadTests(tc, type="runtime"):
89 suite.dependencies.append(dep_suite) 95 suite.dependencies.append(dep_suite)
90 break 96 break
91 else: 97 else:
92 bb.warn("Test %s was declared as @skipUnlessPassed('%s') but that test is either not defined or not active. Will run the test anyway." % 98 logger.warning("Test %s was declared as @skipUnlessPassed('%s') but that test is either not defined or not active. Will run the test anyway." %
93 (test, depends_on)) 99 (test, depends_on))
94 # Use brute-force topological sort to determine ordering. Sort by 100 # Use brute-force topological sort to determine ordering. Sort by
95 # depth (higher depth = must run later), with original ordering to 101 # depth (higher depth = must run later), with original ordering to
@@ -114,19 +120,26 @@ def custom_verbose(msg, *args, **kwargs):
114 _buffer += msg 120 _buffer += msg
115 else: 121 else:
116 _buffer += msg 122 _buffer += msg
117 bb.plain(_buffer.rstrip("\n"), *args, **kwargs) 123 try:
124 bb.plain(_buffer.rstrip("\n"), *args, **kwargs)
125 except NameError:
126 logger.info(_buffer.rstrip("\n"), *args, **kwargs)
118 _buffer = "" 127 _buffer = ""
119 128
120def runTests(tc, type="runtime"): 129def runTests(tc, type="runtime"):
121 130
122 suite = loadTests(tc, type) 131 suite = loadTests(tc, type)
123 bb.note("Test modules %s" % tc.testslist) 132 logger.info("Test modules %s" % tc.testslist)
124 if hasattr(tc, "tagexp") and tc.tagexp: 133 if hasattr(tc, "tagexp") and tc.tagexp:
125 bb.note("Filter test cases by tags: %s" % tc.tagexp) 134 logger.info("Filter test cases by tags: %s" % tc.tagexp)
126 bb.note("Found %s tests" % suite.countTestCases()) 135 logger.info("Found %s tests" % suite.countTestCases())
127 runner = unittest.TextTestRunner(verbosity=2) 136 runner = unittest.TextTestRunner(verbosity=2)
128 if bb.msg.loggerDefaultVerbose: 137 try:
129 runner.stream.write = custom_verbose 138 if bb.msg.loggerDefaultVerbose:
139 runner.stream.write = custom_verbose
140 except NameError:
141 # Not in bb environment?
142 pass
130 result = runner.run(suite) 143 result = runner.run(suite)
131 144
132 return result 145 return result