Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
avocado
提交
c0aeb39d
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,发现更多精彩内容 >>
提交
c0aeb39d
编写于
9月 03, 2014
作者:
L
Lucas Meneghel Rodrigues
提交者:
Lucas Meneghel Rodrigues
9月 03, 2014
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #187 from adereis/job_id_refactoring
Refactoring unique job ID generation
上级
75952d6a
e2c56967
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
18 addition
and
16 deletion
+18
-16
avocado/core/data_dir.py
avocado/core/data_dir.py
+1
-1
avocado/core/job_id.py
avocado/core/job_id.py
+7
-13
avocado/job.py
avocado/job.py
+2
-2
selftests/all/functional/avocado/basic_tests.py
selftests/all/functional/avocado/basic_tests.py
+8
-0
未找到文件。
avocado/core/data_dir.py
浏览文件 @
c0aeb39d
...
...
@@ -219,7 +219,7 @@ def get_job_logs_dir(args=None, unique_id=None):
logdir
=
get_logs_dir
()
# Stand alone tests handling
if
unique_id
is
None
:
unique_id
=
job_id
.
get
_job_id
()
unique_id
=
job_id
.
create_unique
_job_id
()
debugbase
=
'job-%s-%s'
%
(
start_time
,
unique_id
[:
7
])
debugdir
=
path
.
init_dir
(
logdir
,
debugbase
)
...
...
avocado/core/job_id.py
浏览文件 @
c0aeb39d
...
...
@@ -12,25 +12,19 @@
# Copyright: Red Hat Inc. 2013-2014
# Authors: Lucas Meneghel Rodrigues <lmr@redhat.com>
import
hashlib
import
random
import
socket
import
time
_RAND_POOL
=
random
.
SystemRandom
()
_HOSTNAME
=
socket
.
gethostname
()
def
get
_job_id
():
def
create_unique
_job_id
():
"""
Create a job ID SHA1.
Create a 40 digit hex number to be used as a job ID string.
(similar to SHA1)
:return:
SHA1
string
:return:
40 digit hex number
string
:rtype: str
"""
info
=
'%s-%s-%s'
%
(
_HOSTNAME
,
time
.
strftime
(
'%Y-%m-%dT%H:%M:%S'
),
_RAND_POOL
.
getrandbits
(
64
))
h
=
hashlib
.
sha1
()
h
.
update
(
info
)
return
h
.
hexdigest
()
n
=
_RAND_POOL
.
getrandbits
(
160
)
return
str
(
hex
(
n
))[
2
:
-
1
]
avocado/job.py
浏览文件 @
c0aeb39d
...
...
@@ -287,9 +287,9 @@ class Job(object):
"""
self
.
args
=
args
if
args
is
not
None
:
self
.
unique_id
=
args
.
unique_job_id
or
job_id
.
get
_job_id
()
self
.
unique_id
=
args
.
unique_job_id
or
job_id
.
create_unique
_job_id
()
else
:
self
.
unique_id
=
job_id
.
get
_job_id
()
self
.
unique_id
=
job_id
.
create_unique
_job_id
()
self
.
logdir
=
data_dir
.
get_job_logs_dir
(
self
.
args
,
self
.
unique_id
)
self
.
logfile
=
os
.
path
.
join
(
self
.
logdir
,
"job.log"
)
self
.
idfile
=
os
.
path
.
join
(
self
.
logdir
,
"id"
)
...
...
selftests/all/functional/avocado/basic_tests.py
浏览文件 @
c0aeb39d
...
...
@@ -200,6 +200,14 @@ class RunnerOperationTest(unittest.TestCase):
self
.
assertNotIn
(
'needs to be a 40 digit hex'
,
result
.
stderr
)
self
.
assertIn
(
'SKIP'
,
result
.
stderr
)
def
test_automatic_unique_id
(
self
):
cmd_line
=
'./scripts/avocado run skiptest --json -'
result
=
process
.
run
(
cmd_line
,
ignore_status
=
True
)
self
.
assertEqual
(
0
,
result
.
exit_status
)
r
=
json
.
loads
(
result
.
stdout
)
int
(
r
[
'job_id'
],
16
)
# it's an hex number
self
.
assertEqual
(
len
(
r
[
'job_id'
]),
40
)
class
RunnerDropinTest
(
unittest
.
TestCase
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录