Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
avocado
提交
0ba51736
A
avocado
项目概览
openeuler
/
avocado
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
avocado
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0ba51736
编写于
11月 27, 2015
作者:
L
Lucas Meneghel Rodrigues
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #897 from ldoktor/split
avocado.utils.process: Improve detection to run cmd in GDB [v2]
上级
0e9c4ca0
014867f3
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
16 addition
and
1 deletion
+16
-1
avocado/utils/process.py
avocado/utils/process.py
+9
-1
selftests/unit/test_utils_process.py
selftests/unit/test_utils_process.py
+7
-0
未找到文件。
avocado/utils/process.py
浏览文件 @
0ba51736
...
@@ -864,7 +864,15 @@ def should_run_inside_gdb(cmd):
...
@@ -864,7 +864,15 @@ def should_run_inside_gdb(cmd):
:param cmd: the command arguments, from where we extract the binary name
:param cmd: the command arguments, from where we extract the binary name
"""
"""
if
not
gdb
.
GDB_RUN_BINARY_NAMES_EXPR
:
return
False
try
:
args
=
shlex
.
split
(
cmd
)
args
=
shlex
.
split
(
cmd
)
except
ValueError
:
log
.
warning
(
"Unable to check whether command '%s' should run inside "
"GDB, fallback to simplified method..."
,
cmd
)
args
=
cmd
.
split
()
cmd_binary_name
=
os
.
path
.
basename
(
args
[
0
])
cmd_binary_name
=
os
.
path
.
basename
(
args
[
0
])
for
expr
in
gdb
.
GDB_RUN_BINARY_NAMES_EXPR
:
for
expr
in
gdb
.
GDB_RUN_BINARY_NAMES_EXPR
:
...
...
selftests/unit/test_utils_process.py
浏览文件 @
0ba51736
...
@@ -33,6 +33,13 @@ class TestGDBProcess(unittest.TestCase):
...
@@ -33,6 +33,13 @@ class TestGDBProcess(unittest.TestCase):
self
.
assertTrue
(
process
.
should_run_inside_gdb
(
'bar 1 2 3'
))
self
.
assertTrue
(
process
.
should_run_inside_gdb
(
'bar 1 2 3'
))
self
.
assertTrue
(
process
.
should_run_inside_gdb
(
'/usr/bin/bar 1 2 3'
))
self
.
assertTrue
(
process
.
should_run_inside_gdb
(
'/usr/bin/bar 1 2 3'
))
def
test_should_run_inside_gdb_malformed_command
(
self
):
gdb
.
GDB_RUN_BINARY_NAMES_EXPR
=
[
'/bin/virsh'
]
cmd
=
"""/bin/virsh node-memory-tune --shm-sleep-millisecs ~!@#$%^*()-=[]{}|_+":;'`,>?. """
self
.
assertTrue
(
process
.
should_run_inside_gdb
(
cmd
))
self
.
assertFalse
(
process
.
should_run_inside_gdb
(
"foo bar baz"
))
self
.
assertFalse
(
process
.
should_run_inside_gdb
(
"foo ' "
))
def
test_get_sub_process_klass
(
self
):
def
test_get_sub_process_klass
(
self
):
gdb
.
GDB_RUN_BINARY_NAMES_EXPR
=
[]
gdb
.
GDB_RUN_BINARY_NAMES_EXPR
=
[]
self
.
assertIs
(
process
.
get_sub_process_klass
(
'/bin/true'
),
self
.
assertIs
(
process
.
get_sub_process_klass
(
'/bin/true'
),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录