例子:
from pytest import fixture, skip
@fixture(params=['a', 'b'])
def f1(request):
yield request.param
params = [('a', 1), ('a', 2), ('b', 10), ('b', 20)]
@fixture(params=params, ids=[str(x) for x in params])
def f2(f1, request):
if request.param[0] == f1:
yield request.param[1]
else:
skip('invalid')
def test_foo(f1, f2):
return
Run Code Online (Sandbox Code Playgroud)
那是一个“基础”装置f1。然后,“堆叠”灯具f2应该产生价值(1, 2)的f1='a'价值观和(10, 20)对f1='b'
给出:
a.py::test_foo[a-('a', 1)] PASSED
a.py::test_foo[a-('a', 2)] PASSED
a.py::test_foo[a-('b', 10)] SKIPPED
a.py::test_foo[a-('b', 20)] SKIPPED
a.py::test_foo[b-('a', 1)] SKIPPED
a.py::test_foo[b-('a', 2)] SKIPPED
a.py::test_foo[b-('b', 10)] PASSED
a.py::test_foo[b-('b', …Run Code Online (Sandbox Code Playgroud) 这个问题已在http://www.gossamer-threads.com/lists/linux/kernel/1210167中提出,但我没有看到答案.
AFAIK/proc/sys/kernel/random/entropy_avail应返回可用熵的大小,但不应使用它.至少我没有看到任何理由.
但是,至少一年我一直注意到和OP一样,现在我连续执行了
% cat /proc/sys/kernel/random/entropy_avail
3918
% cat /proc/sys/kernel/random/entropy_avail
3447
% cat /proc/sys/kernel/random/entropy_avail
2878
% cat /proc/sys/kernel/random/entropy_avail
2377
% cat /proc/sys/kernel/random/entropy_avail
1789
% cat /proc/sys/kernel/random/entropy_avail
1184
% cat /proc/sys/kernel/random/entropy_avail
577
% cat /proc/sys/kernel/random/entropy_avail
161
% cat /proc/sys/kernel/random/entropy_avail
133
% cat /proc/sys/kernel/random/entropy_avail
171
Run Code Online (Sandbox Code Playgroud)
过了一会儿我用同样的结果做了同样的事情,所以我很确定熵的耗尽是由cat命令引起的.
谁能解释为什么会这样?
我认为没有这样的选择 date
/proc/uptime 是基于引导的,而不是单调的.
最后我发现cat /proc/timer_list | grep now,ktime_get如果我理解正确的话,会产生nsecs的数量,通过它返回单调时间,但这非常麻烦.
update:返回的值必须与返回的值相同clock_gettime
重命名之类的东西适用于文件但适用于符号链接目标.
所以,如果我有
link1 -> /usr/share/lib-1.2.2/file1
link2 -> /usr/share/lib-1.2.2/file2
Run Code Online (Sandbox Code Playgroud)
我可以
rename 1.2.2 2.0.3 link*
Run Code Online (Sandbox Code Playgroud)
并有
link1 -> /usr/share/lib-2.0.3/file1
link2 -> /usr/share/lib-2.0.3/file2
Run Code Online (Sandbox Code Playgroud)