提交 b54aec68 编写于 作者: C Cleber Rosa

Glib Plugin: don't attempt to run test reference if not an executable

This prevents the plugin from trying to run references such as
Avocado-VT tests or any other that is not backed by an executable
file.
Signed-off-by: NCleber Rosa <crosa@redhat.com>
上级 1801e6c6
......@@ -16,8 +16,10 @@
Plugin to run GLib Test Framework tests in Avocado
"""
import os
import re
from avocado.utils import path
from avocado.utils import process
from avocado.core import loader
......@@ -82,21 +84,24 @@ class GLibLoader(loader.TestLoader):
if ':' in reference:
reference, _subtests_filter = reference.split(':', 1)
subtests_filter = re.compile(_subtests_filter)
try:
cmd = '%s -l' % (reference)
result = process.run(cmd)
except Exception as details:
if which_tests == loader.ALL:
return [(NotGLibTest,
{"name": "%s: %s" % (reference, details)})]
return []
for test in result.stdout.splitlines():
test_name = "%s:%s" % (reference, test)
if subtests_filter and not subtests_filter.search(test_name):
continue
avocado_suite.append((GLibTest, {'name': test_name,
'executable': test_name}))
if (os.path.isfile(reference) and
path.PathInspector(reference).has_exec_permission()):
try:
cmd = '%s -l' % (reference)
result = process.run(cmd)
except Exception as details:
if which_tests == loader.ALL:
return [(NotGLibTest,
{"name": "%s: %s" % (reference, details)})]
return []
for test in result.stdout.splitlines():
test_name = "%s:%s" % (reference, test)
if subtests_filter and not subtests_filter.search(test_name):
continue
avocado_suite.append((GLibTest, {'name': test_name,
'executable': test_name}))
if which_tests is loader.ALL and not avocado_suite:
return [(NotGLibTest,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册