gpt4 book ai didi

unit-testing - 编写一个需要段错误的 Rust 测试

转载 作者:行者123 更新时间:2023-11-29 08:23:17 25 4
gpt4 key购买 nike

我想用 Rust 编写一个测试,其中 #[test] 函数的预期行为是段错误。这可能吗?

最佳答案

首先,我想指出,我所知道的唯一可靠的段错误方法是将 SIGSEGV 信号发送到您自己的进程,可能使用“raise”函数或 rust 等效函数。

取消引用指向未分配内存的指针或空指针实际上并不能保证出现段错误,尽管它在大多数现代平台上都会出现。

检查段错误的最简单方法是 fork 您的程序(可能使用 nix crate )。完成后,在父进程等待时执行应该让您在子进程上出现段错误的函数。

等待足够长的时间后(任何超过几百毫秒都是多余的),检查子线程是否已死。为此,只需将其杀死,如果它已经死亡,则应引发错误。

关于unit-testing - 编写一个需要段错误的 Rust 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55184513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com