小编yac*_*ccz的帖子

如何创建一个依赖于另一个参数化夹具值的参数化夹具?

例子:

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)

python pytest

10
推荐指数
1
解决办法
292
查看次数

阅读entropy_avail文件似乎消耗熵

这个问题已在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命令引起的.

谁能解释为什么会这样?

linux entropy

9
推荐指数
1
解决办法
6998
查看次数

你如何在shell中获得clock_gettime(2)时钟?

我认为没有这样的选择 date

/proc/uptime 是基于引导的,而不是单调的.

最后我发现cat /proc/timer_list | grep now,ktime_get如果我理解正确的话,会产生nsecs的数量,通过它返回单调时间,但这非常麻烦.

update:返回的值必须与返回的值相同clock_gettime

linux time

7
推荐指数
3
解决办法
6684
查看次数

有没有一种简单的方法来批量重命名符号链接目标?

重命名之类的东西适用于文件但适用于符号链接目标.

所以,如果我有

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)

linux shell

4
推荐指数
2
解决办法
3000
查看次数

标签 统计

linux ×3

entropy ×1

pytest ×1

python ×1

shell ×1

time ×1